Еще на прошлой неделе специалисты обнаружили, что злоумышленники получили легитимный доступ к популярной JavaScript -библиотеке event-stream и внедрили в неё вредоносный код. Разобраться в обфусцированном коде удалось не сразу, и только теперь стало ясно, что целью атаки было хищение Bitcoin и Bitcoin Cash из кошельков Copay.

Называя event-stream популярной, мы ничуть не лукавим: из репозитория npm.org библиотеку загружают около 2 млн раз еженедельно. Однако около трех месяцев назад ее оригинальный автор оставил разработку, в силу отсутствия интереса и свободного времени, и передал event-stream другому, постороннему девелоперу, известному как Right9ctrl. Тот просто пообещал продолжить работу над проектом, и этого оказалось достаточно.

Как оказалось, вскоре после передачи управления новый разработчик внедрил в библиотеку вредоносный код. Так, малварь появилась в коде с релизом event-stream 3.3.6, содержавшим новую зависимость от библиотеки flatmap-stream версии 0.1.1. Именно там и таился вредоносный код. В итоге все версии Copay, вышедшие в сентябре, октябре и ноябре текущего года, были заражены.

Согласно сообщениям пользователей и исследователей, опубликованным в Twitter, на GitHub и Hacker News, вредоносная функциональность была неактивна, пока не использовалась с кодом мобильной или декстопной версии кошелька Copay, принадлежащего платформе BitPay. Как только это происходило, вредонос проникал в код и нацеливался на хищение информации о кошельках пользователей, включая их приватные ключи. Данные передавались на copayapi[.]host, 51.38.112.212 145.249.104.239, 111.90.151.134, порт 8080. Затем атакующий использовал собранную информацию для опустошения кошельков пользователей.

Глава безопасности NPM, Адам Болдуин ( Adam Baldwin) прокомментировал журналистам The Register, что атака была узконаправленной и весьма умной, так, пейлод расшифровывался лишь оказавшись в определенном окружении. Представители Copay, в свою очередь, пишут, что атака была направлена на конкретных разработчиков Copay, и пейлоад не выполнялся на их машинах, вместо этого злоумышленник внедрял свою малварь в их приложения, нацеливаясь на конечных пользователей этих продуктов.

Вчера, 26 ноября 2018 года, разработчики BitPay выпустили исправленную версию Copay v5.2.2, из которой исключили зависимости от event-stream и flatmap-stream. Так как приватные ключи пострадавших кошельков нужно рассматривать как скомпрометированные, пользователей призывают срочно переместить средства в новые кошельки. Вредоносные библиотеки (event-stream v3.3.6 и flatmap-stream) также были исключены из репозитория npm.org.

Нужно отметить, что это далеко не первая атака такого рода за последние месяцы. К примеру, летом текущего года похожим образом была скомпрометирована библиотека eslint-scope, и тогда вредоносный код похищал учетные данные разработчиков.

Оставить мнение