Популярная Rust Crate liblzma-система скомпрометирована файлами бэкдора XZ Utils

Father

Professional
Messages
2,605
Reputation
4
Reaction score
588
Points
113
"Тестовые файлы", связанные с бэкдором XZ Utils, попали в Rust crate, известный как liblzma-sys, свидетельствуют новые результаты исследования Phylum.

liblzma-sys, которая на сегодняшний день была загружена более 21 000 раз, предоставляет разработчикам Rust привязки к реализации liblzma, базовой библиотеке, которая является частью программного обеспечения для сжатия данных XZ Utils. Затронутая версия, о которой идет речь, - 0.3.2.

"Текущий дистрибутив (версия 0.3.2) для Crates.io содержит тестовые файлы для XZ, которые содержат бэкдор ", - отметил Филум в выпуске GitHub, опубликованном 9 апреля 2024 года.

"Сами тестовые файлы не включены ни в .tar.gz, ни в .zip-теги здесь, на GitHub, и присутствуют только в liblzma-sys_0.3.2.crate, который устанавливается с Crates.io."

После ответственного раскрытия данные файлы ("tests/files/ bad-3-corrupt_lzma2.xz" и "tests /files / good-large_compressed.lzma") были удалены из liblzma-sys версии 0.3.3, выпущенной 10 апреля. Предыдущая версия crate была удалена из реестра.

"Файлы вредоносных тестов были переданы вверх по потоку, но из-за отсутствия инструкций по вредоносной сборке в исходном репозитории они так и не были вызваны или выполнены", - сказал Snyk в своем собственном сообщении.

Бэкдор в XZ Utils был обнаружен в конце марта, когда инженер Microsoft Андрес Фройнд выявил вредоносные коммиты в утилите командной строки, влияющие на версии 5.6.0 и 5.6.1, выпущенные в феврале и марте 2024 года соответственно. Популярный пакет интегрирован во многие дистрибутивы Linux.

XZ Utils Backdoor


Коммиты кода, сделанные временно отстраненным пользователем GitHub по имени JiaT75 (он же Цзя Тан), по сути, позволили обойти элементы управления аутентификацией в SSH для удаленного выполнения кода, потенциально позволяя операторам получить контроль над системой.

"Общая скомпрометация длилась более двух лет", - сказали исследователи SentinelOne Сартак Мисраа и Антонио Пироцци в анализе, опубликованном на этой неделе. "Под псевдонимом Цзя Тан актер начал вносить свой вклад в проект xz 29 октября 2021 года".

"Изначально коммиты были безобидными и незначительными. Однако актер постепенно стал более активным участником проекта, неуклонно завоевывая репутацию и доверие в сообществе".

По данным российской компании по кибербезопасности Kaspersky, троянские изменения принимают форму многоступенчатой операции.

"Исходный код инфраструктуры сборки, которая сгенерировала финальные пакеты, был слегка изменен (путем введения дополнительного файла build-to-host.m4) для извлечения сценария следующего этапа, который был скрыт в файле тестового примера (bad-3-corrupt_lzma2.xz)", - сказал.

XZ Utils Backdoor


"Эти скрипты, в свою очередь, извлекли вредоносный двоичный компонент из другого файла тестового примера (good-large_compressed.lzma), который был связан с законной библиотекой в процессе компиляции для отправки в репозитории Linux".

Полезная нагрузка, сценарий оболочки, отвечает за извлечение и выполнение бэкдора, который, в свою очередь, подключается к определенным функциям – RSA_public_decrypt, EVP_PKEY_set1_RSA и RSA_get0_key, – которые позволят ему отслеживать каждое SSH-соединение с зараженной машиной.

Основная цель бэкдора, внедренного в liblzma, - манипулировать демоном безопасной оболочки (sshd) и отслеживать команды, отправляемые злоумышленником в начале сеанса SSH, эффективно внедряя способ удаленного выполнения кода.

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

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

"Шквал публикаций с открытым исходным кодом и связанные с этим кампании давления со стороны ранее неизвестных учетных записей разработчиков позволяют предположить, что скоординированная кампания социальной инженерии с использованием фальшивых учетных записей разработчиков использовалась для проникновения вредоносного кода в широко используемый проект с открытым исходным кодом", - сказал ReversingLabs.

Исследователи SentinelOne обнаружили, что незначительные изменения кода, внесенные JiaT75 между версиями 5.6.0 и 5.6.1, предполагают, что модификации были разработаны для повышения модульности бэкдора и внедрения большего количества вредоносных программ.

По состоянию на 9 апреля 2024 года репозиторий исходного кода, связанный с XZ Utils, был восстановлен на GitHub, почти через две недели после того, как он был отключен из-за нарушения условий предоставления услуг компании.

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

"Очевидно, что этот бэкдор очень сложен и использует изощренные методы для уклонения от обнаружения", - сказал Касперский.
 
Top