
Пассивная и активная угроза: два сценария атаки на криптовалютные транзакции
Экосистема JavaScript столкнулась с серьёзной угрозой: злоумышленникам удалось взломать аккаунт известного разработчика на платформе NPM. Они внедрили вредоносный код в популярные пакеты, которые используются для создания веб-приложений по всему миру. Целью атаки стали средства пользователей криптовалютных кошельков.
Масштабы инцидента
По словам технического директора Ledger Шарля Гийме, произошла масштабная атака на цепочку поставок программного обеспечения. Скомпрометированные пакеты, по его данным, были скачаны более миллиарда раз, что создаёт угрозу для огромного количества проектов.
"Произошла масштабная атака на цепочку поставок: был скомпрометирован аккаунт авторитетного разработчика на NPM. Затронутые пакеты уже скачали более миллиарда раз, что означает угрозу для всей экосистемы JavaScript", — отметил технический директор Ledger Шарль Гийме.
Как произошел взлом
Разработчиком, чей аккаунт был скомпрометирован, оказался Джош Джунон. Он стал жертвой фишинговой атаки. На его почту пришло письмо, маскировавшееся под официальное уведомление от поддержки NPM. В нём содержалось требование обновить двухфакторную аутентификацию (2FA) под угрозой блокировки аккаунта. Перейдя по fraudulent ссылке, Джош предоставил хакерам доступ к своим популярным пакетам, таким как Chalk.
Первым тревожным звоночком для сообщества стал странный сбой в системе автоматической сборки проектов (CI/CD). Пользователь под ником JD и его коллега, расследуя причину, обнаружили в коде подозрительные фрагменты, которые были намеренно усложнены для маскировки.
"Злоумышленник встроил в код вредоносную программу, которая ищет и крадет криптовалюту. Вызов функции fetch, из-за которого сломалась наша сборка, был попыткой этой программы отправить украденные данные. Сборка провалилась только потому, что версия Node. js была устаревшей и не поддерживала функцию fetch. В более современной среде атака могла бы остаться незамеченной", — добавил JD.
Механизм работы угрозы
Вредоносный код был нацелен на кражу ключевых криптовалют: Bitcoin (BTC), Ethereum (ETH), Solana (SOL), Tron (TRX), Litecoin (LTC) и Bitcoin Cash (BCH). Его работа заключалась в подмене адресов получателей во время транзакций. Сделано это было двумя основными способами.
- Пассивный метод. Если на сайте не был обнаружен активный кошелек, код тихо изменял базовые функции браузера. Чтобы подмена была менее заметной, использовался алгоритм Левенштейна для поиска в списке хакеров адреса, максимально похожего на настоящий.
- Активный метод. В момент подписатия транзакции вредонос вмешивался в процесс и в последний момент подменял адрес получателя. Если пользователь не проверял данные вручную, средства уходили злоумышленникам.
Важность ручной проверки
Эксперты единогласно заявляют, что главная защита от подобных атак — это внимание самого пользователя. Основатель DeFi Llama под псевдонимом 0xngmi пояснил, что код не может опустошить кошелёк без явного подтверждения транзакции самим владельцем.
"Хакер может внедрить зараженный код в любой сайт, который использует взломанную зависимость npm. Например, когда вы нажимаете кнопку "обмен", вредонос может подменить транзакцию и отправить деньги хакеру. Однако в кошельке вы все равно увидите эту подозрительную операцию и должны будете ее одобрить — ваши средства не уведут мгновенно", — заявил основатель DeFi Llama 0xngmi.
Руководитель отдела развития экосистемы Okto Минал Тукрал подчеркивает, что экран финального подтверждения — это последний рубеж обороны.
"Экран финального подтверждения — ваша последняя линия защиты. Внимательно проверяйте каждый символ адреса получателя в приложении или на экране аппаратного кошелька перед подтверждением любой транзакции", — отметил руководитель отдела развития экосистемы Okto Минал Тукрал.
Пользователи аппаратных кошельков, которые физически подтверждают каждую операцию на отдельном устройстве, находятся в большей безопасности, так как у них есть возможность тщательно сверить все детали транзакции.
Устранение угрозы
По заявлению разработчика под ником ultra, скомпрометированные пакеты были исправлены 8 сентября. Инженер-программист cygaar подтвердил, что команда NPM оперативно отключила вредоносные версии пакетов, предотвратив дальнейшее распространение угрозы.
Благодаря быстрой реакции сообщества и своевременному обнаружению, ущерб от этой изощрённой атаки, по данным Security Alliance, пока оказался невелик и ограничился суммой в 50 долларов.
Подписывайтесь на Moneytimes.Ru