Уязвимость в XZ Utils могла обрушить интернет — и никто не заметил

Интернет едва не рухнул из-за скрытой уязвимости в одной из базовых утилит Linux-систем — XZ Utils. Проникнуть через неё мог кто угодно: от злоумышленников до разведок, ведь это был фактически мастер-ключ для SSH-доступа ко всем серверам с уязвимым ПО. Эта угроза скрывалась там два года, пока исследователь не заметил странные задержки в работе удалённых сессий.
SSH — опорный метод безопасного подключения к удалённым серверам, установленный повсеместно. Но он полагается на систему сжатия liblzma из пакета XZ Utils, в которой появилась внедрённая чужая, злонамеренная часть кода. Благодаря комбинации доверия, социальных манипуляций и сложной технологии эти изменения попали сразу в несколько популярных дистрибутивов Linux.
Что произошло с XZ Utils и почему это опасно
XZ Utils — библиотека для сжатия и распаковки данных, используемая почти во всех Linux-дистрибутивах и в системах, на которых работает интернет. Поддерживал её один человек — Ласс Коллин, работавший безвозмездно под огромным давлением. В 2021 году к проекту подключился Джиа Тан, который постепенно получил статус доверенного разработчика и права на управление релизами.
В течение двух лет в нескольких обновлениях, выпущенных в обход публичного репозитория, он внедрил скрытую уязвимость. Этот «мастер-ключ» позволял получить удалённый доступ к Linux-серверам без ввода пароля, используя специально сформированные SSH-соединения. Незаметно для пользователей, но с заметной нагрузкой на процессор и задержками в SSH-сессиях, которые удалось распознать только благодаря внимательности и опыту одного сотрудника Microsoft.
Если бы эта уязвимость осталась незамеченной, результат могли бы почувствовать все: от секретных коммуникаций до криптовалютных кошельков и корпоративных серверов. Масштаб потенциального ущерба — беспрецедентный.

Почему открытый код не защищает от таких атак
Согласно «закону Линуса» в мире свободного ПО, «если достаточно много глаз посмотрят на код, все ошибки будут видны и исправлены». XZ Utils опровергает это в масштабах критической инфраструктуры: над пакетом работал один человек без финансирования, а нагрузка и ожидания сообщества только росли.
Социальные факторы сыграли не меньшую роль, чем технические: давление СМИ и сообщества вынудило Коллина передать права Тану, который оказался злоумышленником. Это позволило впоследствии скомпрометировать пакет и распространить его через Fedora и несколько дистрибутивов на базе DEB.
История напоминает голливудский триллер: многоуровневые payloadы, «чистка» после сборки, маскировка под обычный функционал. Работа страны или группы с прорисованным планом, от которой мог пострадать каждый.
Что меняет эта история в мире технологий
Уже устранена конкретная уязвимость, но проблема занятости и финансирования ключевых открытых проектов остаётся. Кто возьмётся за поддержку базовых, но критичных библиотек, если их мастера уйдут? Всё может повториться.
Индустрия миллиардными доходами пользуется результатами чужого труда и почти не вкладывается в защиту этих основ. Если не начать решать эту проблему, повторные атаки могут поставить под угрозу целые информационные системы.



