Как злоумышленникам удалось обхитрить целое сообщество разработчиков?
В популярной утилите для сжатия данных XZ Utils, широко используемой в Linux-системах, недавно был обнаружен скрытый бэкдор. Проблема, идентифицированная как CVE-2024-3094, позволяет обходить аутентификацию OpenSSH, что ставит под угрозу безопасность множества систем.
Изначально предполагалось, что злонамеренно внедрённый бэкдор позволяет просто обходить процесс аутентификации в SSH, однако более глубокий анализ выявил, что он даёт возможность выполнения произвольного кода без следов в логах sshd. Атакующий может выполнить код на стадии до сброса привилегий процессом sshd, используя подпись с фиксированным ключом.
Для активации бэкдора используется стандартный механизм обмена хостовыми ключами SSH, реагирующий исключительно на ключ, подготовленный злоумышленниками. В случае несоответствия подписи или неподтверждения целостности данных, бэкдор не активируется, возвращая управление обычным функциям SSH.
Уникальность этого вредоноса заключается в том, что без доступа к закрытому ключу злоумышленника становится невозможным активировать бэкдор для внешнего использования. Более того, была обнаружена функция, позволяющая нейтрализовать бэкдор, если перед запуском sshd установлена определённая переменная окружения. Это открывает путь к защите от данной угрозы без необходимости полного удаления бэкдора из кода продукта.
Детальный анализ показал, что для маскировки вредоноса использовались сложные shell-скрипты, заменяющие символы и извлекающие исполняемый код для последующей интеграции в liblzma. Этот процесс включал в себя использование алгоритма RC4 и механизма плагинов, позволяя обновлять вредоносный код без изменения исходных архивов.
Вредоносный код был обнаружен совершенно случайно в процессе реверс-инжининга Андресом Фройндом, разработчиком PostgreSQL в Microsoft, который заметил незначительное замедление процесса авторизации в SSH на своём старом компьютере.
Как оказалось, вредонос был внедрён в утилиту xz совсем недавно, начиная с версии 5.6.0, благодаря правкам, нацеленным на «улучшение работы утилиты». Эти правки были предложены с фейкового аккаунта на GitHub, специально набитого «мусорными проектами», дабы создать впечатления его легитимности. Эксперты уверены, что процесс скрытной интеграции зловредного кода готовился не один год, а злоумышленники преследовали далекоидущие цели.
Red Hat, ведущий разработчик систем на базе Linux, сообщил, что уже принял соответствующие меры для исправления уязвимости в системах Fedora. В то же время, версии Red Hat Enterprise Linux (RHEL) выявленной уязвимостью затронуты не были.
Остальные дистрибутивы, включая SUSE и Debian, также предприняли необходимые шаги для защиты своих пользователей, выпустив обновления для исправления проблемы. Отмечается, что ни одна из стабильных версий Debian не пострадала, однако скомпрометированные пакеты были обнаружены в тестовых и нестабильных сборках.
Специалисты безопасности подчёркивают значимость внимательного контроля за цепочками поставок программного обеспечения и оперативного реагирования на угрозы безопасности. Совместные усилия Red Hat, CISA и других организаций позволили минимизировать потенциальный риск от выявленной уязвимости.
Для защиты от потенциальных угроз рекомендуется понижение версии XZ Utils до проверенных, безопасных версий, таких как XZ Utils 5.4.6 Stable. Пользователям и разработчикам также советуют следить за своими системами на предмет любых вредоносных активностей и незамедлительно сообщать об обнаружении угроз.
Живой, мертвый или в суперпозиции? Узнайте в нашем канале