Tac eci что это

Как это работает: координаты базовых станций. Часть 2

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

Tac eci что это. 4b44996780ef8f3249697. Tac eci что это фото. Tac eci что это-4b44996780ef8f3249697. картинка Tac eci что это. картинка 4b44996780ef8f3249697Базовая станция сотовой сети

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

Зайдя на страницу сервиса, вы видите форму, предлагающую указать параметры базовой станции: MCC, MNC, LAC/TAC, CID/SAC/ECI. Все эти параметры обязательны для того, чтобы найти, где расположена базовая станция.

Tac eci что это. dd194c697ccc592d26ca7. Tac eci что это фото. Tac eci что это-dd194c697ccc592d26ca7. картинка Tac eci что это. картинка dd194c697ccc592d26ca7Форма ввода параметров базовой станции

MCC — это код страны, Mobile Country Code. Номер, состоящий из трех цифр, уникальный для каждой из стран мира.

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

MNC — код сотовой сети, Mobile Network Code. Номер, состоящий из двух цифр, присваивается каждой сотовой сети. Является уникальным кодом сотового оператора внутри страны. То есть в разных странах коды сотовых сетей могут повторяться.

Встроенный справочник содержит коды всех сотовых сетей России. Коды операторов «большой тройки» также применимы к Белоруссии и Украине.

Если объединить MCC и MNC, то получится номер мобильной сети PLMNPublic Land Mobile Network. Например, для сети Билайн (MNC — 99) в России (MCC — 250) номер PLMN — 25099.

CID / SAC / ECI — идентификатор соты (Cell ID) в GSM, код зоны обслуживания (Service Area Code) в UMTS и идентификатор соты E-UTRAN (E-UTRAN Cell Identifier) в LTE-сетях. Для GSM и UMTS представляет собой число размером 16 бит (от 0 до 65535), для LTE — число размером в 28 бит, т.е. от 0 до 268435455. Этот номер однозначно указывает на базовую станцию, он уникален внутри каждой зоны обслуживания (LAC или TAC) каждого оператора в стране.

Строго говоря, ECI уникален в пределах сети оператора даже без учета зоны обслуживания, так что некоторые геолокационные сервисы найдут базовую станцию сети LTE, даже если вы введете неверный TAC, например, 0.

Собирая все эти параметры вместе, мы получаем комбинацию чисел, однозначно определяющую базовую станцию по всему миру:

MCCMNCLACCID.

Например, базовая станция оператора МТС (код оператора — 01) с идентификатором соты 1384, расположенная в регионе с кодом местности 114 республики Беларусь (код страны — 257) будет кодироваться такой последовательностью чисел: 257-01-114-1384.

Мониторинг сотовых сетей

Теперь немного о том, где мы можем достать все эти параметры, чтобы посмотреть, где находится базовая станция (вернее, как мы знаем из предыдущей части статьи, где может находиться абонент, зарегистрированный на базовой станции).

Если вы являетесь счастливым обладателем смартфона на базе ОС Android, то лучшими приложениями, которые покажут всю необходимую информацию являются бесплатные G-MoN и G-MoN Pro. Можно также использовать комбинацию *#*#4636#*#* для запуска инженерного меню, в котором также будет вся необходимая информация.

Tac eci что это. 45f1192a0c8ea3070c0a3. Tac eci что это фото. Tac eci что это-45f1192a0c8ea3070c0a3. картинка Tac eci что это. картинка 45f1192a0c8ea3070c0a3G-MoN (слева) и G-MoN Pro (справа)

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

Для владельцев iPhone-ов таких приложений, насколько мне известно, нет. Но вы можете посмотреть нужные параметры в инженерном меню, попасть в которое можно, набрав комбинацию *3001#12345#*

Так вот, если посмотреть на экран любого из приложений (или на экран инженерного меню), то для начала мы увидим параметры сети оператора связи — NET в G-MoN или PLMN в G-MoN Pro. Как вы уже знаете, PLMN представляет собой два параметра — 3 цифры MCC и и 2 цифры MNC, записанные вместе.

Например, на скриншоте G-MoN выше мы видим сеть 26203, т.е. MCC здесь будет — 262, а MNC — 03. Вводим эти данные на сайте и видим, что разработчик приложения, скорее всего, живет в Германии, а воспользовавшись этим списком, понимаем, что он использует оператора связи E-Plus.

Дальше нам нужны параметры LAC (825 на скриншоте) и CID (23395 на скриншоте). Вводим все это на сайте и получаем примерное местонахождение разработчика, когда он сделал этот скриншот.

Tac eci что это. 8d3b9df898002147d1add. Tac eci что это фото. Tac eci что это-8d3b9df898002147d1add. картинка Tac eci что это. картинка 8d3b9df898002147d1addМестонахождение базовой станции 262-03-825-23395

