What is android mnc

Найти и обезвредить. Как раскрыть местоположение мобильного абонента

В сетях мобильной связи возможно осуществление довольно специфичных атак. Об одной из них — раскрытии местоположения абонента в реальном времени с точностью до определения соты — пойдет речь в данной статье. Я не указываю точность в более привычных единицах измерения, т. к. размер соты не является величиной постоянной. В плотных городских застройках сота может обеспечивать покрытие порядка сотен метров, а в условиях лесов, полей и рек междугородной трассы — нескольких километров.

Элементы системы

Рисунок 1 (по клику открывается в полном размере)

Для начала проведу небольшое введение в структуру сотовой сети на примере стандарта GSM. Упрощенная схема стандарта приведена на рисунке 1.

Покрытие обеспечивается базовыми станциями (Base Station, BS), каждая из которых, как правило, имеет несколько антенн, направленных в разные стороны. Антенна обеспечивает радиопокрытие соты, каждая сота имеет свой идентификатор (Cell Identity, CI). Базовые станции группируются в географические зоны (Location Area, LA). Группировка происходит чаще всего по территориальному принципу. Идентификатор такой группы называется LAC (Location Area Code). На рисунке 1 каждая базовая станция обеспечивает покрытие трех секторов.

Базовые станции подсоединяются к контроллеру базовых станций (Base Station Controller, BSC). В самом простом варианте один LAC соответствует одному BSC. Именно такое назначение LAC показано на примере (рисунок 1). Для наглядности LAC выделены разными цветами.

Территория, покрываемая одним LAC, зависит от плотности населения. В Москве, в пределах МКАД, может быть несколько десятков LAC, а в небольшом регионе центральной полосы России разделение на LAC может быть таким: один LAC покрывает областной центр, второй LAC покрывает всю остальную территорию области.

Все контроллеры BSC подключаются к коммутатору (Mobile Switching Center, MSC). По сути, MSC представляет собой обычный коммутатор голосовых телефонных вызовов с аппаратно-программным расширением для обеспечения функций мобильности абонентов. В эпоху широкого распространения IP следует напомнить, что MSC оперирует коммутацией цепей (Circuit Switched) согласно установленным в нем статичным таблицам маршрутизации на основе привычной нам телефонной нумерации.

Регистр местоположения визитных абонентов (Visited Location Register, VLR) функционально считается отдельным элементом сети, но фактически всегда интегрирована с MSC. В базе данных VLR содержится информация об абонентах, которые в данный момент находятся в зоне действия своего MSC. И раз уж тема статьи о местоположении абонента, то стоит упомянуть, что для каждого абонента в БД VLR хранится информация о текущем идентификаторе LAC, и идентификаторе той соты (CI), которая была при последнем радиоконтакте мобильного телефона с сетью. То есть, если абонент передвигается по территории покрытия одного LAC, не совершая и не принимая вызовов, в базе данных VLR информация о его местоположении не меняется. В общем случае, в сети может быть несколько узлов MSC/VLR. В примере на рисунке 1 показано два таких узла.

Еще два функциональных узла — регистр местоположения домашних абонентов (Home Location Register, HLR) и центр аутентификации (Authentication Center, AuC) — размещаются физически в едином модуле. HLR/AuC хранит профили абонентов своей сети. В профиле содержится следующая информация: телефонный номер абонента, уникальный идентификатор SIM-карты (International Mobile Subscriber Identity, IMSI), ключи для обеспечения безопасности, категория абонента (предоплатная система расчетов /постоплатная система расчетов), список разрешенных и запрещенных услуг, адрес биллинг-центра (для абонентов предоплатной системы), адрес MSC/VLR, в зоне действия которого находится абонент в настоящий момент. Этот же профиль с некоторыми изменениями копируется в VLR, когда абонент регистрируется в зоне его действия.

Шлюзовой коммутатор (Gateway MSC, GMSC) является приемной точкой для входящих вызовов. Он на основе информации, полученной из HLR, маршрутизирует вызов на тот коммутатор, в зоне действия которого находится вызываемый абонент.

