Крупнейшая в истории атака на цепочку поставок ПО: через npm распространяли вредоносный код для кражи криптовалюты
Восемнадцать пакетов JavaScript с еженедельным количеством загрузок более 2 миллиардов были заражены вредоносным кодом в рамках крупнейшей в истории атаки на цепочку поставок программного обеспечения. Скомпрометированный код был предназначен для кражи криптовалюты.
Аналитическая компания Aikido сообщила, что 18 пакетов «были обновлены и содержали фрагмент кода, который выполнялся на стороне клиента веб-сайта, незаметно перехватывая операции с криптовалютой и web3-активность в браузере, манипулируя взаимодействием с кошельками и переписывая направления платежей так, что средства и подтверждения перенаправлялись на контролируемые злоумышленниками счета без каких-либо очевидных признаков для пользователя».
Речь идет о пакетах, распространяемых через npm — менеджер пакетов и реестр GitHub для экосистемы Node.js. Они совокупно скачиваются примерно 2 миллиарда раз в неделю. Теоретически хакер мог использовать возможность модификации этих пакетов для чего угодно; в Aikido отметили, что злоумышленники выбрали попытку кражи «Ethereum, Bitcoin, Solana, Tron, Litecoin и Bitcoin Cash».
Мы не знаем, насколько широко распространились эти вредоносные пакеты. Сами пакеты скачиваются миллиарды раз в неделю, но это отчасти является побочным продуктом постоянной загрузки и повторной загрузки зависимостей проекта системами сборки программного обеспечения. Тем не менее, нельзя отрицать, что эти пакеты популярны, и организациям, чье программное обеспечение от них зависит, следует убедиться, что они не используют вредоносные версии.
Но была ли это хотя бы результатом сложной атаки? Нет. Сопровождающий этих пакетов (который, стоит отметить, использует псевдоним «bad-at-computer» в Bluesky) сообщил, что получил письмо о сбросе двухфакторной аутентификации, которое «выглядело очень legit» от «support@npmjs.help», и посчитал его безобидным. Это была фишинговая атака. Все, что потребовалось для взлома такого масштаба, — это доменное имя, электронное письмо и готовность попробовать.
Это не новая проблема, и она не ограничивается npm. Еще в 2021 году хакеры атаковали сопровождающих пакетов, которые используются разработчиками на JavaScript, Python, Ruby и Java. Даже тогда эта проблема была известна уже годами. Печально известный инцидент с left-pad — когда удаление 11 строк кода «сломало интернет» из-за огромной зависимости другого ПО, — произошел еще в 2016 году.
Отрасль пытается решить эту проблему, поощряя использование реестров компонентов программного обеспечения (SBOM), требуя от сопровождающих широко используемых пакетов защищать свои учетные записи с помощью двухфакторной аутентификации и т.д. Однако этот инцидент доказывает, что этих мер недостаточно. До тех пор, пока не изменятся общепринятые процессы разработки, сопровождения и выпуска программного обеспечения, эти проблемы будут сохраняться.
Источник: Tomshardware.com







0 комментариев