Новая атака на цепочку поставок программного обеспечения, предназначенная для извлечения данных из приложений и веб-сайтов, была обнаружена в более чем двух десятках пакетов NPM.
Угроза -
Ранее в этом месяце ReversingLabs обнаружила IconBurst, атаку NPM на JavaScript, которая устанавливает вредоносные модули NPM, которые собирают данные из форм, встроенных в мобильные приложения и веб-сайты.
Распространение -
На данный момент распространение атаки не совсем ясно, однако она может привести к массовому заражению веб-сайтов и приложений, созданных разработчиками с использованием этих пакетов. Поскольку каждый разработчик может создать несколько сайтов, угроза возрастает. Поскольку некоторые пакеты загружаются десятки тысяч раз, предполагаемый масштаб может быть таким же широким, как и прошлые массовые заражения, такие как Log4J и SolarWinds. Хотя Log4J был более широко распространен, а SolarWinds оказал большее влияние, окончательный ущерб может быть столь же значительным.
Технология -
В пакетах используются скрипты jQuery, целью которых является украсть данные из развернутых приложений.
Кроме того, IconBurst использует обфускатор JavaScript, чтобы скрыть часть кода. Обфускатор обычно предназначен для защиты проприетарного кода в пакетах с открытым исходным кодом и сжатия файлов JavaScript. Однако IconBurst использует его, чтобы скрыть адрес эксфильтрации, используемый при извлечении сериализованных данных формы.
Это означает, что разработчики, неосознанно использующие эти поддельные пакеты, не являются целью атаки, а настоящей целью является конечный пользователь.
Инфекционное заболевание -
С начала этого года выявлено 24 упаковки, использующие методы тайпсквоттинга в качестве средства распространения.
Злоумышленники используют методы тайпсквоттинга, то есть выдают себя за законные пакеты через общедоступные репозитории, такие как NPM.
IconBurst фокусируется на пакетах, содержащих слово «Icon», олицетворяющих модули NPM с высоким трафиком, и предлагающих пакеты со сбивающими с толку частыми ошибками в написании имен.
Тайпсквоттинг — это форма киберсквоттинговой атаки и форма атаки социальной инженерии.
Зачем использовать «icon» в качестве базового ключевого слова — причина, вероятно, в пакете ionicons, который часто используется для предоставления значков в приложениях, созданных с использованием ionic framework.
Количество загрузок пакета icon-package превышает 17000 3700, что является самым загружаемым пакетом, и более XNUMX XNUMX загрузок пакета ionicio.
Флаг –
Так что же сделало РеверсингЛабс поднять пресловутый красный флаг? Javascript-обфускатор.
Как уже упоминалось, обфускатор Javascript предназначен для защиты приложений Javascript и позволяет разработчикам защитить код от копирования или обратного проектирования.
Однако недостатком этой возможности является то, что злоумышленники могут использовать ее для маскировки вредоносного кода.
Наличие обфускатора javascript заставило инженеров ReversingLabs проверить ряд пакетов NPM. Посмотрев на названия этих пакетов, выявилась закономерность. В некоторых из первых проверенных пакетов было слово «значок», и именно тогда стала ясна стратегия злоумышленников: опечатка и массовое заражение.
Злоумышленники не пытались специально нацеливаться на пакеты со значком слова, однако в конечном итоге большинство загруженных пакетов были связаны со значками из-за их популярности.
Ханс — «IconBurst»
Вот список:
Автор / Название пакета | Количество скачиваний | Имя исходного пакета |
---|---|---|
ионная иконка | 108 | иониконы |
ионисио | 3,724 | иониконы |
пакет значков | 17,774 | иониконы |
ajax-библиотеки | 2,440 | |
зонтики | 686 | зонтикjs |
ajax-библиотека | 530 | |
iconion-пакет | 101 | |
пакет-сидр | 91 | |
kbrstore | 89 | |
пакет иконок | 380 | |
субек | 99 | |
пакет-шоу | 103 | |
значок пакета | 122 | |
иконки-пакеты | 170 | |
ionicon-пакет | 64 | |
пакет иконок | 49 | |
значки пакетов | 468 | |
пакет иониконов | 89 | |
пакет-ionicons | 144 | |
пакет-ionicon | 57 | |
base64-Javascript | 40 | |
иониконс-js | 38 | |
иониконы-JSON | 39 | |
нижний значок | 1,903 | |
рев-01 | 40 | |
рев-02 | 37 | |
неделя100 | 38 | |
свипер-банди | 39 | Swiper |
ajax-libz | 40 | |
swiper-пакет | 185 | Swiper |
атез | 43 | |
ajax-googleapis | 38 | |
Тездоанк | 69 | |
аяксапис | 40 | |
Тескодек | 38 | |
атеззз | 114 | |
libz.jquery | 160 | |
ajax-библиотека | 36 |
Намерение -
IconBurst был разработан для конечного пользователя и предназначен для хранения данных, вводимых в формы. Другие атаки могут быть нацелены на другие виды данных или другие виды целевой аудитории, а не на конечных пользователей.
Но всегда ли злоумышленникам нужны данные? На самом деле нет, это не так. Мы видели и другие виды атак; злоумышленники использовали код, скрытый в пакетах, и сумели установить криптомайнеры, нацеленные на ресурсы атакуемых машин (вычислительные мощности) и вообще не влияющие на их данные.
Резюме -
IconBurst демонстрирует возможность использовать довольно простую технологию. обфускатор JavaScript, маскирующий вредоносный код и выдающий себя за законные пакеты через общедоступные репозитории, такие как NPM.
Настоящим козырем IconBurst является социальная инженерия, а не очень сложная технология, и она может быть столь же эффективной.
Этот контент предоставлен вам Scribe Security, ведущим поставщиком комплексных решений для обеспечения безопасности цепочки поставок программного обеспечения, обеспечивающим современную безопасность артефактов кода, а также процессов разработки и доставки кода по всей цепочке поставок программного обеспечения. Подробнее.