Одно из преимуществ работы в области безопасности сотовой сети - возможность находить новые и неожиданные типы атак. Эти атаки, о которых вы даже не догадывались, а тем более, не могли предотвратить их. Хотя поиск неожиданных атак происходит непросто, он требует опыта и множества наблюдений, но, самое главное, нужен особый образ мышления, чтобы глубже изучить нестандартные события и попытаться понять не случайный ли это misconfiguration базовой станции. Иногда мы натыкаемся на такие ситуации. Например, так случилось, когда мы с командой сканировали GSM диапазон и собирали трафик с эфира. Это нужно для того, чтобы оценить радиоэлектронную обстановку и сравнить параметры базовых станций с нормами стандартов. Таким образом, мы планировали создать сканер для поиска IMSI-Catchers, но зато наткнулись на интересный параметр в собранном pcap-файле. В данном pcap-файле были IMSI! Это немного удивило команду, но позже мы поняли почему удалось их собрать. Это был принцип работы пассивного ISMI-Catcher. Сегодня существует много материала и реализаций данной технологии. Например, в этой статье, я использовал материал администратора группы DC7495 @N3M351DA. КАК ЭТО ВСЕ РАБОТАЕТ? Во-первых, определение IMSI-Catchers - неточное и порой противоречивое. На самом деле существует два типа оборудования: активное и пассивное, но общественность и специалисты в области объединяют эти типы в то, что они называют IMSI-Catchers. Активные IMSI-Catchers, которые также называют симуляторами сотовых станций (CSS) или фейковыми базовыми станциями (FBS), пытаются заставить устройства абонентов подключаться к FBS и «снифать» их трафик в сети. Активные перехватчики можно было бы считать более «традиционным» типом IMSI-Catchers, о котором большинство населения и специалистов знают. Пассивные IMSI-Catchers перехватывают номера IMSI, когда телефон инициализирует соединение с базовой станцией. IMSI передается только при начальном соединени. С целью защиты конфиденциальности, вся дальнейшая связь с базовой станцией осуществляется с использованием случайного номера - Временного идентификатора мобильного абонента (Temporary Mobile Subscriber Identity - TMSI). Это означает, что Вы можете перехватывать номер IMSI только тогда, когда устройства перемещаются между базовыми станциями. Они недостаточно точны, не могут выполнить ни одного из сценариев дальнейшей эксплуатации этой уязвимости, но их ключевое преимущество - отсутствие взаимодействия с мобильными устройствами. Основное различие между этими двумя типами устройств состоит в том, что более традиционные активные IMSI-Catchers или FBS всегда предполагают определенную форму взаимодействия с мобильным устройством, тогда как пассивные IMSI Catchers - нет. Это имеет большое значение, когда дело касается выявления данных типов IMSI-Catchers. Существует много различных способов выявления активных IMSI-Catchers. Все они строятся на разнице в параметрах вышек сотовой связи. Примером того, что может сделать активный IMSI-Catcher, является принудительное снижение уровня шифрования на целевом мобильном устройстве или использования менее безопасного радиоинтерфейса. Выявление активного IMSI-Catcher может быть сложным. Этот процесс включает много локальных измерений радиоэлектронной обстановки и часто может приводить к ошибочным alerts, но все же это приносит результаты. С точки зрения злоумышленника, это также является большой проблемой, поскольку нужно приложить усилия, чтобы физически развернуть активный IMSI-Catcher в локальной зоне, а затем надеяться, что его радиоактивность не выдаст его. Именно поэтому более квалифицированные злоумышленники часто могут прибегать к использованию атак через сигнальные интерфейсы, такие как SS7 и Diameter. Эти интерфейсы могут направляться с любой точки мира, где нет существенного контроля над ними. В основном, к таким относят страны третьего мира. Пассивный IMSI-Catcher несколько меняет ситуацию. Он все еще предусматривает физическое развертывание системы для прослушивания в локальной целевой зоне, но, по сути, ее невозможно обнаружить в эфире, поскольку перехватчик не излучает ничего, что позволяло бы его обнаружить. Такое свойство полезно при проведении длительного наблюдения на условной местности, когда нужно быть скрытым и перехватить IMSI. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ Единственным необходимым оборудованием для реализации этой технологии является ПК и приемник SDR, что поддерживает частоты GSM. Как правило, это 850/900/1800/1900 МГц. Большинство недорогих приемников на основе RTL2832U имеют диапазон верхней частоты около 1700 МГц. Вы можете воспользоваться им, но, конечно, вы не сможете «снифать» станции с частотой 1800 или 1900 МГц. Я рекомендую использовать что-то вроде HackRF One или BladeRF. Сам же использую USRP N210, но это относительно дорогостоящее оборудование. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Проект базируется на нескольких основных компонентах: - GNU Radio - система обработки сигналов - gr-gsm - блоки и инструменты для GNU Radio, которые обрабатывают передачи GSM - Wireshark - может использоваться для просмотра исходных пакетов GSM от gr-gsm - Операционная система - Ubuntu, Debian. Лично я запускал на Ubuntu 20.04 Desktop. Как правило, нет необходимости компилировать GNU Radio с исходного кода, только если вы хотите модифицировать его, а не просто использовать в первоначальном виде. Рекомендуемый способ установки GNU Radio на большинстве платформ - использование уже скомпилированных двоичных пакетов. Бинарной инсталляции должно быть достаточно для большинства пользователей, и, безусловно, для всех, новичков в GNU Radio. Однако, если у вас особые требования или двоичный пакет недоступен для вашей системы, возможно, вам придется установить GNU Radio из источника. Команды для инсталляции: sudo add-apt-repository ppa: gnuradio / gnuradio-releases sudo apt-get update sudo apt-get установить gnuradio УСТАНОВИТЕ TSHARK sudo apt install wireshark tshark ПЕРЕХВАТ ТРАФИКА GSM И СБОР IMSI Первым хорошим шагом для того, чтобы проверить, все ли работает, является запуск команды sudo grgsm_scanner. С момента запуска будет осуществлен поиск и перечень всех ближайших базовых станций. Это может занять около минуты, прежде чем Вы увидите их. Выберите базовую станцию, с которой нужно "снифать" трафик. Мощность сигнала указана в крайней правой колонке. Числа, ближе к нулю, представляют сильный сигнал. Для этого примера я буду использовать станцию на частоте 949,8 МГц. Вы можете перехватывать трафик с помощью команды sudo grgsm_livemon -f 949.8M. Следующий шаг - запуск tshark с фильтром "e212.imsi", который отражает только декодированные пакеты, содержащие номера IMSI. Затем этот результат фильтруется через sed и grep, чтобы все это выглядело немного симпатичнее: sudo tshark -i lo -Y "e212.imsi" -V 2> & 1 | sed 's / ^ [\ t] * //; s / [\ t] * $ // '2> & 1 | grep "IMSI:" Результат Вы видели в начале статьи: ВИСНОВОК У довгостроковій перспективі, вдосконалення нових стандартів радіосигналів 5G та стільникової мережі означає, що оператори мобільного зв’язку зможуть значно покращити можливість блокування IMSI-Catchers через 5G. Якщо вони будуть впроваджені правильно, з урахуванням попередніх вразливостей, відповідно, не буде можливості для створення ефективних 5G IMSI-Catchers. В той час як у світі IMSI-Catchers — як пасивні, так і активні — використовуються для відстеження та запису трафіку та ідентифікаторів осіб без їхньої згоди. Аналізуючи вхідний трафік сигналізації, мобільні оператори можуть захистити своїх абонентів по всьому світу, незалежно від того, наскільки прихований IMSI-Catcher. Детальніше про методи виявлення IMSI-Catcher розповім в наступній статті.