В процессе установления вызова, отправки SMS и прочих транзакций, узлы связи обмениваются между собой сигнальными сообщениями. Стек протоколов, набор сообщений и их параметров в сетях телефонной (не только мобильной) связи называется Системой сигнализации №7 (Signaling System 7, SS7). Все протоколы SS7 открыты и доступны для ознакомления и изучения на сайтах таких международных организаций, как МСЭ-Т, 3GPP, GSMA. Описанная далее атака опирается на сообщения SS7.

Атака

Разумеется, данную атаку не сможет совершить любой человек с улицы. Для осуществления атаки звезды должны расположиться в правильном порядке на небосводе. А именно:

  • Должен быть выход в сеть сигнализации SS7.
  • Есть возможность формировать любые сообщения сигнализации SS7 (для атаки потребуется протокол MAP).
  • В сети жертвы нет средств фильтрации некорректных или подозрительных SS7 сообщений (порядка 90% операторов по всему миру не задумываются о такой фильтрации).

Для того чтобы описание атаки не погрязло под скучными определениями и терминами, будем придерживаться следующей легенды. Пара наших сотрудников поехала в командировку в Киев: там у них намечены переговоры с потенциальными клиентами. Судя по времени, коллеги уже должны вернуться с результатом, но они сообщают, что в процессе переговоров возникли сложности, и им придется задержаться. Теперь мы будем пеленговать одного из наших коллег и предлагаем вам отследить весь процесс по стрелочкам на рисунке 2.

Рисунок 2 (по клику открывается в полном размере)

1. Мобильный телефон регистрируются в сети одного из украинских мобильных операторов. В какой-то момент абонент входит в зону покрытия LAC 41800 со стороны сектора CI 22C0 и продолжает движение вплоть до сектора CI 22CF. Что же в это время происходит в сети оператора? Когда телефон оказывается в зоне покрытия LAC 41800, то инициируется процедура Location Update, обновляя в базе данных VLR значения LAC и CI. По мере движения нашего коллеги до сектора CI 22CF в базе данных VLR не происходит более никаких изменений.

2. Мы хотим узнать, на самом ли деле у наших сотрудников идут сложные переговоры. И в какой-то момент мы формируем SMS-сообщение с атрибутом Type-0 и отправляем на номер одного из коллег. Напоминаю, что по легенде он в это время находится в секторе CI 22CF.

3. У SMS-сообщения Type-0 есть другое название — SMS-пинг. Это сообщение не отображается на экране мобильного телефона и не сохраняется в списке принятых SMS. Кроме того, оно осуществляет действия, которые абонент не планировал, а именно, производит обновление атрибутов местоположения в базе данных VLR. Теперь в VLR хранится актуальное значение сектора, в котором прибывает абонент, то есть CI 22CF.

Читайте также:  Передняя камера для android

4. Мы уже начали свою активность, однако еще не получили ни байта результата. Информация о местоположении абонента хоть и обновилась, но она находится в недрах оборудования оператора, и чтобы выудить данные, мы продолжаем наши исследования. На следующем шаге формируем сигнальное сообщение sendRoutingInfoForSM, где в качестве параметра указывается мобильный номер нашего сотрудника, и отправляем это сообщение на HLR оператора.

5. В мире телекома принято доверять друг другу, особенно запросам, пришедшим по сетям SS7, и HLR оператора не является исключением из этого правила. На рисунке 3 показана выдержка из трассировки. HLR находит в своих базах данных идентификатор IMSI абонента (1) и адрес MSC/VLR (2), в зоне действия которого находится абонент с заданным номером, и, не подозревая подвоха, сообщает своему «собеседнику» эти данные. Здесь можно обратить внимание на значения некоторых цифр. Первые три цифры идентификатора IMSI обозначают код страны абонента (Mobile Country Code, MCC). Код 250 закреплен за Россией (1). Адрес коммутатора предоставляется в более привычной для нас телефонной нумерации, где 380 — международный телефонный код Украины (2).

