Новость Бэкдор в OpenSource для доступа к SSH


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 085
Репутация
8 207
1711978886347.png


Уязвимость в xz Utils была построена по схеме supply chain attack, атака на цепочку поставок. Для её реализации злоумышленнику (или их группе) пришлось два года втираться в доверие к сообществу открытого программного обеспечения, чтобы получить права мейнтейнера и внедрить нужный код. Бэкдор обнаружила не лаборатория безопасности в результате тщательного анализа, а разработчик, который замедление работы компьютера.

Пакет — набор утилит для сжатия данных для Unix-подобных операционных систем и, начиная с пятой ветки, Microsoft Windows. Разработку ведёт коллектив Tukaani Project.

Утилита известна. Одни из наиболее популярных дистрибутивов Linux — Debian и Ubuntu, Fedora, Slackware, Arch Linux — использовали или до сих пор включают в себя xz Utils.

Однако это не значит, что разработка xz Utils щедро финансируется крупными компаниями или вынуждена отбиваться от толп готовых помочь энтузиастов. Понять это по переписке с разработчиками.

К примеру, в мае 2022 года пользователь на нерасторопность ответов. Некто Деннис Энс [Dennis Ens] спросил, почему никто не отвечает на его сообщения больше недели. При этом в логе Git обновлений проекта xz Java, ответвления основной xz Utils, не было уже больше года.

Is XZ for Java still maintained? I asked a question here a week ago and have not heard back. When I view the git log I can see it has not updated in over a year.

В ответ мейнтейнер , что у него много сообщений без ответа и что это нехорошо. Сопровождающий проект xz Utils с 2009 года Лассе Коллин [Lasse Collin] указал, что разработка в каком-то смысле этого слова идёт: если кто-то пришлёт багрепорт, то ошибку закроют. В сообщении угадывается просьба о помощи хоть в чём-нибудь. Коллин явно подавлен тем, что новых функций активно не пишут:

Yes, by some definition at least, like if someone reports a bug it will get fixed. Development of new features definitely isn't very active. :-(

В ответ переписке мейнтейнеру сложить с себя полномочия, обвинив его в том, что интерес к проекту он потерял. Хода проекта не будет, пока за дело не возьмётся новый мейнтейнер, резко писал некто Джигар Кумар [Jigar Kumar].

Коллин , что интерес не утратил, просто мешают проблемы с психическим здоровьем. В и других сообщениях он упоминал желание назначить сомейнтейнера и упоминал некоего Цзя Тана [Jia Tan], который помогал с xz Utils вне списка рассылки. Коллин выразил надежду, что в будущем Тан возьмёт на себя более крупную роль в проекте.

На тот момент Цзя Тан уже проявил активность в xz Utils небольшим патчем. Сегодня, когда всё уже известно, даже самая ранняя сетевая активность Цзя немедленно вызывает глубокие подозрения.

Аккаунт JiaT75 на GitHub в 2021 году. С самого начала этот человек вёл себя странно. В пулл-реквесте в libarchive, библиотеке C для записи потоковых архивов, он поменять safe_fprintf на менее безопасный вариант fprintf. В ноябре 2021 года изменение Тана приняли и несколько лет не видели проблемы. Лишь несколько часов назад этот момент .

В апреле 2022 года Цзя Тан присылает патч в xz. Первый коммит от Цзя в проект 10 июня — через три дня после этой перепалки, когда Лассе Коллина просили добавить ещё одного мейнтейнера.

В следующие месяцы Тан входит в доверие. Первый мёрдж коммита от Цзя в январе 2023 года. В марте того же года в проекте контактный адрес электронной почты с lasse.collin@tukaani.org на jiat0218@gmail.com.

Любопытно, что как Деннис Энс, так и Джигар Кумар писали только в период весны и в июне 2022 года ( , ) и никогда больше не проявляли никакой активности. Здесь и далее во всех случаях подозрительные аккаунты имеют похожую структуру почтовых адресов: это ящики на бесплатных сервисах веб-почты, образованные от имени, фамилии и нескольких цифр.

23 июня 2023 года ещё один похожий аккаунт-однодневка hansjans162 пулл-реквест с тестовой инфраструктурой бэкдора. Код заменял конструктор crc64_fast на ifunc, нужный для работы будущего эксплойта. Чтобы сильнее запутать следы, коммит от 27 июня с кодом Ханса Янсена [Hans Jansen] в качестве автора Лассе Коллина.

