mimile
На главную
Часть сюжета: Wiz связала бэкдор в Rust-крейтах arrayref и двух других пакетах с КНДР·3 событий

Wiz связала бэкдор в Rust-крейтах arrayref и двух других пакетах с КНДР

AI-дайджест

Материал подготовлен искусственным интеллектом на основе нескольких источников — ссылки на оригиналы приведены ниже.

Wiz связала бэкдор в Rust-крейтах arrayref и двух других пакетах с КНДР

20 августа в реестр crates.io были опубликованы вредоносные версии трёх Rust-пакетов, включая arrayref, с бэкдором, срабатывавшим при сборке. Пакеты загружали зависимость proc-macro1 — тайпсквот легитимного proc-macro2, который скачивал и запускал вредоносную нагрузку во время компиляции. Wiz и StepSecurity связали инфраструктуру атаки с северокорейскими группировками.

Ключевые факты

  • 20 августа в crates.io были опубликованы вредоносные версии [email protected], [email protected] и [email protected].
  • У arrayref 245 млн загрузок за всё время (53,7 млн за последние 90 дней), и он присутствует примерно в 75% окружений, использующих Rust.
  • Вредоносная зависимость восстанавливала C2-адрес из фрагментов Base64, отключала проверку TLS-сертификата и загружала платформозависимую нагрузку на этапе компиляции.
  • Wiz обнаружила, что нагрузка собирала имя хоста, имя пользователя и данные об ОС, а также проверяла профили Chrome, Brave и Edge на сохранённые логины и данные расширений.
  • StepSecurity оценила окна экспозиции трёх крейтов в 86, 90 и 107 минут, тогда как команда безопасности Rust сообщила об удалении вредоносных пакетов примерно через 86 минут после компрометации arrayref.

Вредоносные крейты

Вредоносные версии arrayref, internment и append-only-vec были опубликованы в crates.io 20 августа как [email protected], [email protected] и [email protected]. Все три выпуска добавили зависимость proc-macro1 — тайпсквот легитимного и широко скачиваемого крейта proc-macro2. Пакет arrayref 0.3.10 был опубликован из аккаунта легитимного сопровождающего, а internment и append-only-vec последовали примерно через 20 минут. У arrayref 245 млн загрузок за всё время (53,7 млн за последние 90 дней), и он присутствует примерно в 75% окружений, использующих Rust. Атака была впервые сообщена в RustSec и [email protected] исследователем jhobern, когда была известна только компрометация arrayref.

Нагрузка на этапе сборки

Вредоносная зависимость содержала скрипт сборки, который восстанавливал C2-адрес из фрагментов Base64, отключал проверку TLS-сертификата и скачивал платформозависимую нагрузку второго этапа. Поскольку скрипты сборки Rust выполняются на этапе компиляции, запуск полезной нагрузки происходил при сборке любого проекта, чей lockfile разрешил arrayref 0.3.10, без вызова функций крейта. Wiz сообщила, что нагрузка второго этапа выбиралась по платформе и поддерживала x86_64 Linux, Windows и macOS, а также aarch64 macOS. Нагрузка собирала имена хостов, имена пользователей и данные об ОС, перечисляла установленные приложения и проверяла профили Chrome, Brave и Edge на сохранённые логины и данные расширений. Она могла закрепляться через ключи Run в реестре Windows, LaunchAgents в macOS или пользовательские службы systemd в Linux и имела резервный механизм генерации 10 .com-доменов каждые пять дней при недоступности основного C2.

Атрибуция КНДР и удаление

Исследователи Wiz заявили, что инфраструктура полезной нагрузки существенно пересекается с операциями, приписываемыми недавним северокорейским группировкам. StepSecurity оценила окна экспозиции по каждому крейту в 86, 90 и 107 минут до удаления пакетов вместе с связанными крейтами злоумышленников. Команда безопасности Rust сообщила об удалении вредоносных пакетов примерно через 86 минут после компрометации arrayref. Команда подтвердила, что новая версия arrayref имела прямую зависимость от proc-macro1, которая выполняла вредоносный скрипт сборки. Вскоре после этого все вредоносные пакеты были удалены, а чистые версии восстановлены.

3 источника

Wiz связала бэкдор в Rust-крейтах arrayref и двух других пакетах с КНДР