Первый опенсорсный LTE-сниффер с полной функциональностью

itgsjy2cvo9kqthpjknz9qbgqtc.jpeg
Базовая станция LTE

В интернете много инструкций, как оборудовать собственную станцию LTE. Сети 4G становятся массовой и доступной инфраструктурой для передачи данных. И важно понимать, какие угрозы безопасности существуют в этой области, как перехватывать и анализировать трафик.

Устройства для прослушивания трафика LTE до недавнего времени имели ограниченную функциональность и не могли анализировать все служебные данные. Однако в прошлом году инженеры из Корейского института передовых технологий (KAIST) опубликовали исходный код первого в мире опенсорсного сниффера LTESniffer с полным набором функциональных возможностей, включая декодирование трафика PDCCH и PDSCH.

История LTE-снифферов и способы их применения


Сниффер LTE пассивно перехватывает беспроводной трафик абонентов базовой станции 4G. Из-за особенностей передачи трафика LTE любой человек с соответствующим оборудованием может перехватывать эти сигналы. Имитируя поведение пользовательского оборудования (типа смартфона) и базовой станции, сниффер декодирует трассировку нисходящего и восходящего каналов. В отличие от обычных смартфонов, которые декодируют только свою трассировку, сниффер декодирует всю доступную трассировку в эфире, включая открытый текст и некоторые служебные пакеты. Конечно, он не способен расшифровать зашифрованный трафик с клиентского устройства, но кое-какую информацию всё-таки может оттуда извлечь.

iltwzirtfrcg122iwf-tnmesstq.png


Физический уровень LTE

Область использования снифферов LTE со стороны злоумышленников и специалистов по безопасности подробно описана в литературе:


Последняя задача (сетевая аналитика) — основная причина, по которой инженеры разрабатывают и используют снифферы.

В предыдущие годы было реализовано несколько снифферов, но почти все они ограничены декодированием лишь канала управления нисходящей линии связи (PDCCH). Они не прослушивают пакеты IP и пакеты протокола управления соединением между устройством и сотовой сетью (например, RRC и NAS). Первой попыткой декодирования канала DL стала программа LTEye с базовыми функциями мониторинга сети. Позже вышли OWL и FALCON. Существуют также три коммерческих сниффера Wavejudge, ThinkRF и AirScope, которые могут декодировать каналы данных. Первые два декодируют как DL, так и UL, но их трудно использовать из-за высокой цены (от $25 000 за Wavejudge). Наиболее популярным коммерческим сниффером в научных кругах является AirScope, но он не декодирует трафик UL, а его производительность оставляет желать лучшего (см. ниже). Кроме того, у коммерческих программ закрытый код, поэтому их нелегко модифицировать и добавлять новые функции.

Вышеупомянутый LTESniffer от корейских специалистов — первый в мире опенсорсный сниффер LTE, который пассивно декодирует данные в восходящем и нисходящем каналах. Решающее значение для его работы — получение информации обо всех абонентских устройствах, чтобы повысить точность декодирования данных, особенно в сценариях с высокой пропускной способностью. Основные функции в программе реализованы с помощью опенсорсного пакета srsRAN. Статья «LTESniffer: прослушивающее устройство с открытым исходным кодом для LTE Downlink/Uplink» подготовлена для 16-й конференции ACM WiSec 2023.

fcq-swd2czfq1wuq0b4-hhrfau4.png
Архитектура LTESniffer

Реализация LTESniffer не очень тривиальная, поскольку для успешного декодирования трафика каждого пользователя необходимо понимать детальные конфигурации и параметры. Используя различные методы, авторы нашли способ улучшить производительность декодирования. На следующей диаграмме видно, что LTESniffer кардинально превосходит AirScope по скорости декодирования:

ryts1ptq6kunhdms0hnukyryw5s.png
Скорость декодирования субкадров во время пиковой нагрузки, сравнение с AirScope

LTESniffer выгодно отличается от других снифферов LTE. Как уже упоминалось, это по сути единственная опенсорсная система, которая отслеживает оба канала данных (DL/UL) и управляет передачей:

d0d_di2kk1f2uvobnwokjt2zs3c.png

Программа декодирует физический канал управления нисходящим каналом (PDCCH) для получения информации управления нисходящим каналом (DCIs) и временных идентификаторов радиосети (RNTIs) всех активных пользователей. Используя декодированные DCI и RNTI, LTESniffer далее декодирует физический общий канал нисходящего канала (PDSCH) и физический общий канал восходящего канала (PUSCH) для получения трафика данных восходящего и нисходящего каналов.

LTESniffer поддерживает API с тремя функциями: сопоставление ID, сбор IMSI и профилирование.

Системные требования


В настоящее время LTESniffer стабильно работает на Ubuntu 18.04/20.04/22.04.

Для декодирования трафика в реальном времени требуется высокопроизводительный CPU с несколькими ядрами, особенно во время пиковой нагрузки, когда на базовой станции много активных пользователей.

LTESniffer успешно справился с декодированием трафика базовой станции со 150 активными пользователями в реальном времени на Intel i7–9700K.

Рекомендуемая конфигурация:

  • CPU Intel i7 с не менее чем 8 физическими ядрами
  • Не менее 16 ГБ RAM
  • SSD-накопитель 256 ГБ
  • Программно определяемая радиосистема SDR


LTESniffer совместим с разными SDR для восходящего и нисходящего каналов.

Для одного нисходящего трафика с базовой станции можно использовать большинство SDR, поддерживаемых библиотекой srsRAN (например, USRP или BladeRF). SDR должен быть подключён к ПК через порт USB 3.0. Кроме того, для декодирования нисходящих сообщений в режимах передачи 3 и 4 требуется GPSDO и две антенны RX.

В режиме прослушивания UL+DL нужно обрабатывать две частоты одновременно, что можно реализовать с помощью более профессионального USRP X310 (стоит около $9100) или двух USRP B-Series.


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

© Habrahabr.ru