Взлом Киберпреступность Хакеры отравляют массив `arrayref` в Rust-библиотеке для распространения вредоносного ПО, похищающего информацию.

Procurator

Experienced
Local User
Регистрация
29.05.26
Сообщения
268
Реакции
108
1000002675.jpg

Хакеры взломали учетную запись разработчика широко используемого Rust-крейта arrayref, чтобы внедрить вредоносное ПО, которое выполнялось в системах разработчиков во время компиляции.

В течение 23 минут злоумышленник также отравил два других ящика: append-only-vec и interment, в рамках той же атаки на цепочку поставок.

Библиотека arrayref — популярный язык программирования Rust, которую за последние 90 дней скачали более 53 миллионов раз. Она используется в криптографии, графике и инструментах для работы с блокчейном.
В отчете компании StepSecurity, занимающейся обеспечением безопасности приложений, отмечается, что вредоносные версии крейтов Rust — arrayref 0.3.10, append-only-vec 0.1.9 и internment 0.8.7 — поддерживались одной и той же учетной записью.

Хакер внедрил зависимость от пакета под названием proc-macro1, представляющего собой опечатку, имитирующую популярный крейт proc-macro2, при этом полностью сохранив неизменным остальной исходный код проекта.

По словам исследователей, скрипт в proc-macro1 под названием 'build.rs' автоматически выполняется во время компиляции, восстанавливая свою инфраструктуру из фрагментов, закодированных в base64, и выбирая полезную нагрузку, соответствующую хостовой ОС (Linux x86-64, Windows x86-64, macOS x86-64 и macOS ARM64).

Компания StepSecurity сообщает, что злоумышленник также опубликовал несколько версий четырех собственных крейтов (aovine, arone, aronenao, tinymember), которые были удалены с сайта crates.io.

В системах Unix вредоносная программа записывает данные в /tmp/rust-setup, помечает его как исполняемый файл и запускает как отсоединенный процесс.

В Windows он создает файл %TEMP%\rust-setup.ps1 и использует скрытый файл wscript.exe и VBS-скрипт для запуска процесса.

В качестве аргумента полезная нагрузка получает адрес, который, как предполагается, является адресом управления.

Согласно анализу компании Wiz, специализирующейся на облачной безопасности, возможности второго этапа включают в себя кражу информации о хостах и учетных данных.

Исследователи утверждают , что вредоносная программа собирает учетные данные из браузеров Google Chrome, Brave и Edge, обращаясь к базам данных авторизации SQLite.

Сохранение состояния обеспечивается через ключ Run в реестре Windows, LaunchAgent в macOS и systemd в Linux.
Хронология и последствия

Потенциальные последствия этой атаки на цепочку поставок значительны, поскольку только arrayref имеет более 245 миллионов загрузок за все время существования, в то время как совокупное количество установок append-only-vec и internment составляет почти 19 миллионов.

В число проектов, использующих arrayref, входят blake3, графические фреймворки на Rust, такие как egui, eframe и iced, а также компоненты, используемые в Ethereum и Solana.

Атака началась в 01:17 UTC 20 августа, когда был создан аккаунт на GitHub, выдающий себя за известного разработчика Rust Дэвида Толнея, а затем аналогичный аккаунт был создан в реестре crates.io.

В 01:55 злоумышленник опубликовал proc-macro1@1.0.106, безобидную копию proc-macro2, а затем вредоносное обновление до версии 1.0.107, опубликованное в 7:11.

В 07:15 версия arrayref 0.3.10 была опубликована через легитимный аккаунт droundy (Дэвид Раунди), в то время как версии 0.3.5–0.3.9 были удалены, возможно, для принудительной установки вредоносной версии.

Об инциденте было сообщено в 07:54. Crates.io удалил proc-macro1 в 08:03 и удалил arrayref 0.3.10 из индекса в 08:41.

Компании, занимающиеся кибербезопасностью, StepSecurity , SafeDep и Aikido, опубликовали технический анализ атаки на цепочку поставок и поделились признаками компрометации.

Исследователи Wiz отмечают, что «инфраструктура кампании пересекается с недавними атаками на цепочки поставок КНДР [Северной Кореи], включая Mastra и axios ».

Разработчикам, установившим любой из этих продуктов в течение почти полуторачасового периода воздействия, следует исходить из того, что они могут пойти на компромисс.

Рекомендуемые проверки включают поиск файлов Cargo.lock, проверку наличия сброшенных файлов и анализ трафика к IP-адресу 23.254.165[.]112 на портах 9089 и 443.

В случае подтверждения компрометации рекомендуется заменить все доступные учетные данные, токены CI, ключи подписи и другие секреты, а также восстановить среду из надежных резервных копий.

В чистых проектах следует зафиксировать заведомо безопасную версию затронутых зависимостей до тех пор, пока ситуация с сопровождающими проекта не будет прояснена и решена.

Для просмотра ссылки Войди или Зарегистрируйся