Андрес Фройнд 29 марта 2024 года обнаружил аномальную задержку в 500 миллисекунд при работе протокола SSH. Это наблюдение позволило раскрыть бэкдор в утилите XZ Utils, который хакер под псевдонимом Цзя Тань внедрял в течение двух лет. Инцидент поставил под угрозу безопасность миллионов серверов, управляющих государственными структурами, банками и больницами по всему миру.
🖨️ Замятая бумага и истоки свободного ПО 0:00
В начале 80-х годов Ричард Столлман столкнулся с проблемой замятия бумаги в лазерном принтере Xerox 9700 . Он планировал модифицировать драйвер устройства, чтобы пользователи получали уведомление о поломке, но компания Xerox отказалась предоставить исходный код . Ричард Столлман расценил этот отказ как социальный феномен, разделяющий людей и препятствующий сотрудничеству .
В 1985 году он основал Free Software Foundation, чтобы продвигать четыре базовые свободы пользователей :
- Свобода запускать программу для любых целей.
- Свобода изучать работу программы.
- Свобода изменять код.
- Свобода делиться изменениями с другими.
Для защиты этих принципов была создана лицензия General Public License (GPL). Ричард Столлман начал разработку проекта GNU, целью которого было создание свободной альтернативы операционной системе Unix . К 1991 году проект подготовил основные утилиты и компилятор GCC, но разработчикам не хватало ключевого элемента — ядра .
🐧 Доминирование Linux и «Закон Линуса» 5:03
В 1991 году студент Линус Торвальдс представил собственное ядро, которое позже получило название Linux . Объединение ядра Linux с утилитами GNU привело к созданию полноценной операционной системы. Открытый код позволил разработчикам по всему миру адаптировать систему под свои задачи .
Сегодня Linux доминирует в мировой цифровой инфраструктуре:
- Система установлена на всех 500 мощнейших суперкомпьютерах планеты .
- Ее используют в Пентагоне и на атомных подводных лодках США .
- Она управляет 3 миллиардами устройств на базе Android .
- Большинство интернет-серверов в мире работают на базе ядра Linux .
Безопасность системы опирается на «Закон Линуса», согласно которому при достаточном количестве проверяющих все ошибки становятся очевидными . Однако экосистема состоит из тысяч мелких библиотек. Часто критически важные инструменты поддерживаются одиночками-добровольцами в их свободное время .
🛠️ Психологическая атака на проект XZ Utils 9:57
Лассе Коллин из Финляндии с 2005 года развивал инструмент сжатия данных XZ Utils . Этот формат обеспечивает высокую степень сжатия без потерь и используется почти во всех дистрибутивах Linux . За 20 лет работа по поддержке совместимости с новым оборудованием полностью легла на плечи одного человека.
В последние годы Лассе Коллин столкнулся с выгоранием и психологическим давлением со стороны сообщества . Анонимные пользователи заваливали его жалобами на медленную интеграцию обновлений . В этот момент в проекте появился Цзя Тань, который позиционировал себя как активного помощника . После двух лет плодотворной работы Лассе Коллин передал Цзя Таню права на управление проектом . Хакер использовал тактику социальной инженерии, чтобы стать доверенным лицом в критическом звене инфраструктуры .
🔑 Уязвимость в протоколе SSH 12:07
Протокол SSH (Secure Shell) служит основным инструментом для удаленного управления серверами . Тату Илонен разработал его в 1995 году после атаки на сеть Хельсинкского технологического университета, где хакеры перехватывали пароли в открытом виде . SSH обеспечивает шифрование канала и аутентификацию пользователей .
Для аутентификации часто используется алгоритм RSA. Он основан на произведении двух огромных простых чисел, которое практически невозможно разложить на множители без секретного ключа . Самая популярная реализация протокола — OpenSSH — считается одной из наиболее защищенных программ в мире . Хакер Цзя Тань понял, что взломать OpenSSH напрямую невозможно, и решил атаковать одну из его зависимостей — библиотеку XZ Utils .
🦠 Анатомия бэкдора: «Троянский конь» и «Златовласка» 23:47
Цзя Тань разработал сложную трехэтапную схему внедрения вредоносного кода. Сначала он спрятал нагрузку в бинарных тестовых файлах, предназначенных для проверки алгоритмов сжатия . Эти файлы выглядят как обычные наборы данных, которые никто из разработчиков не изучает вручную .
Второй этап включал использование инструмента IFUNC (Indirect Function) в операционной системе Linux. IFUNC позволяет выбирать версию функции в зависимости от процессора . Цзя Тань использовал резолвер IFUNC, чтобы перехватить функцию RSA Decrypt в строго определенный момент загрузки системы. Этот момент называют «зоной Златовласки» — когда таблица адресов функций (GOT) уже заполнена, но еще не помечена системой как доступная только для чтения .
Третий этап — активация бэкдора:
- Бэкдор перехватывает процесс входа в систему .
- Программа ищет в запросе секретный мастер-ключ, известный только хакеру .
- Если ключ найден, хакер получает полный root-доступ к серверу .
- Бэкдор автоматически удаляет записи о своем запуске из логов системы .
🕵️ Случайное обнаружение и масштаб угрозы 34:24
Цзя Тань допустил ошибку в управлении памятью, что привело к сбоям в работе отладочного инструмента Valgrind . Хакер попытался скрыть дефект, предоставив правдоподобное объяснение необходимости обновления тестовых файлов . Генри ван Дейк продемонстрировал работу бэкдора, захватив контроль над сервером veritasium.com и изменив контент на сайте за несколько секунд .
Андрес Фройнд, работая над проектом Postgres в Microsoft, заметил странное замедление системы на 0,5 секунды . Он начал детальное исследование и обнаружил скрытый код в XZ Utils . Если бы Андрес Фройнд не проявил любопытство, бэкдор попал бы в стабильные релизы Debian, Ubuntu и Red Hat Enterprise Linux (RHEL) 10 . Это позволило бы злоумышленникам шпионить за целыми странами, требовать выкуп или отключать критическую инфраструктуру .
🐻 Поиски Цзя Таня 47:16
Личность хакера остается загадкой. Цзя Тань использовал часовой пояс UTC+8, характерный для Пекина, но работал в праздничные дни Китая и отдыхал в Рождество . Некоторые изменения в коде были сделаны в часовом поясе UTC+2, что соответствует Израилю или западной части России. Эксперты предполагают, что за атакой может стоять группировка APT29 (Cozy Bear), связанная с российскими спецслужбами .
Проблема XZ Utils высветила системную уязвимость open source:
- Критическая инфраструктура держится на труде неоплачиваемых добровольцев .
- Социальная инженерия оказывается эффективнее прямого взлома кода .
- Закрытое ПО не гарантирует большей безопасности, так как там бэкдор может быть внедрен по решению суда или сотрудником компании без публичного аудита .
Рич Джонс подчеркнул, что Лассе Коллин подарил миру ценный инструмент, но человечество «отравило его подарок», заставляя разработчика нести ответственность за безопасность всей сети в одиночку .