На этом шаге можно сделать небольшую паузу. Дело в том, что в сети существуют сервисы, которые на этом останавливаются и выдают своим пользователям информацию о местоположении любого мобильного абонента с точностью до мобильного коммутатора.

На рисунке 4 показан фрагмент скриншота с результатами поиска того же самого человека. Тут мы видим номер абонента (1). Кроме того, сервис раскрывает идентификатор IMSI (2), который вообще-то является конфиденциальной информацией и должен храниться оператором за семью печатями. Следом нам показан номер сервис-центра, где находится абонент (3). Фактически это урезанный адрес мобильного коммутатора. В России по номеру сервис-центра можно определить регион нахождения абонента, т. к. адресация коммутаторов совпадает с региональной телефонной нумерацией. К сожалению, для украинских мобильных операторов мне не удалось найти такого соответствия.

6. Наши поиски продолжаются. Теперь мы формируем сообщение provideSubscriberInfo, где в качестве параметра задаем идентификатор IMSI, и отправляем это сообщение на адрес мобильного коммутатора. Все нужные параметры (IMSI и адрес MSC/VLR) мы получили на предыдущем шаге.

7. И опять мы сыграем на всеобщем доверии. Коммутатор воспринимает сообщение как вполне легальное и с удовольствием сообщает в ответ идентификаторы сети MCC/MNC, значение LAC и недавно обновленное значение сектора CI.

Теперь посмотрим на трассировку (рисунок 5). Все значения, нужные нам для пеленгации, получены:

  • MCC — код страны;
  • MNC (Mobile Network Code) — код мобильного оператора;
  • LAC (для дальнейшего использования нужно привести это значение в шестнадцатеричный вид: 41800 = A348h);
  • CGI (Cell Global Identity) — код соты, значение сразу показано в шестнадцатеричном виде.

Пока это только набор цифр, из которого мы сможем узнать страну по MCC — код 255 закреплен за Украиной. Пока все сходится. Для финального выстрела открываем сервис для определения координат базовой станции, коих в сети можно найти немало (рисунок 6). И что же мы видим? Это не Киев, а Феодосия, причем сектор обслуживает не городскую черту, а морское побережье с пляжами! Теперь ясно, чем наши коллеги так долго заняты в командировке 🙂

Заключение

В качестве пользователей описанного в статье «сервиса» можно представить криминальных элементов, промышленных шпионов, частных детективов… Но остается вопрос: кто и каким образом может реализовать подобного рода атаки?

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

Во-вторых, для реализации сервиса может быть специально создана компания с получением необходимых лицензий, закупкой оборудования и подключением к SS7 обязательно с возможностью работы протокола MAP. Денежные затраты на реализацию такого варианта в России будут исчисляться круглыми суммами и вряд ли смогут окупиться.

Третий вариант — взлом сети управления оператора и внедрение «жучка» в его существующую инфраструктуру.

А у правоохранительных органов имеются свои средства оперативно-розыскных мероприятий (СОРМ), в том числе с функцией поиска местоположения.

Автор: Сергей Пузанков, исследовательский центр Positive Research.

P. S. Хочу выразить благодарность отделу анализа безопасности сетевых устройств Positive Technologies и Вере Красковой, которая отдыхала Крыму во время наших исследований и выступила в роли пеленгуемого абонента 🙂

Источник

GSM-ловушки: ещё один привет от Большого Брата

Предлагаю сегодня поговорить о скрытой и неизведанной области — GSM-связи. Почему же неизведанной, спросите вы? Ведь все носят в кармане сотовый телефон, чуть ли не дошкольники ходят с ними, а базовые станции висят на каждом столбе? Увы, обыватель считает, что всё просто и прозрачно: совершает звонки, посылает СМС. И редко задумывается над процессами, которые обеспечивают все эти действия. В этом статье я попробую показать, что GSM-связь — с одной стороны весьма непрозрачная тема, а с другой — прорва уязвимостей. Если конкретнее – то поговорим о так называемых IMSI-ловушках (или IMSI-catchers).

Введение