Чтобы определить место еще точнее, можно последовательно ввести данные всех соседних вышек, которые показаны в разделе Neighbour cells detected программы G-MoN: 40055, 7655, 34105, 39075. Но не забывайте обращать внимание на параметр RXL в крайнем правом столбце, чем он меньше (больше в абсолютном значении), тем хуже уровень приема базовой станции, а значит, тем дальше она находится от абонента.

Tac eci что это. ddd449f3ac32a087a5d68. Tac eci что это фото. Tac eci что это-ddd449f3ac32a087a5d68. картинка Tac eci что это. картинка ddd449f3ac32a087a5d68Соседние базовые станции

На скриншоте выше мы отобразили все базовые станции (вернее, усредненные местоположения абонентов в секторе), которые видит телефон разработчика программы G-MoN. Как видим, базовая станция, на которой абонент зарегистрирован в данный момент (в момент снятия скрина), находится посередине между соседними базовыми станциями, причем, чем хуже сигнал (меньше RXL), тем дальше базовая станция находится от абонента.

Вместо заключения

Я думаю, не надо объяснять, что таким образом вы можете узнать параметры только своего телефона, так что следить за другими людьми у вас не выйдет. Если, конечно, у вас нет доступа к сети SS7 (подробнее об этом можно узнать в исследовании Positive Technologies), но это уже совсем другая история.

А пока пользуйтесь сервисом и не забывайте, что сайт живет на ваши донаты.

Источник

Как узнать координаты базовой станции GSM по MCC, MNC, LAC и CellID (CID).

Published 22.04.2015 by Johhny

Какие данные необходимы для локализации БС?

Для того, чтобы найти координаты сектора базовой станции необходимо знать 4 параметра:

Где взять эти данные?

Откуда берутся координаты базовой станции?

Поиск координат базовых станций проводится в базах данных Google и Yandex, которые предоставили такую возможность. Следует отметить, что в результате поиска мы получаем не точное местоположения вышки, а приблизительное. Это то местоположение, в котором регистрировалось наибольшее количество абонентов, передавших информацию о своем местоположении на серверы Google и Yandex. Наиболее точно местоположение по LAC и CID определяется при использовании функции усреднения, при которой вычисляются координаты всех секторов (CellID) одной базовой станции, а затем вычисляется усредненное значение.

Как работать с CellIDfinder?

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

Tac eci что это. content netmonitor. Tac eci что это фото. Tac eci что это-content netmonitor. картинка Tac eci что это. картинка content netmonitor

В данном случае в окне нетмонитора мы увидели:
MCC = 257 (Белоруссия)
MNC = 02 (МТС)
LAC = 16
CID = 2224

Вводим эти параметры в форму поиска на главной странице. Т.к. LAC и CID могут выдаваться нетмонитором как в десятичном, так и в шестнадцатеричном виде, то форма поиска имеет автозаполнение для LAC и CID во втором виде. Выбираем «Данные Google», «Данные Yandex» и, если необходима высокая точность, «Усреднение». Нажимаем кнопку «Найти БС».

Tac eci что это. content search ru. Tac eci что это фото. Tac eci что это-content search ru. картинка Tac eci что это. картинка content search ru

В результате получили координаты для данного сектора базовой станции. Более того координаты по базам Google и Yandex практически совпали, а значит можно предположить, что БС построены на карте достаточно точно.

Источник

Как определить местоположение по сетям сотовой связи (Cell ID)

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader
Карта Участники OpenStreetMap

Существует множество способов определения местоположения, такие как спутниковая навигация (GPS), местоположение по беспроводным сетям WiFi и по сетям сотовой связи.

В данном посте мы попытались проверить, насколько хорошо работает технология определения местоположения по вышкам сотовой связи в городе Минске (при условии использования только открытых баз данных координат передатчиков GSM).

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

Tac eci что это. bf8d9c672600ae1c506d657b1fa36c1b. Tac eci что это фото. Tac eci что это-bf8d9c672600ae1c506d657b1fa36c1b. картинка Tac eci что это. картинка bf8d9c672600ae1c506d657b1fa36c1b

Как указано на странице Cell ID, открытых баз данных с координатами передатчиков сотовой связи не так уж и много. Например, это OpenCellID.org, содержащая 2 611 805 передатчиков (13042 из них в Беларуси) и openbmap.org, содержащая 695 294 передатчиков.

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

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader
Карта Участники OpenStreetMap

Теперь немного о том, что такое передатчик в понимании OpenCellID и каким образом наполняется база данных OpenCellID. Эта БД наполняется различными способами, наиболее простой — это установка на смартфон приложения, которое записывает координаты телефона и обслуживающую базовую станцию, а затем отсылает на сервер все измерения. На сервере OpenCellID происходит вычисление приблизительного местоположения базовой станции на основании большого числа измерений (см. рисунок ниже). Таким образом, координаты беспроводной сети вычисляются автоматически и являются очень приблизительными.

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader
Карта Участники OpenStreetMap

