84 уязвимости в ядрах 4G и 5G

Исследователи Наньянского технологического университета в Сингапуре обнаружили широкий класс уязвимостей в ядрах сетей 4G LTE и 5G. Проверка семи программных реализаций выявила 84 ранее неизвестных дефекта: 83 из них подтвердились, 81 получил идентификатор CVE. Ошибки позволяют вывести из строя компоненты ядра, проводить несанкционированные сигнальные операции, перенаправлять трафик и захватывать пользовательские сессии. Авторы сообщили результаты изданию The Hacker News.
84 уязвимости в ядрах 4G и 5G
Изображение носит иллюстративный характер

Работа называется «Исследование ошибок неявного доверия в ядрах операторских сетей с помощью многоагентного поиска и анализа уязвимостей» (Understanding Implicit Trust Errors in Core Carrier Networks through Multi-Agent Flaw Discovery and Analysis). Один из авторов, Цзыюй Линь (Ziyu Lin), сформулировал проблему так: «Постоянно растущее число уязвимостей показывает, что перед нами не небольшая коллекция разрозненных ошибок реализации, а более широкая и сохраняющаяся проблема безопасности, которая требует срочного внимания поставщиков и сетевых операторов».
Для 4G исследователи проверили Open5GS и OpenAirInterface. В выборку 5G вошли Open5GS, free5GC, OpenAirInterface, SD-Core и eUPF. Получилось семь целей тестирования, поскольку Open5GS и OpenAirInterface представлены в обеих категориях. Анализ касался сигнальных интерфейсов и прежде всего двух протоколов: управляющей плоскости GPRS Tunnelling Protocol, или GTP-C, и Packet Forwarding Control Protocol, то есть PFCP. В отдельных сценариях фигурировали GTPv2-C и протокол пользовательской плоскости GTP-U.
Общую причину дефектов авторы назвали ошибками неявного доверия, сокращённо iTrue. Функции ядра сети часто считают любое сообщение от внутреннего узла заведомо легитимным. Поэтому программа может не проверить формат и смысл запроса, наличие ресурсов, полномочия отправителя, допустимость правила или уникальность идентификатора. Пока интерфейс скрыт в изолированном сегменте, такая беспечность может оставаться незаметной. Стоит постороннему получить доступ, и привычное «свой узел плохого не пришлёт» превращается в уязвимость.
Раньше ядра сотовых сетей, или CN, защищала в основном физическая изоляция: обмен между внутренними функциями шёл внутри доверенной зоны. Облачные развёртывания сделали эту модель хрупкой. Ошибка конфигурации, слабое разграничение сегментов либо случайно опубликованный интерфейс расширяют поверхность атаки. Если внутренний адрес доступен извне, злоумышленник может отправить компоненту произвольное сообщение GTP-C или PFCP, а тот обработает его как запрос доверенного соседа.
Для поиска таких ошибок команда создала многоагентную систему iFinder с поддержкой большой языковой модели. Она обобщает сведения об известных уязвимостях, распределяет их по шаблонам обнаружения, а затем ищет сходные iTrue-дефекты в коде ядер мобильных сетей. Результат модели не принимается на веру. Каждый кандидат связывают с конкретной процедурой протокола, после чего вручную изучают код и выясняют, проверяет ли реализация входные данные, семантику запроса и доступность нужных ресурсов. Так отсеиваются ложные срабатывания.
Для практической эксплуатации атакующему обычно нужны IP-адреса компонентов ядра, доступ к внутренним интерфейсам и возможность отправлять произвольные PFCP- либо GTP-C-сообщения. Адреса можно найти в публичной документации, выявить пассивным перечислением или обнаружить активным сканированием. Источником атаки способен стать удалённый узел за пределами ядра. Другой вариант — вредоносное пользовательское оборудование UE, подключённое к мобильной сети и внедряющее подготовленные данные в восходящий поток.
Особенно неприятен сценарий с туннелированием протоколов и преодолением сетевой границы. Созданное атакующим сообщение PFCP или GTP-C помещается внутрь пакета GTP-U, который предназначен для передачи пользовательского трафика. При недостаточно строгой фильтрации управляющая команда проходит через канал пользовательской плоскости, достигает внутреннего компонента и разбирается там как доверенная. По сути, сигнальный запрос тайком провозят через интерфейс, который не должен был его пропускать.
Пример отказа в обслуживании исследователи разобрали на Open5GS LTE. Атакующий отправляет вредоносные сообщения GTPv2-C, а ошибка срабатывает при разборе запроса Create Session Request, то есть запроса на создание сессии. В результате аварийно завершается Serving Gateway Control plane (SGW-C), управляющая часть обслуживающего шлюза. Пока компонент не восстановлен, соответствующие операции ядра недоступны.
Захват сессии связан с тем, что функция пользовательской плоскости UPF не требует уникальности идентификаторов Packet Detection Rule, или PDR, в запросе PFCP Session Modification Request. Когда UE жертвы начинает процедуру подключения attach, функция управления сессиями SMF отправляет в UPF запрос PFCP Session Establishment Request. Затем атакующий присылает запрос на изменение сессии, повторно использует идентификатор PDR жертвы и задаёт своему правилу меньшее числовое значение Precedence. В данном случае меньшее число означает более высокий приоритет.
Поддельный PDR связывается с вредоносным Forwarding Action Rule (FAR), правилом действия при пересылке. UPF не отклоняет дубликат, сортирует правила по Precedence и ставит запись атакующего перед законной. При обработке пакетов первой совпадает именно вредоносная PDR. После этого UPF создаёт новый туннель к атакующему, и восходящий трафик UE уходит туда вместо интернета. Захват происходит через одну управляющую команду PFCP, хотя пользователь продолжает работать в своей сессии и может не заметить подмену маршрута сразу.
Тот же дефект нашли в двух действующих коммерческих ядрах 5G. Компания Dotouch исправила его в продукте XproUPF; уязвимость зарегистрирована как CVE-2026-8233 и получила 4,6 балла по шкале CVSS. Второй случай относится к неназванному крупному оператору либо поставщику коммерческого ядра 5G. Его имя не раскрыли, а исправление на момент публикации ещё готовилось. Часть ошибок 5G досталась новым системам от реализаций 4G: старый код и прежние представления о доверенной среде пережили смену поколения связи.
Защита требует проверять формат и смысл каждого сигнального сообщения, наличие ресурсов, полномочия отправителя и уникальность идентификаторов, если этого требует протокол. Внутренние PFCP- и GTP-C-интерфейсы нельзя оставлять доступными из пользовательской плоскости или интернета; облачные границы должны блокировать туннелирование управляющих запросов через GTP-U. Само происхождение пакета из внутреннего сегмента больше не годится как доказательство его законности: 84 найденных дефекта показывают цену такого доверия вполне предметно.


Новое на сайте

Ссылка