Пользователи Arch Linux и разработчики, использующие неофициальный репозиторий AUR (Arch User Repository - хранилище пакетов от сторонних авторов), столкнулись с масштабной атакой на цепочку поставок. Злоумышленники получили контроль над 469 пакетами и внедрили в них вредоносный код, нацеленный на кражу паролей, ключей доступа и конфиденциальных данных. Среди пострадавших оказался и популярный у геймеров пакет ALVR, который транслирует виртуальную реальность на гарнитуры.
Описание
Метод атаки оказался изощрённым и системным. Злоумышленники выбрали пакеты, имеющие статус "orphaned" - то есть оставшиеся без сопровождающего. Они оформляли заявку на сопровождение, указывая имя последнего легитимного мэйнтейнера, но подставляя свой адрес электронной почты. После получения доступа вносился единственный коммит, который добавлял в список зависимостей PKGBUILD строку с установкой NPM-пакетов. При этом сам проект мог вообще не использовать JavaScript и Node.js - код на языке JavaScript вставлялся в сценарии установки (.install) или хуки PKGBUILD. В перечень устанавливаемых модулей входил один или несколько популярных легитимных пакетов, а также пакет atomic-lockfile, содержащий скрытое вредоносное ПО.
После активации вредоносное ПО закреплялось в системе в виде службы systemd со случайным именем. При запуске с правами root служба создавалась на системном уровне, а при запуске от имени обычного пользователя - в его домашнем каталоге. Вредоносный процесс маскировался под поток ядра, что затрудняло его обнаружение. Если атака выполнялась с повышенными привилегиями, злоумышленники дополнительно активировали руткит на уровне ядра с использованием технологии eBPF (управляемая программа в ядре Linux, позволяющая перехватывать системные вызовы).
Вредоносное ПО обладало широким набором функций по сбору данных. Оно сканировало систему на предмет ключей и учётных данных VPN, Docker, Podman и SSH. Извлекало конфиденциальную информацию из браузеров (файлы Cookies, локальное хранилище LevelDB), историю команд в shell, ключи криптовалютных кошельков, токены доступа к Slack, Microsoft Teams, Discord, GitHub, NPM и Vault. Все собранные данные упаковывались и отправлялись на управляющий сервер. Анализ вредоносного ПО показал, что в качестве командно-контрольного центра (C2) злоумышленники использовали скрытый onion-адрес в сети Tor. Для эксфильтрации данных применялся сервис temp.sh, а обмен командами и результатами шёл через POST-запросы на скрытый ресурс.
Отчёт с подробным анализом вредоносного ПО, опубликованный независимыми исследователями, раскрывает технические детали реализации. Внутри NPM-пакета atomic-lockfile содержался скомпилированный исполняемый ELF-файл (стандартный формат исполняемых файлов в Linux) размером около 3 МБ, написанный на языке Rust. При установке пакета срабатывал предустановочный хук (preinstall), который запускал этот исполняемый файл. Вредоносное ПО реализовывало сложную асинхронную логику сбора данных с последующей отправкой через локальный транспорт SOCKS5. При получении прав root оно загружало в ядро eBPF-программу, которая скрывала собственные процессы, сокеты и файлы из списков /proc, что делало его невидимым для стандартных средств мониторинга.
Последствия атаки выходят далеко за пределы отдельных пользовательских машин. Разработчики, использующие AUR для сборки или тестирования своих проектов, могли скомпрометировать не только свои рабочие станции, но и инфраструктуру непрерывной интеграции (CI). Украденные токены доступа к GitHub, NPM и Vault позволяют атакующим проникать в кодовые репозитории, публиковать вредоносные версии пакетов или получать доступ к корпоративным секретам. Особую тревогу вызывает тот факт, что вредоносный код был добавлен во все скомпрометированные проекты, независимо от их назначения - от драйверов и системных утилит до игр и приложений виртуальной реальности. По оценкам сообщества Arch Linux, атака могла затронуть тысячи пользователей, так как AUR активно используется для установки программ, отсутствующих в официальных репозиториях.
Реагируя на инцидент, мэйнтейнеры Arch Linux оперативно начали блокировку вредоносных коммитов и учётных записей. В списке рассылки aur-general были опубликованы первые результаты проверок, и добровольцы выявили сотни заражённых пакетов. Однако полное восстановление может занять время, так как многие пакеты были изменены без ведома их предыдущих сопровождающих. Рекомендуется всем пользователям AUR проверить целостность установленных пакетов и при наличии подозрительных зависимостей (например, atomic-lockfile) немедленно удалить их и сменить все учётные данные.
Эта атака стала очередным напоминанием об уязвимости open-source экосистем, где децентрализованное обслуживание пакетов часто оставляет лазейки для злоумышленников. Метод захвата бесхозных пакетов (orphaned) не нов, но его масштаб и продуманность инфраструктуры с использованием скрытых Tor-сервисов и eBPF-руткитов указывают на высокий уровень подготовки атакующих. Для сообщества Arch Linux подобный инцидент должен стать поводом пересмотреть механизмы проверки новых сопровождающих и ввести дополнительные меры безопасности, такие как обязательная двухфакторная аутентификация для мэйнтейнеров и автоматический аудит изменений в PKGBUILD. Тем временем пользователям стоит временно отказаться от установки пакетов из AUR, особенно тех, которые давно не обновлялись, либо тщательно проверять каждый коммит перед установкой.
Индикаторы компрометации
Onion Domains
- olrh4mibs62l6kkuvvjyc5lrercqg5tz543r4lsw3o6mh5qb7g7sneid.onion
MD5
- 42b59fdbe1b72895b2951412222ebf40
SHA256
- 6144d433f8a0316869877b5f834c801251bbb936e5f1577c5680878c7443c98b