Беспрецедентно опасный взлом операционных систем Linux был обнаружен совершенно случайно

В набор утилит XZ Utils (небольших служебных программ OC Linux) был умышленно внедрен вредоносный код. Интересно, что его увидел не специалист в области кибербезопасности, а сотрудник Microsoft и разработчик проекта PostgresSQL Андрес Фройнд.
iStock

"Закладка" была обнаружена им совершенно случайно. По его собственным словам, он занимался настройкой Linux-системы, когда обратил внимание на повышенную нагрузку на процессор и задержку в 500 миллисекунд при использовании SSH - популярного протокола для удаленного входа на устройства через интернет. Благодаря удаче и внимательности он в конце концов выяснил, что проблемы были результатом обновлений, внесенных в XZ Utils.

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

Напомним, что семейство операционных систем Linux относится к так называемому свободному программному обеспечения (Open Source), которое разрабатывается программистами по всему миру, большая часть из которых делает это бесплатно. И работа лишь небольшой части разработчиков оплачивается различными фондами или коммерческими компаниями.

"Если бы атака осталась незамеченной, это привело бы ко взлому миллионов компьютеров, серверов, роутеров, работающих под управлением OC Linux. Результатом эксплуатации внедренной злоумышленниками уязвимости мог быть удаленный доступ и возможность запуска произвольных команд", - говорит руководитель отдела по анализу вредоносного кода департамента киберразведки компании F.A.C.C.T. Дмитрий Купин.

Почему внедренная в XZ Utils уязвимость вызвала шок у экспертов? Дело том, что серверы, роутеры, системы хранения данных (СХД) и другое оборудование, работающее на Linux, используется примерно на 40% интернет-сайтов, на 96% миллиона крупнейших веб-серверов, на всех суперкомпьютерах из списка Top-500 и еще на миллионах единицах оборудования, стоящего на предприятиях и объектах критической инфраструктуры по всему миру, включая Россию.

"Закладка" появилась в XZ Utils в феврале 2024 года. Предполагалось, что дальше она распространится на все популярные дистрибутивы Linux. Если бы "закладка" попала в дистрибутивы, злоумышленник смог бы получить доступ к серверам в интернете, используя эту незадокументированную возможность. Это и сервера внутри организаций, и вебсайты, и большие ЦОДы. Linux используется во всех областях облачных вычислений. За последние годы это первая настолько крупная атака, - говорит руководитель Глобального центра исследований и анализа угроз "Лаборатории Касперского" Игорь Кузнецов и продолжает. - Побочный эффект этой атаки появление недоверия к программным Open Source пакетам. Все задаются вопросом, как проверять Open Source, чтобы избежать последствий. Никто не застрахован, что в других пакетах нет закладок".

В ноябре 2023 года Правительство РФ утвердило порядок перехода объектов критической инфраструктуры (КИИ) на российские IT-решения. Переход госорганов и ключевых предприятий РФ на отечественные софт и оборудование будет проходить с 1 сентября 2024 года до 1 января 2030-го. Тут следует подчеркнуть, что российские операционные системы, которые уже используются на объектах КИИ или будут использоваться в дальнейшем, также относятся к семейству ОС Linux и содержат программный Open Source код.

Разработчики российских операционных систем, к которым обратилась "РГ", заявили, что для их операционных систем данная "закладка" опасности не представляла.

"Уязвимый коммит (изменение в коде - ред.) был добавлен в версии 5.6.0 и выше, а в актуальной ОС Astra Linux используется версия утилиты ниже, поэтому уязвимый код не попал в нашу операционную систему", - подчеркнул начальник отдела перспективных технологий, исследований и разработки "Группы Астра" Роман Мылицын.

Заместитель генерального директора РЕД СОФТ Рустам Рустамов также обратил внимание на то, что причиной уязвимости является вредоносный код, присутствующий в версиях 5.6.0 и 5.6.1 библиотек xz. "В репозиториях РЕД ОС уязвимые версии отсутствуют. РЕД ОС данной уязвимости не подвержены. Наша команда разработчиков в курсе проблемы и следит за развитием событий. Обновление на уязвимые версии xz и его библиотек было исключено", - отметил Рустамов.

Кто стоит за этой атакой неизвестно, но эксперты отмечают высокую квалификацию злоумышленников. "Необычен и способ внедрения бэкдора (замаскированный способ проникновения в систему - ред.). Это не разовая компрометация исходников или дистрибутивов продукта. В кейсе XZ Utils злоумышленник несколько лет(!) добивался доверия со стороны разработчиков, чтобы получить возможность внесения правок в код репозитория. Правки в код вносились не разово, а постепенно и дополняя друг друга, - говорит Купин.

Он также отмечает, что хотя имя злоумышленника под которым он зарегистрировался (Цзя Тан) отсылает к Китаю, но некоторые независимые исследователи на основе анализа времени внесения им коммитов в код предполагают, что это намеренно внесенный ложный след.

Сами злоумышленники работали в офисные часы временных зон UTC+02/03 (Восточная и Центральная Европа, Африка, Ближний Восток, Кавказ, Турция, Западная часть России). При этом они работали в Китайский Новый Год, но не работали на Новый Год и католическое Рождество. Это не является доказательством, но может косвенно указывать на географическое расположение злоумышленника.

По словам представителя "Лаборатории Касперского" защититься от подобных атак сложно, но возможно. "Мы рекомендуем использовать в критичных системах только стабильные Linux-дистрибутивы, которые уже "отлежались" и были проверены многими пользователями и компаниями. В критической инфраструктуре нужно не только проверять все компоненты обновления перед самим обновлением системы, но и затем отслеживать, как ведет себя система после обновления. Данный бэкдор был замечен, так как один из пользователей обратил внимание, что его сервера стали потреблять больше процессорного времени", - отмечает Кузнецов.

В "Группе Астра" считают, что эта ситуация показывает, что безоглядно доверять открытому программному обеспечению нельзя и необходимо тщательно проверять любой код, используемый в продукте. "В целях расширения источников информации о потенциальных проблемах нами объявлена программа BugBounty, в рамках которой компания выплачивает вознаграждения исследователям, нашедшим проблемы Кроме того, мы непрерывно улучшаем механизмы защиты в ОС Astra Linux, которые усложняют эксплуатацию вредоносных элементов", - говорит Мылицын.

А в РЕД СОФТ уверены, что корень проблемы заключается не в открытом коде, а в человеческом факторе, так как внедрение закладки произошло под его влиянием. "Социальная инженерия и усталость человека. От данных проблем пока не застрахован ни один разработчик и ни одна компания, независимо от того, какой код она пишет. При целенаправленной атаке на цепочку поставок (атака на поставщика ПО ред.) легко может пострадать и сам код, который читают десятки людей. Данный случай не подрывает доверие к Open Source коду, а призывает нас еще раз быть внимательнее с любыми программными продуктами, даже если они получены из доверенного источника. Также важно следовать принципам безопасной разработки. То есть, работе с уязвимостями, проведению всех видов тестирования, проверке на различного рода "закладки" при сборке и обновлении компонентов", - заключает Рустамов.