В июле 2023 года, в следующий после принятия кода от Янсена месяц, Цзя Тан активничал в сторонних репозиториях. В частности, он у разработчиков OSS-Fuzz не проверять ifunc из-за несовместимости с -fsanitize=address, а также в проекте LLVM на предупреждения при обработке ifunc.

Контроль Цзя над проектом лишь рос. В начале февраля 2024 года в OSS-Fuzz Тан , что адрес проекта меняется с tukaani.org/xz/ на xz.tukaani.org/xz-utils/. tukaani.org указывает на сервер в Финляндии, в то время как поддомен xz адресует на GitHub Pages. В конце февраля Цзя добавил финальные штрихи бэкдора ( , ).

Кульминация задумки случилась в этом месяце, когда аккаунты-однодневки начали кампанию по включению новой версии в дистрибутивы Linux. К примеру, называющий себя Хансом Янсеном человек был в том, что включить xz версии 5.6.1 в Debian. Предварительно он набил свой аккаунт GitLab мусорной активностью в других подпроектах Debian ( , , , , , ).

Аналогичную активность сам Цзя Тан в Ubuntu. Как участник проекта Fedora, Цзя просил включить новую версию, поскольку она содержит «отличные новые функции».

Бэкдор нашли 29 марта. Об уязвимости разработчик PostgreSQL из Microsoft Андрес Фройнд [Andres Freund]. Быстро составленное объясняло суть «дыры».

Бэкдор встроен в пакеты xz или liblzma (содержит xz) версий 5.6.0 и 5.6.1. Чтобы ifunc работал, бэкдор проверяет архитектуру системы и наличие в системе библиотеки glibc. Полезная нагрузка активируется тогда, когда запущена программа с именем процесса /usr/sbin/sshd. Впрочем, не до конца исследовано, какие ещё сценарии предусмотрены в бэкдоре. Возможно, что атакующие были заинтересованы в компрометации не только SSH.

Как анализ, после сверки подписи с ключом злоумышленника код из сообщения удалённо выполняется на уязвимой системе. Если подпись от ключа злоумышленника некорректна, sshd работает в обычном режиме.

Механизм внедрения в sshd полагается на sd_notify. Подобная связка с присутствует в Red Hat, Fedora, OpenSUSE и Debian для загрузки других сервисов при запуске sshd. При этом libsystemd включает в себя liblzma. В свою очередь, последний компонент содержит xz — проект открытого ПО, мейнтейнер которого, как оказалось, из-за недостатка времени и проблем со здоровьем был вынужден выдать права релиз-менеджера первому попавшемуся энтузиасту.

bwogdmiptjqxneogzolqorpo6m8.png

Веб-комикс «Зависимость»,

Наиболее интересно, что весь двухлетний план злоумышленников провалился из-за плохой оптимизации бэкдора. Один из наблюдаемых эффектов — это замедление логина в SSH, если в системе присутствует бэкдор. В сообщении от 29 марта Андрес Фройнд указал, что на его старом компьютере sshd стала медленнее на полсекунды.

В комментариях на LWN.net сотрудник Microsoft детали. Фройнд занимался микробенчмаркингом и настройкой компьютера, когда обратил внимание на необычно высокую нагрузку на процессор от sshd даже в тех случаях, когда, например, пароль не подходил. Подозрения Андрес связал с прошлыми результатами автоматизированных тестов от Valgrind, поэтому провёл более детальный анализ. Как говорит Фройнд, обнаружение бэкдора — это результат череды случайных совпадений.

Сервис GitHub забанил аккаунты подозреваемых (то есть и JiaT75, и учётную запись Лассе Коллина Larhzu) и закрыл доступ к репозиториям , и . На сайте tukaani.org Лассе Коллин опубликовал и периодически обновляет о произошедшем. Уязвимости идентификатор CVE-2024-3094.

Пользователям понизить версию xz на 5.4.6 или 5.4.2. Бэкдор присутствует во многих дистрибутивах, включая , и . Понятно, что FreeBSD .

Кто скрывается за именем Цзя Тан, доподлинно неизвестно. Обнаруженный по активности в IRC сингапурский IP-адрес VPN-сервису Witopia. Само написание имя Jia Cheong Tan в разных своих частях совмещает в себе разные стандарты романизации китайских имён, поэтому это скорее всего наспех придуманный псевдоним.

Источник:
 
Верх Низ