Хакеры внедрили вредоносное программное обеспечение (ПО) в популярные JavaScript-библиотеки в рамках, по словам экспертов, крупнейшей атаки на цепочку поставок за всю историю. Цель вредоносного кода — кража криптовалюты через подмену адресов кошельков и перехват транзакций.
Согласно ряду сообщений 8 сентября, злоумышленники получили доступ к аккаунту разработчика в системе управления пакетами NPM и тайно внедрили вредоносное ПО в популярные библиотеки, на которых работают миллионы приложений.
Вредоносный код меняет адреса кошельков или перехватывает их, что может поставить под угрозу огромное число проектов.
По теме: смарт-контракты Ethereum стали хранилищем вредоносных ссылок
«Идет масштабная атака на цепочку поставок. Аккаунт авторитетного разработчика в NPM был взломан. Зараженные пакеты уже скачали более миллиарда раз. Под угрозой может оказаться вся экосистема JavaScript», — сообщил технический директор Ledger Шарль Гийме.
Атака затронула библиотеки chalk, strip-ansi и color-convert — небольшие, но критически важные утилиты, встроенные в зависимости огромного числа проектов. Совокупно их скачивают более миллиарда раз в неделю, поэтому под угрозой оказались даже те разработчики, кто никогда не устанавливал их напрямую.
По теме: хакеры вывели $13,5 млн с кошелька пользователя Venus Protocol
NPM — это центральное хранилище пакетов, своего рода магазин приложений для разработчиков. Через него они обмениваются небольшими модулями, которые затем встраиваются в JavaScript-проекты.
Предполагается, что злоумышленники внедрили так называемый криптоклиппер — разновидность вредоносного кода, который незаметно подменяет адреса криптокошельков в процессе транзакций и перенаправляет средства на счета атакующих.
Исследователи предупреждают, что особой уязвимости подвержены пользователи программных кошельков. Те, кто подтверждает каждую транзакцию на аппаратном кошельке, в безопасности.
Предостережение пользователям
По словам основателя DefiLlama под ником Oxngmi, вредоносный код не может сам по себе опустошить кошелек — для этого пользователь должен подтвердить подозрительную транзакцию.
Поскольку зараженный JavaScript может изменить поведение кнопки на сайте, нажатие на кнопку обмена может отправить средства злоумышленнику.
Oxngmi добавил, что атака затрагивает только те проекты, которые обновились после публикации зараженного пакета. Многие разработчики «прикрепляют» зависимости к определенным версиям, поэтому продолжают использовать более старые и безопасные сборки.
Тем не менее пользователи не могут точно определить, какие сайты были обновлены безопасно. Поэтому рекомендуется избегать использования криптосервисов до устранения угрозы.
Взлом NPM начался с фишинга
Злоумышленники рассылали письма от имени службы поддержки NPM, угрожая блокировкой аккаунтов разработчиков пакетов, если те не «обновят» двухфакторную аутентификацию до 10 сентября.
Письма вели на поддельный сайт, где злоумышленники собирали логины и пароли. С их помощью они получили контроль над аккаунтами, а затем разместили зараженные обновления в библиотеках, которые скачивают миллиардами.
Исследователь из Aikido Security Чарли Эриксен рассказал BleepingComputer, что атака особенно опасна, потому что работает «на нескольких уровнях: изменяет контент на сайтах, вмешивается в API-запросы и подменяет то, что пользователи считают подписанными транзакциями».
По теме: Kerberus купила Pocket Universe для создания «первого криптоантивируса»