Теперь перейдем к вопросу о том, как использовать эту базу данных. Есть два варианта: использовать сервис перевода Cell ID в координаты, который предоставляется сайтом OpenCellID.org, либо выполнять локальный поиск. В нашем случае локальный способ предпочтительней, т.к. мы собираемся проехать по 13-километровому маршруту, и работа через веб будет медленной и неэффективной. Соответственно нам необходимо скачать базу данных на ноутбук. Это можно сделать, скачав файл cell_towers.csv.gz c сайта downloads.opencellid.org.

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader

База данных представляет собой таблицу в CSV-формате, описанном ниже:

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader

Все сотовые модули поддерживают следующие команды: AT+CREG, AT+COPS (обслуживающая базовая станция), AT+CSQ (уровень сигнала от базовой станции). Некоторые модули позволяют узнать кроме обслуживающего передатчика также и соседние, т.е. выполнять мониторинг базовых станций с помощью команд AT^SMONC для Siemens и AT+CCINFO для Simcom. У меня в распоряжении был модуль SIMCom SIM5215Е.

Tac eci что это. a6e648c76a9473cf78d7a9c2ff95a166. Tac eci что это фото. Tac eci что это-a6e648c76a9473cf78d7a9c2ff95a166. картинка Tac eci что это. картинка a6e648c76a9473cf78d7a9c2ff95a166

Соответственно мы воспользовались командой AT+CCINFO, ее формат приведен ниже.

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader

Мониторинг работает – можно ехать.

Маршрут пролег в западной части Минска по ул. Матусевича, пр. Пушкина, ул. Пономаренко, ул. Шаранговича, ул. Максима Горецкого, ул. Лобанка, ул. Кунцевщина, ул. Матусевича.

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader
Карта Участники OpenStreetMap

Запись лога велась с интервалом в 1 секунду. Выполняя преобразование CellID в координаты, выяснилось что 6498 обращений к базе данных OpenCellID были результативными, а 3351 обращений не нашли соответствий в БД. Т.е. hit rate для Минска составляет примерно 66 %.

На рисунке ниже показаны все передатчики, которые встречались в логе и были в БД.

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader
Карта Участники OpenStreetMap

На рисунке ниже показаны все обслуживающие передатчики, которые встречались в логе и были в базе данных. Т.е. подобный результат можно получить на любом сотовом модуле или телефоне.

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader
Карта Участники OpenStreetMap

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

Поскольку наш SIMCom SIM5215Е в каждый момент времени показывает не только обслуживающий передатчик, но также соседние и уровни сигнала от них, то попробуем рассчитать координаты аппарата на основании всех данных, имеющихся в конкретный момент времени.

Расчет координат абонента будем выполнять как взвешенное среднее координат передатчиков:
Latitude = Sum (w[n] * Latitude[n] ) / Sum(w[n])
Longitude = Sum (w[n] * Longitude[n]) / Sum(w[n])

Как известно из теории распространения радиоволн, затухание радиосигнала в вакууме пропорционально квадрату расстояния от передатчика до приемника. Т.е. при удалении в 10 раз (например, с 1 км до 10 км) сигнал станет в 100 раз слабее, т.е. уменьшится на 20 дБ по мощности. Соответственно вес при каждом слагаемом определяется как:
w[n] = 10^(RSSI_in_dBm[n] / 20)

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

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

Tac eci что это. image loader. Tac eci что это фото. Tac eci что это-image loader. картинка Tac eci что это. картинка image loader
Карта Участники OpenStreetMap

По итогу маршрут оказался неплохо прочерчен за исключением выброса в сторону развязки на МКАД, по ранее описанной причине. Кроме того, со временем база данных координат будет наполнятся, что также должно повысить точность и доступность технологии определения местоположения по Cell ID.

Спасибо за внимание. Вопросы и комментарии приветствуются.

Источник

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

Tac eci что это. 8182537027204f9db4c8c032f528bdef. Tac eci что это фото. Tac eci что это-8182537027204f9db4c8c032f528bdef. картинка Tac eci что это. картинка 8182537027204f9db4c8c032f528bdef

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

Введение

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

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

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

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

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

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

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

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

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

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

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

Опишем алгоритм, как ловушка вклинивается в эту систему.
Сразу отметим, что если оператор изначально везде применяет А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.

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-карта формально принадлежит оператору, а сам ключ хранится защищённым образом, то это считается надёжным.

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

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%-ной гарантией обнаружения ловушек. Вместо этого предлагается вероятностная оценка.

Заключение

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *