Содержание
Спасибо разработчику 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 психологически давили на Коллина — критиковали его за медленные релизы, упрекали за проблемы с ментальным здоровьем и требовали передать проект «более активным» участникам.
В итоге выгоревший Коллин отдал проект в руки атакующих. К 2024 году у Jia Tan был полный контроль: доступ к репозиторию, релизам и даже сайту проекта. Остальное — дело техники.
«Синдром Небраски»: когда критическую инфраструктуру тащит один человек
История с xz — не исключение, а симптом. Open-source в целом как явление держится на людях, которые годами бесплатно поддерживают критически важные библиотеки. Например:
- OpenSSL (Heartbleed) — один разработчик и $2000 бюджета в год;
- Express.js — десятки миллионов скачиваний, один мейнтейнер;
- curl — десятилетия работы Даниэля Стенберга;
- Log4j — критическая уязвимость в библиотеке, которую поддерживал один человек.
Вот и атака на xz не совсем история про лобовой эксплойт. Это скорее история про системную усталость. Уязвимость была в доверии и выгорании.
Мы живем на доброй воле и это проблема
Вообще, произошедшее сложно назвать «сбоем open-source». Это сбой модели поддержки подобного софта. Проекты, от которых зависят миллиарды людей, поддерживаются на энтузиазме одного или двух человек. И мы никак это не компенсируем.
Виноваты не разработчики, а система, где:
- корпорации получают триллионы на бесплатном ПО;
- мало кто инвестирует в его поддержку;
- кризис выгорания решается атаками на выгоревших.
Что с этим делать?
Некоторые страны и компании уже делают шаги:
- Германия выделила €23 млн на поддержку OSS;
- ЕС обсуждает фонд в €350 млн;
- GitHub и Tidelift пытаются создать модели устойчивого финансирования.
Но пока это капля в море. Тысячи проектов критичны, а финансируются десятки. И сколько еще таких историй, как атака на xz, нас ждет — покажет лишь время…