До 207 веб-сайтов были заражены вредоносным кодом, предназначенным для запуска криптовалютного майнера с помощью WebAssembly (Wasm) в браузере.
Компания по веб-безопасности Sucuri, опубликовавшая подробности кампании, заявила, что начала расследование после того, как у одного из ее клиентов компьютер значительно замедлялся каждый раз при переходе на собственный WordPress-портал.
В результате была обнаружена компрометация файла темы для внедрения вредоносного JavaScript-кода с удаленного сервера - hxxps://wm.bmwebm[.]org/auto.js - который загружается при каждом обращении к странице сайта.
«После расшифровки содержимое auto.js сразу же раскрывает функциональность криптомайнера, который начинает майнинг, когда посетитель заходит на взломанный сайт» - сообщил исследователь вредоносного ПО компании Sucuri Сезар Анжос.
Более того, деобфусцированный код auto.js использует WebAssembly для выполнения низкоуровневого двоичного кода непосредственно в браузере.
WebAssembly, который поддерживается всеми основными браузерами, представляет собой формат двоичных инструкций, который обеспечивает повышение производительности по сравнению с JavaScript, позволяя компилировать приложения, написанные на таких языках, как C, C++ и Rust, в низкоуровневый язык, похожий на ассемблер, который может быть запущен непосредственно в браузере.
«При использовании в веб-браузере Wasm работает в собственной изолированной среде» - сказал Анжос. «Поскольку он уже скомпилирован в формат ассемблера, браузер может читать и выполнять его операции со скоростью, с которой не может сравниться сам JavaScript2.
Домен wm.bmwebm[.]org, контролируемый злоумышленником, был зарегистрирован в январе 2021 года, что означает, что инфраструктура оставалась активной более 1,5 лет, не привлекая никакого внимания.
Кроме того, домен также способен автоматически генерировать файлы JavaScript, которые маскируются под безобидные на первый взгляд файлы или легитимные сервисы, такие как Google Ads (например, adservicegoogle.js, wordpresscore.js и facebook-sdk.js), чтобы скрыть свое вредоносное поведение.
«Эта функциональность также позволяет злоумышленнику внедрять скрипты в несколько мест на взломанном сайте и сохранять видимость того, что инъекции «принадлежат» среде» - отметил Анжос.
Это не первый случай, когда способность WebAssembly запускать высокопроизводительные приложения на веб-страницах поднимает потенциальные красные флажки безопасности.
Если не принимать во внимание тот факт, что двоичный формат Wasm делает обнаружение и анализ обычными антивирусными системами более сложным, эта техника может открыть дверь для более сложных браузерных атак, таких как электронный скимминг, которые могут оставаться незамеченными в течение длительного периода времени.
Еще больше усложняет ситуацию отсутствие проверок целостности модулей Wasm, что фактически делает невозможным определить, было ли приложение взломано.
В качестве иллюстрации слабых мест WebAssembly в области безопасности в исследовании 2020 года, проведенном группой ученых из Университета Штутгарта и Университета Бундесвера в Мюнхене, были обнаружены проблемы безопасности, которые можно использовать для записи в произвольную память, перезаписи конфиденциальных данных и перехвата потока управления.
Последующее исследование, опубликованное в ноябре 2021 года на основе перевода 4469 программ на языке C с известными уязвимостями переполнения буфера в Wasm, показало, что «компиляция существующей программы на языке C в WebAssembly без дополнительных мер предосторожности может нарушить ее безопасность».
Источник: https://thehackernews.com