Разработчик нашел бэкдор в утилите XZ Utils, который мог затронуть почти все устройства, работающие на Linux — а это подавляющее большинство серверов и суперкомпьютеров во всем мире. Эту атаку уже называют крупнейшей в истории среди тех, что были нацелены не на конкретные устройства, а на серверное программное или аппаратное обеспечение. В причастности к внедрению бэкдора уже подозревают Россию, но доказательств причастности спецслужб к операции пока нет.
В конце марта 2024 года разработчик Microsoft Андерс Фройнд обнаружил бэкдор в утилите XZ Utils, которая позволяет сжимать данные с открытым исходным кодом. На его компьютере было устрановлено последнее обновление Debian — одного из самых распространенных дистрибутивов Linux, именно там и был бэкдор.
Linux — одна из самых популярных операционных систем в мире. Различные дистрибутивы Linux установлены более чем на 77% веб-серверов в мире, кроме того топ-500 самых мощных суперкомпьютеров находятся под управлением данной ОС. Бэкдорами (от англ. back door — задняя дверь) называют уязвимости, которые намеренно оставлены в программе и позволяют получить несанкционированный доступ к данным, управлению операционной системой и всем компьютером.
Что такое XZ Utils
XZ Utils — программное обеспечение с открытым исходным кодом, которое повсеместно встречается в Linux. Этот инструмент позволяет сжимать и распаковывать данные без потерь, как это делает 7-zip на Windows.
XZ Utils доступна практически на всех устройствах Linux и других подобных операционных системах, так что бэкдор мог затронуть огромное количество компьютеров по всему миру. Пакет XZ разработал Лассе Коллин, пытаясь создать собственную версию Linux, теперь набор его утилит входит в стандартную комплектацию большинства дистрибутивов этой операционной системы, в том числе в Debian, Ubuntu и Fedora. XZ также используется и в других критически важных программах, например в протоколе удаленного входа на устройство через интернет SSH.
Бизнес консультант по безопасности компании Positive Technologies Алексей Лукацкий добавил в разговоре с RTVI, что библиотека, в которую был добавлен бэкдор, не только входит в состав большого количества дистрибутивов Linux, но и других продуктов на базе опенсорса, в том числе используемых в кибербезопасности.
«В одну из библиотек встроили так называемую закладку, которая позволяла любому злоумышленнику удаленно подключаться к компьютерам без прохождения процедуры проверки подлинности. То есть любой злоумышленник мог подключиться в ту или иную систему на базе уязвимой операционной системы Linux», — рассказал Лукацкий.
Как нашли бэкдор
Разработчик Microsoft PostgreSQL Андерс Фройнд заметил на своем устройстве проблемы с производительностью системы Debian при использовании протокола SSH. Входы по SSH вызывали ошибки в памяти компьютера, протокол работал примерно на полсекунды медленнее, чем обычно. В конечном итоге Фройнд обнаружил причину проблемы — обновления, внесенные в XZ Utils, так как в открытый исходных код был внедрен бэкдор.
Что делает бэкдор
Вредоносный код был добавлен в версии XZ Utils 5.6.0 и 5.6.1, он менял работу программного обеспечения и манипулировал файлом для удаленного подключения SSH. Какой именно код планировал запустить злоумышленник, неизвестно. В теории за счет бэкдора злоумышленники могли получить доступ к большей части серверов во всем мире.
Как бэкдор попал в XZ Utils
Исходный код XZ Utils является открытым для всех, код является общедоступным и может быть проверен и изменен кем угодно. Его поддерживал на добровольных началах разработчик-энтузиаст Лассе Коллин; любой желающий мог прислать ему предложение по исправлению кода.
В 2021 году пользователь с ником JiaT75 прислал на рассмотрение Коллину несколько обновлений. Спустя некоторое время еще два пользователя — Джигар Кумар и Деннис Энс — стали жаловаться на то, что Коллин слишком медленно принимает обновления от JiaT75.
В 2022 году Коллин сообщил, что эта работа становится для него все более обременительной из-за проблем с ментальным здоровьем — он жаловался на выгорание и усталость. Тогда свою помощь в работе предложил JiaT75 — разработчик, представившийся как Цзя Тан. Коллин согласился, и на протяжении двух лет они с Таном работали вместе, при этом Тан изменил контактные данные, через которые другие пользователи могли сообщать о проблемах и уязвимостях, на свои. Предположительно в феврале 2024 года Тан внедрил бэкдор в систему.
После выпуска обновлений, в которых был зашит бэкдор, Тан обратился к разработчикам Ubuntu, Red Hat и Debian, чтобы те внедрили обновление в свои операционные системы. Разработчики предполагают, что бэкдор был нацелен на дистрибутивы Red Hat или Debian.
Впоследствии выяснилось, что Джигара Кумара и Денниса Энса могло не существовать — их почты использовались только для переписки с Коллином, других следов в интернете они не оставили.
Независимый исследователь безопасности под псевдонимом The Grugq считает, что найденный Фройндом бэкдор «очень своеобразен в своей реализации». Обнаружить его удалось именно за счет того, что авторы бэкдора хотели скрыть его от посторонних глаз, тем самым замедлили работу системы. Цзя Тан очень осторожно пытался втереться в доверие разработчика, что позволяет предположить, что Тан участвовал в большой разведоперации, связанной с государственным агентством, считает The Grugq.
Под подозрение попала российская Служба внешней разведки, но пока данных недостаточно, чтобы предъявлять конкретные обвинения, сообщило издание The Economist. Ранее СВР обвиняли во взломе программного обеспечения для управления сетью SolarWind Orion в 2019-2020 годах, которое часто используется в американских правительственных сетях. Цзя Тан, согласно исследованию Реи Карти и Саймона Хеннигера, пытался подделать свой часовой пояс, находясь, предположительно, на два-три часа раньше времени по Гринвичу. Это позволило предположить, что Тан находился в Восточной Европе или Центральной России, при этом он якобы отмечал католическое Рождество и Новый год.
Алексей Лукацкий считает версию с причастностью СВР несостоятельной. «Если говорить про атрибуцию по часовым поясам, то в диапазоне +3 у нас находится часть Украины, Сирия, Ливия, Ирак, Иран и часть Африки. То есть +3 — это такой часовой пояс, в который входит не только Москва. Я не вижу доказательств в пользу этой версии», — считает он.
Какими будут последствия
Специалисты считают, что уязвимость обнаружили вовремя — она не успела нанести масштабный ущерб. Разработчики уже выпустили безопасное обновление, но оценить, сколько устройств могут оставаться в зоне риска, сложно, говорит Лукацкий.
Более того, опасность сохраняется, так как никто не может гарантировать, что Цзя Тан или другие злоумышленники не внедрялись в другие важные части программного обеспечения интернета.
«Это в очередной раз подняло вопрос о том, насколько мы можем доверять программному обеспечению на базе опенсорса, как оно контролируется, как оно проверяется, кто имеет право вносить туда изменения и вообще насколько можно строить масштабные и доверенные системы на базе опенсорса без соответствующей проверки его с помощью соответствующего инструментария», — заключает Лукацкий.