Инциденты и уязвимости

Бэкдор XZ Utils (CVE-2024-3094) — атака на цепочку поставок со стороны доверенного со-мейнтейнера

В 2024 году в xz/liblzma нашли бэкдор от со-мейнтейнера, годами зарабатывавшего доверие. Его заметили по медленному входу. Уроки для цепочки поставок.

Опубликовано 2026-06-07 Обновлено 2026-10-23 4 мин чтения
На этой странице

Возвращаемся к крупному инциденту прошлого ради уроков, которые всё ещё применимы к вашей эксплуатации.

2024
обнаружено
годы
потрачены на построение доверия
доверие
что было целью
вовремя
пойман прямо перед стабильным релизом

Что произошло

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

Целью был не изъян в коде, а предположение, что «легитимное обновление доверенного человека» безопасно.

① Недосопровождаема, её тянет один перегруженный человек
↓
② Другой человек стабильно вносит вклад и получает доверие (годами)
↓
③ Получает привилегии со-мейнтейнера
↓
④ Поэтапно внедряет бэкдор в обычные обновления
Атака продвигалась через медленное завоевание доверия, а не через технический эксплойт. Каждый шаг выглядел как легитимная активность.

Целью были люди и доверие

Файрволы и патчи этого не останавливают. Мейнтейнеры OSS работают на доброй воле и волонтёрском времени, и злоумышленники воспользовались этой перегрузкой и изоляцией. Это показало, что здоровье людей и проектов, стоящих за OSS, само по себе вопрос безопасности.

Как это нашли: инженер разобрался в медленном входе

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

То, что инженер не отмахнулся от ощущения «что-то не так», в этом случае оказалось самым эффективным способом обнаружения.

Хронология

  1. годами ранее

    Злоумышленник стабильно вносит вклад, выстраивая доверие мейнтейнеров.
  2. начало 2024

    Бэкдор поэтапно внедряется в легитимные обновления.
  3. 2024-03

    Инженер разбирается в аномалии «медленно»; бэкдор найден и раскрыт прямо перед стабильным релизом.

Уроки, которые всё ещё применимы

1

Минимизируйте зависимости

Меньше библиотек — меньше сторон, которым нужно доверять. Не добавляйте «потому что удобно».

2

Закрепляйте версии, следите за изменениями

Lock-файлы ловят неожиданные обновления; смотрите на содержимое важных изменений зависимостей (кто, что).

3

Улучшайте воспроизводимость сборки

Чем больше один и тот же ввод даёт один и тот же артефакт, тем легче заметить тихое вмешательство.

4

Никогда не игнорируйте аномалию

«Медленно / что-то не так» — важная зацепка; именно с неё началось это обнаружение. Возьмите в привычку доводить разбор небольших аномалий до причины.

5

Уважайте и поддерживайте мейнтейнеров

Здоровье OSS, от которого вы зависите, в конечном счёте влияет на вашу собственную безопасность. Перегрузкой и изоляцией мейнтейнеров могут воспользоваться злоумышленники.

Читать дальше

Источники и область проверки

Первоисточники ниже подтверждают рассмотренные настройки, область влияния или меры; ссылки проверены 23 октября 2026 года. Учитывайте версии и конфигурации. Приоритеты и выводы — рекомендации сайта, а не повторная проверка всей статьи или гарантия безопасности.

FAQ

QЧем случай XZ Utils был необычен?
A

Целью были люди и доверие, а не баг в коде. Злоумышленник годами становился доверенным мейнтейнером OSS и внедрил бэкдор под видом легитимного обновления. Такую атаку трудно остановить одними техническими средствами.

QКак это обнаружили?
A

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

QЧто может сделать инди-разработчик?
A

Минимизировать зависимости, следить за происхождением и содержимым обновлений, закреплять версии, чтобы неожиданные изменения были обнаружимы, улучшать воспроизводимость сборки и никогда не игнорировать ощущение «что-то не так».