Сигурност

Arch Linux спря осиновяването на пакети в AUR

Arch Linux спря осиновяването на пакети в AUR

Екипът по поддръжката на Arch Linux изключи възможността потребители да „осиновяват“ изоставени пакети в Arch User Repository (AUR). Мярката влезе в сила на 30 юли и е реакция на нова вълна от зловредни пакети, която тръгна ден по-рано. Това е трето подобно ограничение от средата на юни насам.

„Заради текущия наплив от зловредни осиновявания на пакети и последващи ъпдейти през AUR, осиновяването в момента е изключено, докато се справяме със ситуацията“, пише Robin Candau в съобщението на DevOps екипа, цитирано и от BleepingComputer.

Защо точно „осиновяването“

AUR не е официално хранилище с готови бинарни пакети, а сборник от build скриптове (PKGBUILD), които потребителите пишат и поддържат сами. Когато поддръжник изостави пакета си, той става „orphan“ и всеки регистриран акаунт може да го поеме с едно натискане на бутон.

Точно това е слабото звено. Атакуващите не разбиват нищо — те просто поемат легитимен пакет с история и потребители, а после пускат безобиден на пръв поглед commit, който променя масива source така, че да сваля непознат бинарен файл. Кодът се изпълнява при makepkg, тоест при самото компилиране, преди изобщо да сте стартирали програмата.

Спряното осиновяване на пакети в AUR Снимка: Linuxiac

Кои пакети са засегнати

Вълната тръгва на 29 юли с openconnect-sso. След него в списъка влизат boringssl-git, icloudpd, windscribe-cli-v2-bin, stirling-pdf-desktop-bin, arduino-language-server-noclang-bin и pgadmin4-server. Phoronix добавя към тях i915-sriov-dkms, warp-terminal-git, astro-box и weather-display.

По неофициални изчисления на потребители, следящи кампанията, компрометираните пакети в тази вълна са над 200. Официална цифра от Arch все още няма.

Какво прави малуерът

Заразата е двустепенна. Първата степен е зареждащ модул (loader), който проверява дали не работи в дебъгер, sandbox, виртуална машина или CI/CD среда. Ако разпознае такава, не прави нищо — класически трик срещу автоматичните анализатори.

Мине ли проверката, се сваля втората степен: infostealer, писан на Rust, с функции на RAT (отдалечен достъп) и червей, който се разпространява по вече запаметените SSH връзки. Комуникацията с командния сървър минава през Tor. В част от образците е забелязан и eBPF rootkit, който крие следите на процеса на ниво ядро.

Целта е предвидима и болезнена: пароли от браузъри, крипто портфейли, бази на мениджъри на пароли, SSH ключове, облачни тайни и API ключове. Ако сте компилирали някой от засегнатите пакети, приемете тези данни за изтекли.

Внимание

Проверете кога за последно сте пускали yay -Syu, paru или makepkg за пакет от AUR след 29 юли. Ако сте, сменете паролите си, регенерирайте SSH ключовете и отменете активните API токени от друга, чиста машина.

Трета вълна за два месеца

Историята започва на 12 юни, когато Arch блокира регистрацията на нови акаунти в AUR заради „голям обем зловредни осиновявания и ъпдейти“. Първоначалната оценка беше около 400 пакета, но за уикенда числото мина 1500, а при почистването екипът премахна над 1900 компрометирани пакета. Регистрациите бяха отворени отново на 13 юли с допълнителни мерки — които, както се вижда, не са спрели атакуващите.

Кампанията вече си има име в средите на анализаторите: Atomic Arch. Моделът е същият като при отвличането на npm пакетите debug и chalk — вместо да атакуваш крайния потребител, атакуваш веригата на доставки и оставяш build системата да свърши работата вместо теб.

Какво следва

Осиновяването остава изключено без обявен срок. Arch призовава потребителите да съобщават за подозрителни осиновявания и коментари, а поддръжниците — да следят пакетите си. Междувременно останалите функции на AUR работят нормално: можете да качвате нови пакети и да обновявате своите.

Ако разчитате сериозно на AUR, най-разумното в момента е ръчно да четете PKGBUILD файловете преди компилиране. Всеки source ред, който сочи към суров бинарен файл, вместо към git хранилище или официален архив на проекта, е повод за спиране. Помага и AUR помощник, конфигуриран да показва diff-а при всяко обновяване — точно там се вижда моментът, в който безобиден пакет започва да сваля нещо ново.

Уязвимостите в самата Linux екосистема също не отслабват — вчера писахме за веригата IonStack, която взима root на Android през Firefox. Разликата е, че там става дума за грешка в кода, а тук — за дупка в доверието. Втората се кърпи много по-трудно.

Новините на Overclock — директно в Telegram, без алгоритми.

Следвайте ни в Telegram

Прочетете още