Опасность из облака: заброшенные хранилища AWS S3 распространяют вредоносный код через пакеты npm

Киберпреступники нашли способ внедрить свой вредоносный код в пакеты npm, не меняя исходный код. Они использовали S3-бакеты AWS, которые были заброшены их владельцами, и заменили в них бинарные файлы, необходимые для работы пакетов.

Атака была обнаружена специалистами компании Checkmarx, которые изучили случай компрометации пакета “bignum”. Этот пакет распространял вредоносный бинарный файл, который похищал личные данные пользователей и отправлял их в захваченный S3-бакет.

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

S3-бакеты AWS – это облачные хранилища данных, которые могут использоваться для хостинга веб-сайтов или резервного копирования данных. Бакеты доступны по уникальным URL-адресам, но их владельцы могут забыть о хранилище или перестать им пользоваться. Тогда киберпреступник может захватить бакет и изменить его содержимое.

Пакет “bignum” использовал инструмент node-gyp для загрузки бинарного файла из S3-бакета. Когда бакет стал недоступен, злоумышленник захватил его и поместил туда свой вредоносный бинарный файл. А когда пользователи загружали или переустанавливали пакет bignum, они также загружали файл злоумышленника.

Вредоносный бинарный файл, написанный на C++ работал так же, как и оригинальный, но также собирал учётные данные пользователей и отправлял их в скомпрометированный S3-бакет.

Атака показывает, как важно следить за безопасностью своих S3-бакетов и не оставлять их без присмотра. Также рекомендуется проверять источник бинарных файлов, которые загружаются из пакетов npm. Пользователи npm могут использовать специальные инструменты, такие как npm audit или snyk, для обнаружения уязвимостей в своих зависимостях.

Public Release.