Начнём издалека, а именно с того, что GSM-связь очень плохо поддаётся изучению. Нельзя просто так взять © и поэкспериментировать с мобильной связью. Хотите соорудить девайс и подключиться к сети, анализировать протокол? Облом — коммуникационные процессоры не имеют нужного API и тем более открытого кода. По сути — это чёрные ящики за семью замками. Максимум, что они “выставляют” наружу — примитивный интерфейс на основе AT-команд. Хотя, если быть точным, то иногда немного больше – но об этом позже.

Поднять свой сервер свою базовую станцию? Это долго, дорого и за вами могут приехать. Существуют замечательные проекты, такие как OpenBTS и SDR (software defined radio), но не обольщайтесь. Во-первых, полноценная сотовая сеть состоит из множества компонентов, а во-вторых — необходимое железо неприлично дорогое. Вот такая несправедливость.


Не хотите ли прикупить OpenBTS development kit (сетей 2.5G) фирмы Range Networks за $3300?


Ettus выпускает такие гик-девайсы для экспериментов в сотовых сетях вплоть до 6 ГГц. Цена около $4000.

IMSI-ловушки. Что это?

Но вернёмся к теме статьи. IMSI-ловушки — это мобильные ложные базовые станции, которые спецслужбы включают при различных обстоятельствах в разных местах. Мобильные телефоны “цепляются” к этим станциям, которые фактически выступают в роле Man-in-the-middle. В результате мы имеем перехват разговоров, СМС и интернет-трафика. Факты использования таких устройств засекречены. В Германии, например, в 2002 году был принят закон, разрешающий спецслужбам применять такие устройства, однако не обошлось без бурных общественных дебатов. А где-то и до дебатов не доходит. Однако косвенные доказательства есть. Как правило, ловушки включаются в местах народных волнений, либо вокруг объектов, представляющих высокую государственную важность. Часто IMSI-идентификаторы особо интересных личностей заносятся в список фильтрации, и далее работают только с телефонами конкретных людей.

Читайте также:  Машины для андроид самсунг

А теперь познакомимся с IMSI-ловушками поподробнее. Для начала классифицируем их поведение. Оно может поддерживать 2 режима — активный и пассивный. В активном ловушка выступает в роли базовой станции. В пассивном — мониторит канал и другие базовые станции. Наиболее интересен, конечно же, активный режим. Опишем его функции.

Прикидываемся базовой станцией

Согласно алгоритму GSM, сотовый телефон обычно выбирает станцию с наиболее сильным сигналом. Это разумно — можно снизить мощность передатчика и сэкономить батарейку. Таким образом ловушка “забирает” телефоны на себя. Далее она запрашивает с телефона его…

  • IMSI: Interntaion Mobile Subscriber Identifier — фактически это уникальный номер SIM-карты;
  • IMEI: Interntaion Mobile Equipment Identifier — уникальный номер аппарата.

Это происходит в рамках стандартных протоколов GSM-стека. Итак, мы вышли на конкретного человека.


IMSI-ловушка “StingRay” известной фирмы Harris

Нарушение связи

Возможно оставить абонента без связи: сначала “захватить” на себя, а потом оборвать, и так до бесконечности. А можно выдавать мусор или заведомо некорректные пакеты.

Перехват разговоров

Самое вкусное. Здесь все не так просто, однако проще чем могло бы быть.
Как известно, в GSM предусмотрели защиту от несанкционированного съёма информации. Существует несколько режимов:

  • А5/0 — фактически это plain text, шифрования нет;
  • А5/1 — первый вариант с потоковым шифром, который сейчас уже не считается достаточно стойким;
  • А5/2 — экспортный вариант А5/1 с намеренно заниженной стойкостью. Куда уж ниже?!
  • А5/3 — достаточно стойкий вариант, возникший с приходом 3G.

Как показал известный хакер Harald Welte, вся схема защиты в GSM местами зиждется на популярном принципе Security through obscurity и содержит фундаментальные уязвимости. При этом столпы GSM-индустрии годами игнорируют эти факты — всех всё устраивает.

Как это происходит

