В популярный Javascript-пакет UAParser.js внедрили зловреда

В npm-пакет UAParser.js, который установлен у десятков миллионов пользователей, внедрили стилер паролей и майнер. Рассказываем, что делать.

Злоумышленники внедрили в npm-пакет UAParser.js стилер паролей и майнер. Вот, что рекомендуется сделать для защиты

Несколько версий UAParser.js, популярной JavaScript-библиотеки, были скомпрометированы — неизвестные злоумышленники внедрили в них вредоносный код. Все бы ничего, но эта библиотека используется во множестве проектов — согласно статистике на странице разработчика, каждую неделю ее скачивают от 6 до 8 миллионов раз.

Всего были скомпрометированы три версии библиотеки: 0.7.29, 0.8.0, и 1.0.0. Всем пользователям и администраторам следует срочно обновить библиотеки до версий 0.7.30, 0.8.1 и 1.0.1 соответственно.

Что такое UAParser.js и откуда у него миллионы загрузок

Библиотека UAParser.js служит для разбора строк user-agent, отправляемых браузером. Она используется на множестве веб-сайтов и в процессе разработки софта различных компаний, в том числе Facebook, Apple, Amazon, Microsoft, Slack, IBM, HPE, Dell, Oracle, Mozilla. Более того, среди пользователей библиотеки есть популярные проекты вроде фреймворка Karma для тестирования кода, которые сами по себе используются многими другими разработчиками. Это еще больше увеличивает масштабы атаки, добавляя дополнительное звено в цепочке поставок.

Что за вредоносный код и чем он опасен

Встроенные в библиотеку скрипты служили для скачивания с посторонних серверов и выполнения на компьютерах жертвы вредоносного кода, причем как под Linux, так и под Windows. Один из зловредов должен был майнить на машинах жертв криптовалюту. Второй модуль (работающий исключительно под Windows) был способен похищать конфиденциальную информацию (файлы куки из браузера, пароли и учетные данные от операционных систем).

Впрочем, дело может этим не ограничиться: согласно предупреждению специалистов Агентства по кибербезопасности и защите инфраструктуры США (CISA), установка скомпрометированных библиотек могла позволить злоумышленникам захватить контроль над системой.

По сообщениям пользователей GitHub, криптомайнер создает исполняемые файлы jsextension (под Linux) и jsextension.exe (под Windows). Их наличие служит явным признаком компрометации системы.

Как вредоносный код попал в библиотеку UAParser.js

По сообщению автора проекта, Файсала Салмана, кто-то пока неустановленным образом получил доступ к его учетной записи в репозитории npm. После чего злоумышленник опубликовал три вредоносных версии библиотеки UAParser.js. Разработчик незамедлительно снабдил скомпрометированные пакеты предупреждением и связался с поддержкой npm, которая вскоре убрала опасные версии. Однако за то время, что они были в свободном доступе, зараженные библиотеки могли распространиться на значительное количество машин.

По всей видимости, они находились онлайн немногим больше четырех часов — с 14:15 до 18:23 по центральноевропейскому времени 22 октября. Вечером разработчик заметил нездоровую спам-активность в своем почтовом ящике — по его словам, это стало для него сигналом, что происходит что-то подозрительное, — и обнаружил корень проблемы. Трудно сказать, сколько раз за это время были загружены зараженные библиотеки, но в течение трёх дней с момента появления, размещенный в них вердоносный код был детектирован защитными решениями нескольких десятков наших корпоративных клиентов по всему миру.

Что делать тем, кто скачал зараженные библиотеки

Первым делом следует проверить компьютеры на наличие вредоносного ПО. Все компоненты зловредов, использовавшиеся в атаке, успешно детектируются нашими продуктами.

Далее следует обновить библиотеки до безопасных версий 0.7.30, 0.8.1 и 1.0.1. Но этого мало, по мнению экспертов команды GitHub, любой компьютер, на котором был установлен или выполнен зараженный вариант библиотеки, следует считать полностью скомпрометированным. Поэтому все учетные данные, которые использовались на этих компьютерах, следует сменить.

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

Советы