Как бэкдор в xz чуть не стал самой масштабной атакой на Linux в истории

от admin

Спасибо разработчику Microsoft за бдительность

29 марта инженер Microsoft Андрес Фройнд заметил, что SSH-подключение к его тестовой машине на Debian стало медленнее на 500 мс. И эта задержка спасла интернет. В сети появился материал, который описал эту интересную историю.

Так, проведя диагностику, Фройнд обнаружил скрытый вредоносный код в библиотеке xz — она используется практически во всех дистрибутивах Linux и задействуется при работе с SSH.

Бэкдор позволял обойти аутентификацию и получить полный удалённый доступ к системе без следов в логах.

Под ударом оказались Fedora, Debian, openSUSE, Arch и готовящийся релиз Ubuntu 24.04. Его внедрение произошло в xz версий 5.6.0 и 5.6.1 в феврале и марте 2024 года. Если бы Фройнд не заметил задержку — миллионы серверов оказались бы взломаны.

Атака на человека, не на код

Самое страшное, что атака эта длилась три года и была направлена не на уязвимость в коде. Она целилась на уязвимость в человекеЛассе Коллине. Это доброволец, который в одиночку поддерживал xz с 2005 года.

werf как альтернатива Kaniko для сборки образов в Kubernetes в вашей системе CItproger.ru

Под именем Jia Tan злоумышленники создали фейкового разработчика, который годами отправлял мелкие патчи, завоёвывал доверие и постепенно получал доступы.

Параллельно фальшивые аккаунты вроде Jigar Kumar и Dennis Ens психологически давили на Коллина — критиковали его за медленные релизы, упрекали за проблемы с ментальным здоровьем и требовали передать проект «более активным» участникам.

Читать также:
Как разрабатывают технологии для миллионов: узнаете 12 сентября

В итоге выгоревший Коллин отдал проект в руки атакующих. К 2024 году у Jia Tan был полный контроль: доступ к репозиторию, релизам и даже сайту проекта. Остальное — дело техники.

«Синдром Небраски»: когда критическую инфраструктуру тащит один человек

История с xz — не исключение, а симптом. Open-source в целом как явление держится на людях, которые годами бесплатно поддерживают критически важные библиотеки. Например:

  • OpenSSL (Heartbleed) — один разработчик и $2000 бюджета в год;
  • Express.js — десятки миллионов скачиваний, один мейнтейнер;
  • curl — десятилетия работы Даниэля Стенберга;
  • Log4j — критическая уязвимость в библиотеке, которую поддерживал один человек.

Вот и атака на xz не совсем история про лобовой эксплойт. Это скорее история про системную усталость. Уязвимость была в доверии и выгорании.

Мы живем на доброй воле и это проблема

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

Виноваты не разработчики, а система, где:

  • корпорации получают триллионы на бесплатном ПО;
  • мало кто инвестирует в его поддержку;
  • кризис выгорания решается атаками на выгоревших.

Что с этим делать?

Некоторые страны и компании уже делают шаги:

  • Германия выделила €23 млн на поддержку OSS;
  • ЕС обсуждает фонд в €350 млн;
  • GitHub и Tidelift пытаются создать модели устойчивого финансирования.

Но пока это капля в море. Тысячи проектов критичны, а финансируются десятки. И сколько еще таких историй, как атака на xz, нас ждет — покажет лишь время…

Похожие статьи