Опишем алгоритм, как ловушка вклинивается в эту систему.
Сразу отметим, что если оператор изначально везде применяет А5/2, то задача становится тривиальной — этот шифр вскрывается в реальном времени. Но операторы не совсем идиоты, поэтому они используют А5/1. Базовая станция анонсирует этот протокол и телефон на него “соглашается”, все довольны.

Все шифры А5 работают на ключе, который хранится как у оператора, так и на SIM-карте. Он уникален для каждого абонента и за его сохранность отвечает крипточип SIM-карты. Из этого следует, что ловушка по отношению к оригинальной базовой станции “прикидывается” абонентским устройством на алгоритме А5/1, а для реального телефона “прикидывается” базовой станцией на алгоритме А5/2, который вскрывается на лету. Таким образом, ловушка извлекает секретный ключ абонента и реконструирует сессию с базовой станцией. Дело сделано. Как узнать, что ваш телефон переключился на слабый шифр? Обычно никак: индустрия сотовой связи заботится о людях — меньше знаешь, крепче спишь. Однако в природе все же встречаются отдельные модели телефонов, которые как-то сигнализируют, и это не смартфоны. Где-то появляется иконка, а где-то незаметная строка утекает в лог, однако это обычно связано с переходом на А5/0. В любом случае, все это скорее исключения из правил.

Противодействие

Естественно, борцы против Большого Брата не оставляют это дело без внимания.
Так появился проект SnoopSnitch — это программа для Android, помогающая в обнаружении IMSI-ловушек в повседневной жизни. Принцип её работы заключается в регулярном сборе статистики об окружающих базовых станциях: их характеристиках и местоположении. В случае обнаружения отклонения от привычной картины программа выдаёт предупреждение. Тут же можно загрузить свои данные на сервер — там формируется глобальная база знаний обо всех базовых станциях мира.

К сожалению, программа недоступна для большинства телефонов. Это связано с особенностью её работы. Как уже было отмечено, в GSM-отрасли любые технические детали старательно вымарываются, но кое-что просачивается. Baseband-процессоры Qualcomm имеют специальный диагностический интерфейс (программный), через который возможно информирование о разных событиях из жизни сотовой связи. В лучших традициях жанра, этот интерфейс недоступен обычным Android-приложениям, однако он все же доступен при наличии root. Если у вас телефон на чипсете Qualcomm, то, возможно, вам повезло. Познакомимся с интерфейсом поподробнее.

Для начала выкачаем ядро для Qualcomm. Оно называется msm — по одноимённой серии Qualcomm SoC.

Выберем какую-нибудь ветку:

Вот где живет заветный драйвер:

Читаем настроечный файл ядра Kconfig:

Как видим, драйвер позволяет общаться с модемом в двунаправленном режиме: слать некие команды и получать некую инфу. В мире user space драйвер себя обнаруживает как устройство /dev/diag_char. Беглое изучение исходного кода показывает, что драйвер предоставляет только транспорт произвольных данных, и не содержит никаких зацепок на само содержание данных. Всё что он делает, это определяет некий примитивный формат пакета: старт-байт, данные, стоп-байт, CRC. Как всё предсказуемо!

Анализ данных от диагностического интерфейса

Ребята из SnoopSnitch умудрились отреверсить сами полезные данные и на основе их строится анализ. Вот какие параметры они принимают к сведению.

MCC/MNC

Mobile Country Code — код страны. Для России это 250. К нему добавляются 2 цифры, идентифицирующие оператора, и получается полноценный код MNC (Mobile Network Code). Список всех MNC можно посмотреть здесь: mcclist.com/mobile-network-codes-country-codes.asp

Location Area Code — некий код географической зоны, которая обслуживается одним контроллером базовых станцией (BSC). Когда происходит входящий вызов, то оповещение одновременно получают все базовые станции данной зоны.

Cell ID

Идентификатор соты, т.е. базовой станции.

Longitude, Latitude

Долгота и широта базовой станции.

ARFCN

Absolute radio-frequency channel number — идентификатор, однозначно определяющий пару частот, используемых для приёма и передачи. Например, за диапазоном GSM 1800 закреплены номера 512 — 885. При этом частота передачи вычисляется по формуле 1710.2 + 0.2·(n−512), а частота приёма = частота передачи + 95.

