Как защитить веб-сайт от скрытого майнинга

Как защитить веб-сайт от скрытого майнинга

В условиях, когда даже правительственные сайты США и Великобритании становятся жертвами злоумышленников, устанавливающих на них скрипты для майнинга криптовалюты, владельцев веб-ресурсов интересует актуальный вопрос — как же защититься от так называемого криптоджекинга. На этот вопрос, как и на все, из него вытекающие, мы попытаемся ответить здесь.

 

 

 

 

  1. Введение
  2. Как разворачиваются подобного рода атаки
  3. Что можно предпринять
  4. Решение проблемы путем мониторинга веб-страницы в реальном времени
  5. Выводы

Введение

Первым делом, услышав о компрометации таких серьезных правительственных ресурсов, мы задаемся вопросом — как же такое реализовали киберпреступники. Возьмем за аксиому тот факт, что самим владельцам сайтов в данном случае не было никакого смысла размещать на своих площадках скрипт для майнинга криптовалюты. Тогда как же они допустили такое? Все дело оказалось в стороннем WordPress-плагине Browsealoud, используемом на 4 000 сайтах, вредоносная копия которого распространялась в течение четырех часов.

Как разворачиваются подобного рода атаки

Проблема атакованных криптоджекингом сайтов заключалась в том, что они загружали файл со стороннего ресурса. Таким образом, загружая JavaScript напрямую из стороннего источника, эти ресурсы становились уязвимыми к атакам типа инъекции. Подобная атака была реализована в предполагаемом взломе jQuery CDN, из-за которого посетителей сайтов, загружавших jQuery непосредственно из их инфраструктуры CDN, атаковали набором эксплойтов.

Такой расклад крайне привлекателен для киберпреступников, которые могут атаковать динамически загружаемые зависимости. Никогда нельзя быть уверенным в том, что злоумышленники не скомпрометируют сторонних провайдеров, что позволит им использовать их в качестве средства для вредоносных инъекций.

Что можно предпринять

Одним из способов противодействия криптоджекингу является добавление атрибутов Subresource integrity (SRI) к элементам сценария, загружающего внешние скрипты. Также можно добавить механизм Content Security Policy (CSP, политика защиты контента), с помощью которого можно защищаться от атак с внедрением контента.

Однако у таких подходов есть свои минусы — например, если вам надо регулярно обновлять скрипт зависимостей. CSP помогает ограничить загрузку внешнего JavaScript на веб-сайт, но он не предназначен для обеспечения целостности сценариев, которые предполагается загрузить.

Таким образом, реализовать CSP на основе белого списка — сомнительная идея, опытный злоумышленник, вероятно, все равно найдет способ обойти этот механизм, так как он не предотвращает инъекцию кода из внешних источников, которые, например, могут располагаться на доменах из белого списка.

Решение проблемы путем мониторинга веб-страницы в реальном времени

Если у вас нет гарантированного способа предотвратить инъекцию злонамеренного кода на сайт, возможно, стоит мониторить его внедрение и реагировать в режиме реального времени. Контролируя DOM и среду JavaScript на предмет любой инъекции, сайт может рапортовать на бекенд, используя механизм webhook. Такая схема позволит обнаружить любые изменения, что поможет остановить не только известные, но и 0-day угрозы.

Об обнаружении аномалии будут уведомляться команды безопасников, которые смогут оперативно устранить внедренный злонамеренный код. Такой подход крайне полезен, так как с его помощью можно определить, куда именно было произведена вредоносная инъекция, а затем принять соответствующие меры для устранения бреши. Как уже было отмечено выше, это позволит противостоять угрозам нулевого дня.

Эксперты провели эксперимент, целью которого было захватить вывод вредоносного скрипта на веб-страницу и продемонстрировать, как можно противостоять этой кибератаке. Для этого на сайт был внедрен Embedded Agent, который мониторил DOM. Результаты этого эксперимента можно посмотреть на следующем видео:

Выводы

Решения, контролирующие веб-страницу в режиме реального времени, являются эффективной альтернативой иногда не справляющимся CSP (Политика Защиты Контента) и SRI. Они способны находить модификации DOM, атаки типа JS poisoning, перехваты событий JS и XSS, после чего рапортовать об обнаружении отклонений обратно на сервер. Это позволит веб-приложению мгновенно отреагировать.

С ростом популярности и значимости цифровых валют фокус киберпреступников постепенно смещается в сторону использования компьютеров пользователей для их добычи. Крайне наглядными примерами актуальности этой темы являются атаки на такие популярные веб-проекты, как Showtime и The Pirate Bay.

Все эти недавние инциденты служат напоминанием о том, насколько привлекателен для злоумышленников криптоджекинг. Киберпреступников особо прельщает возможность компрометации сторонних решений, используемых на множестве веб-ресурсов, что позволит нанести сразу массовый удар. Эксперты полагают, что в ближайшее время количество и изощренность подобных кибератак будут только прогрессировать.

Отметим также, что в этих крупных инцидентах атакующие сосредоточились лишь на том, как добыть криптовалюту за счет пользователей, хотя внедренный злонамеренный JavaScript-код мог вполне позволить им собрать конфиденциальные данные. Это наталкивает на мысль о том, что нам стоит ожидать появления неких гибридных атак, в ходе которых злоумышленники будут не только майнить криптовалюту, но и собирать данные кредитных карт посетителей сайтов.

Смогут ли владельцы веб-сайтов защитить пользователей от подобной киберугрозы зависит от того, насколько подготовлены они будут к такого рода атакам. Поэтому всем веб-мастерам рекомендуется следить за развитием ситуации, трезво оценивать риски и использовать зарекомендовавшие себя методики противодействия.

Полезные ссылки: 
Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

RSS: Новые статьи на Anti-Malware.ru