Собственно, события, связанные с сетью:

Location Update

Когда телефон переходит из одной Location Area на другую, он посылает станциям это сообщение. Также он его посылает и периодически.

Сообщения PAGING

PAGING — это процесс нахождения конкретного абонента для передачи ему SMS-сообщения или звонка. Если приходит SMS, то программа регистрирует адрес центра SMS (SMSC) и тип сообщения: обычное, Silent или Binary.

А теперь опишем непосредственно критерии, на основе которых программа находит ловушки.

1. Сменился LAC или Cell ID, при том что частота осталась неизменной. Действительно, часто ловушка занимает существующую частоту, при этом предоставляя более сильный сигнал, чем оригинальная станция. Но эта метрика весьма ненадёжна. Во-первых, телефон может находиться в зоне действия двух станции из разных LAC, и просто перескочить с одной на другую, оставаясь на одинаковом канале. Во-вторых, сам оператор может дать команду какой-то станции на переход к другому LAC.

Читайте также:  Android sleep and deep sleep

2. LAC текущей станции отличается от LAC окружающих станций. Задача ловушки — добиться Location Update от телефона, так как только в этом случае она может “стянуть” с него нужную информацию. Поэтому она анонсирует другой LAC, предоставляя более сильный сигнал. Но есть подводный камень — легальные фемто-соты могут также иметь другой LAC: зависит от настроек соты, оператора и погоды на Марсе.

3. При неизменной паре Cell ID — LAC изменился номер канала. Ловушка часто маскируется под неиспользованную частоту уже существующей базовой станции.

4. LAC содержит единственную станцию. Как уже сказано в п. 2, обычно стремятся инициировать Location Update. Проще всего этого добиться, подняв псевдо-вышку с отличным от всех LAC и самым сильным сигналом. Подводный камень: в местах с плохим покрытием (обычно за городом) часто бывает, что телефон “видит” только одну станцию, и здесь уже бессмысленно гадать.

5. Станция не сообщает информации о своих соседских станциях, хотя это должно происходить в условиях плотного покрытия. Ловушка не анонсирует другие станции, чтобы у телефона “не было соблазна” на них переключиться. А иногда хитрят: анонсируют несуществующие частоты либо существующих, либо несуществующих соседних станций.

6. Анонсирование заведомо завышенного CRO (Channel Reselection Offset). Это один из параметров, который влияет на алгоритм выбора телефоном наилучшей базовой станции.

7. Отключение шифрования, при том что оно ранее было на той же паре LAC/Cell. Ловушка может переключить телефон с А5/3 на А5/0, тем самым выключив шифрование вообще, либо на слабый алгоритм А5/2.

8. Сообщение CIPHER MODE COMPLETE не содержит IMEISV. Тут надо подробнее пояснить весь процесс аутентификации и шифрования в GSM. Подключение к GSM-сети состоит из трех этапов: аутентификация, выработка ключа шифрования и выбор режима шифрования.

1. Аутентификация

На SIM-карте абонента хранится 128-битный ключ — Subscriber Authentication Key. Точно такой же хранится у оператора. Так как SIM-карта формально принадлежит оператору, а сам ключ хранится защищённым образом, то это считается надёжным.

Шаги:

  1. станция генерит случайное 128-битное число и посылает его абоненту;
  2. обе стороны подают на вход алогритма А3 это число и общий ключ, получают 32-битное число SRES (от Signed Response);
  3. абонент отправляет ответ с этим числом, а станция сравнивает со своим; если всё сошлось, то абонент аутентифицирован.

Кстати, подтверждение подлинности самой станции не предусмотрено. Случайно ли.

2. Выработка ключа шифрования

Здесь процедура идентичная, за исключением того, что случайное число и ключ подаются на вход алгоритма А8, а результатом является 64-битный ключ симметричного шифрования А5.

Выбор режим шифрования

Станция посылает телефону команду CIPHER MODE SELECT, сообщая требуемый режим шифрования: А5/0, А5/1, А5/2 или А5/3. Однако в этом сообщении есть ещё флаг REQUEST_IMEISV, означающий, что телефон должен сообщить в ответном сообщении CIPHER MODE COMPLETE свой уникальный идентификатор, причём это сообщение уже зашифровано на ранее согласованном ключе. По умолчанию флаг всегда ставится. Однако ловушка может не передавать этот флаг, в результате сообщение CIPHER MODE COMPLETE будет содержать предсказуемую статическую информацию. После этого производится стандартная атака по известному открытому тексту (known plain text attack), и ключ вскрывается. Итак, критерий №8 отлавливает отсутствие данного флага. Ещё есть дополнительный признак — долгое ожидание подтверждения получения станцией CIPHER MODE COMPLETE. Действительно, вскрытие ключа требует времени.

9. После Location Update идёт стандартный запрос абоненту на идентификационную информацию (IMEI, IMSI), а дальше станция отвергает телефон, заставляя делать новый Location Update. Всё это — признак ловушки, работающей в режиме сбора информации.

10. Если станция анонсирует другой режим шифрования, отличный от обычного для данной местности или оператора, то это либо ловушка, либо оператор недоглядел, либо аппаратный сбой, либо так задумано. Но в расчёт принимается.

11. Слишком маленький интервал регулярного Location Update. Телефон обязан периодически посылать Location Update — даже если он не мигрирует с одной соты на другую. А значение периода приходит со станции. Стандартное значение — 1-4 часа. Но ловушка может распространять заведомо маленькие тайм-ауты, чтобы более оперативно “цеплять” телефоны.

12. Произошёл Paging, за которым не последовало ни SMS, ни разговора. Это типичная проверка, находится ли “жертва” в зоне покрытия в конкретный момент времени.

13. Установлен канал данных (Traffic Channel, или TCH), но не последовало ни SMS, ни разговора. Либо он последовал, но спустя необычно долгое время. Согласно протоколу, после установления этого канала телефон непрерывно шлёт пустые подтверждения, пока канал не закроется. Эти подтверждения могут использоваться ловушкой для более точного позиционирования телефона.

14. Подозрительный список соседних станций (Neighboring Cells). Каждая станция передает подключённому к ней телефону список окружающих станций. Но если это ловушка, то она будет отсутствовать в этих списках – в отличие от других, легитимных, станций.

15. Разбиение на большое количество групп (Paging Group). Каждая станция объединяет все подключенные телефоны в группы. Это нужно для оптимизации ресурсов. Когда происходит входящий звонок, все телефоны данной группы получают оповещение на соответствующем логическом канале. Когда ложная станция хочет вернуть абонента в родную сотовую сеть, она посылает некорректные данные на канале той группы, в которую входит абонент. В результате все члены группы начнут процедуру Cell Reselection. Чтобы затронуть как можно меньше абонентов, ложная станция делает их маленькими, а количество групп будет большим, что и является признаком работы ловушки.

Как мы видим, существует множество критериев, каждый из которых по отдельности не является 100%-ной гарантией обнаружения ловушек. Вместо этого предлагается вероятностная оценка.

Заключение

Данной статьёй я хотел пробудить интерес к стандарту GSM, который используют около ⅘ мобильных пользователей мира. Как мы убедились, в основе безопасности GSM лежит не столько криптографическая стойкость, сколько высокий “входной билет” в эту область. Здесь главенствуют производители телекоммуникационного оборудования и операторы, а обсуждения уязвимостей редко выходят за рамки хакерских конференций. К счастью, с приходом нового стандарта UMTS защищённость была повышена. Вот главные новшества:

  • Взаимная аутентификация для защиты от ложных базовых станций;
  • Защита целостности управляющих команд;
  • Шифрование распространяется не только на участок “телефон — базовая станция”, но и на каналы внутри серверной части;
  • Более сильное шифрование (128 бит против 64 бит в GSM);

Но и хакеры тоже не дремлют. Будем ждать новых уязвимостей в сетях 3G и 4G!

Источник

Оцените статью