Предлагаю сегодня поговорить о скрытой и неизведанной области — GSM-связи. Почему же неизведанной, спросите вы? Ведь все носят в кармане сотовый телефон, чуть ли не дошкольники ходят с ними, а базовые станции висят на каждом столбе? Увы, обыватель считает, что всё просто и прозрачно: совершает звонки, посылает СМС. И редко задумывается над процессами, которые обеспечивают все эти действия. В этом статье я попробую показать, что GSM-связь — с одной стороны весьма непрозрачная тема, а с другой — прорва уязвимостей. Если конкретнее – то поговорим о так называемых IMSI-ловушках (или IMSI-catchers).
Содержание
- Введение
- IMSI-ловушки. Что это?
- Как это происходит
- Анализ данных от диагностического интерфейса
- Заключение
- Полезные ссылки
- Что такое IMSI?
- Examples of IMSI numeric presentation[edit]
- IMSI analysis[edit]
- Home Network Identity[edit]
- See also[edit]
- WARNING
- Что такое IMSI-перехватчик?
- Когда появились первые IMSI-перехватчики?
- Как IMSI-перехватчики монополизируют доступ к мобильнику?
- Ассортимент продаваемых перехватчиков вызывает уважение. А что насчет кустарных поделок?
- Могу ли я стать жертвой «случайного перехвата»?
- Как IMSI-перехватчик может отслеживать мои перемещения?
- Могут ли они слушать мои звонки?
- Поиск по сайту
- PHP Поиск
- Форма определения оператора абонента (MNP)
- Статистика по базе данных перенесенных номеров (БДПН)
- IMSI, MCC, MNP, PLMN IMSI (International Mobile Subscriber Identity — международный идентификационный номер подписчика) Последние три цифры Вашего номера IMSI одинаковы с последними тремя цифрами серийного номера, напечатанного на Вашей SIM карте. IMSI — соответствует конкретному абоненту. IMSI 25099… соответствует Российскому(250) оператору Билайн(99). MCC (Mobile Country Code) — код, определяющий страну,в которой находится оператор мобильной связи, состоит из 3х десятичных цифр. Например, для России он равен 250, США — 310, Венгрия — 216, Китай — 460, Украина — 255, Белоруссия — 257. MNC (Mobile Network Code) — код мобильной сети (оператора). Он идёт после MCC. Состоит из 2х или 3х десятичных цифр и для каждого оператора он уникален. Используется для сетей GSM, UMTS, CDMA, Tetra. Таблица кодов MCC и MNC для операторов по всему миру. Коды MCC и MNP и соответствующие им названия страны и оператора доступны с помощью API запросов. Список МСС кодов. PLMN это код страны + код оператора, т.е. MCC + MNP. MSIN опознавательный номер абонентской станции — 10 десятичных знаков (для идентификации абонентской станции в пределах сети подвижной связи, к которой она подключена). LAC (Location Area Code) — код локальной зоны. В двух словах LAC — это объединение некоторого количества базовых станций, которые обслуживаются одним контроллером базовых станций (BSC). Этот параметр может быть представлен как в десятичном, так и в шестнадцатеричном виде. CellID (CID) — «идентификатор соты». Тот самый сектор базовой станции. Этот параметр также может быть представлен в десятичном, и шестнадцатеричном виде. MNP API Для получения информации об операторе абонента мобильной связи используйте следующий API-запрос: http://htmlweb.ru/api/mnp/phone/ТЕЛЕФОН?api_key=API_KEY_из_профиля Если успешно, то возвращается объект содержащий следующие поля: phone - номер телефона, region - Информация о регионе абонента: строка('Неизвестен') или массив ['id','name', ...], mnc - mnc код оператора country - страна, например RU oper - Информация об операторе ['id','name','brand','mnc'] message - если есть доп. информация oper_from - id код оператора от кого перенесен, если номер перенесен от другого mobile=true - если данный абонент мобильной связи free=true - если это бесплатный номер типа 8-800 sip=true - данный номер работает по технологии IP-телефонииНапример: https://htmlweb.ru/json/mnp/phone/79185558000 {"status":200, "phone":79185558000, "region":{"id":49, "name":"Ростовская область", "okrug":"Южный федеральный округ", "autocod":61.161, "capital":1711, "english":"Rostov oblast", "iso":"ROS", "country":"RU", "vid":0}, "oper":{"id":3491, "name":"МТС", "country":"RU", "mnc":1, "brand":""}, "upd":"2018-12-12 08:58:16", "mobile":true, "limit":18} Пример с перенесенным абонентом: https://htmlweb.ru/json/mnp/phone/79153472570 {"status":200, "phone":79153472570, "oper":{"id":4055, "name":"ОАО "МегаФон"", "country":"RU", "mnc":2,"brand":"МегаФон", "url":"megafon.ru"}, "country":"RU", "mnc":2, "region":{"id":1, "name":"Московская область", "okrug":"Центральный федеральный округ", "autocod":"50,90,150,190,177,199", "capital":1, "english":"Moscow oblast", "iso":"MOS", "country":"RU", "vid":0}, "oper_from":1605, "mobile":true, "limit":79122 } Общие параметры для всех API сервисовДругие сервисы, доступные по APIСтоимсть API запроса и тарифы Получить номер телефона в любой из 150 стран
- В каких ещё странах доступен перенос номера от одного оператора к другому
Введение
Начнём издалека, а именно с того, что 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.
igor@igoryan:~$ git clone https://android.googlesource.com/kernel/msm Клонирование в «msm»… remote: Sending approximately 1.01 GiB ... remote: Counting objects: 71639, done remote: Finding sources: 100% (8333/8333) remote: Total 3952476 (delta 3262538), reused 3952419 (delta 3262538) Получение объектов: 100% (3952476/3952476), 1.01 GiB | 4.24 MiB/s, готово. Определение изменений: 100% (3262538/3262538), готово. Проверка соединения… готово.
Выберем какую-нибудь ветку:
igor@igoryan:~/msm$ git checkout android-msm-shamu-3.10-lollipop-release Распаковка файлов: 100% (45604/45604), готово. Ветка android-msm-shamu-3.10-lollipop-release отслеживает внешнюю ветку android-msm-shamu-3.10-lollipop-release из origin. Переключено на новую ветку «android-msm-shamu-3.10-lollipop-release»
Вот где живет заветный драйвер:
igor@igoryan:~/msm$ cd drivers/char/diag/
Читаем настроечный файл ядра Kconfig:
config DIAG_CHAR tristate "char driver interface and diag forwarding to/from modem" default m depends on USB_G_ANDROID || USB_FUNCTION_DIAG || USB_QCOM_MAEMO depends on ARCH_MSM help Char driver interface for diag user space and diag-forwarding to modem ARM and back. This enables diagchar for maemo usb gadget or android usb gadget based on config selected. endmenu
Как видим, драйвер позволяет общаться с модемом в двунаправленном режиме: слать некие команды и получать некую инфу. В мире 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
LAC
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-карта формально принадлежит оператору, а сам ключ хранится защищённым образом, то это считается надёжным. Шаги:
- станция генерит случайное 128-битное число и посылает его абоненту;
- обе стороны подают на вход алогритма А3 это число и общий ключ, получают 32-битное число SRES (от Signed Response);
- абонент отправляет ответ с этим числом, а станция сравнивает со своим; если всё сошлось, то абонент аутентифицирован.
Кстати, подтверждение подлинности самой станции не предусмотрено. Случайно ли?..
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!
Полезные ссылки
217 91,2k 217
SIM-карта используется для предоставления услуг связи сотовым оператором и необходима, чтобы идентифицировать пользователя. В памяти симки хранятся различные коды и функции, которые отвечают за корректную работу мобильной связи. Разбираемся, что такое IMSI, зачем нужен этот идентификатор и как его узнать.
Что такое IMSI?
На SIM-карте хранится идентификатор абонента IMSI (International Mobile Subscriber Identity) — число, которое состоит из 15 цифр. Его можно разделить на несколько составляющих. Первые пять чисел — это Mobile Country Code, уникальный код, который присваивается номеру при регистрации в сети. Mobile Network Code — код, который присваивается в рамках страны. Следующие 10 цифр IMSI — идентификатор внутри сети. Сам международный номер абонента пересылается в сеть при аутентификации. Код присваивается сотовым оператором.
В International Mobile Subscriber Identity (IMSI) хранится информация о родной стране пользователя. Под «родной» страной подразумевается территория регистрации и работы сотового оператора. Все данные хранятся в зашифрованном формате. Благодаря IMSI выполняется привязка сотового оператора к пластиковой карте, которая используется для получения услуг сотовой связи.
Чтобы узнать IMSI абонента, нужно приложение Find IMEI & MSI. Утилита доступна бесплатно в Google Play. Для корректной работы программы не нужно получать Root-права. После запуска утилиты нажмите кнопку «Get». После этого в разделе «IMSI» отобразится 15-значный код. Функционал приложения дает возможность скопировать комбинацию цифр в буфер обмена — для этого нажмите на кнопку в интерфейсе, которая находится справа от кода.
Jump to navigationJump to search
International Mobile Subscriber Identity (IMSI) | |
Status | In force |
---|---|
Year started | 1988 |
Latest version | |
Organization | ITU-T |
Committee | Study Group 2 |
Website | https://www.itu.int/rec/T-REC-E.212 |
The international mobile subscriber identity or IMSI is a number that uniquely identifies every user of a cellular network.[1] It is stored as a 64-bit field and is sent by the mobile device to the network. It is also used for acquiring other details of the mobile in the home location register (HLR) or as locally copied in the visitor location register. To prevent eavesdroppers from identifying and tracking the subscriber on the radio interface, the IMSI is sent as rarely as possible and a randomly-generated TMSI is sent instead.
The IMSI is used in any mobile network that interconnects with other networks. For GSM, UMTS and LTE networks, this number was provisioned in the SIM card and for cdmaOne and CDMA2000 networks, in the phone directly or in the R-UIM card (the CDMA equivalent of the SIM card). Both cards have been superseded by the UICC.
An IMSI is usually presented as a 15-digit number but can be shorter. For example, MTN South Africa’s old IMSIs that are still in use in the market are 14 digits long. The first 3 digits represent the mobile country code (MCC), which is followed by the mobile network code (MNC), either 2-digit (European standard) or 3-digit (North American standard). The length of the MNC depends on the value of the MCC, and it is recommended that the length is uniform within a MCC area.[2] The remaining digits are the mobile subscription identification number (MSIN) within the network’s customer base, usually 9 to 10 digits long, depending on the length of the MNC.
The IMSI conforms to the ITU E.212 numbering standard.
IMSIs can sometimes be mistaken for the ICCID (E.118), which is the identifier for the physical SIM card itself (or now the virtual SIM card if it is an eSIM). The IMSI lives as part of the profile (or one of several profiles if the SIM and operator support multi-IMSI SIMs) on the SIM/ICCID.
Examples of IMSI numeric presentation[edit]
MCC | 310 | USA |
---|---|---|
MNC | 150 | AT&T Mobility |
MSIN | 123456789 |
MCC | 502 | MY |
---|---|---|
MNC | 13 | Celcom |
MSIN | 0123456789 |
MCC | 460 | CHINA |
---|---|---|
MNC | 00 | CMCC |
MSIN | 1357924680 |
MCC | 520 | THAILAND |
---|---|---|
MNC | 03 | AIS |
MSIN | 1234567890 |
MCC | 470 | Bangladesh |
---|---|---|
MNC | 01 | Grameenphone |
MSIN | 0171566423 |
IMSI | 313460 000 000 001 | |
---|---|---|
MCC | 313 | United States |
MNC | 460 | Mobi[3] |
MSIN | 000000001 | |
ICCID | 8931 3460 0000 0000 0012(89 is the industry identifier for telecom) |
IMSI analysis[edit]
IMSI analysis is the process of examining a subscriber’s IMSI to identify the network the IMSI belongs to, and whether subscribers from that network may use a given network (if they are not local subscribers, this requires a roaming agreement).
If the subscriber is not from the provider’s network, the IMSI must be converted to a Global Title, which can then be used for accessing the subscriber’s data in the remote HLR. This is mainly important for international mobile roaming. Outside North America, the IMSI is converted to the Mobile Global Title (MGT) format, standard E.214, which is similar to an E.164 number. E.214 provides a method to convert the IMSI into a number that can be used for routing to international SS7 switches. E.214 can be interpreted as implying that there are two separate stages of conversion; first determine the MCC and convert to E.164 country calling code then determine MNC and convert to national network code for the carrier’s network. But this process is not used in practice and the GSM numbering authority has clearly stated that a one-stage process is used [1].
In North America, the IMSI is directly converted to an E.212 number with no modification of its value. This can be routed directly on American SS7 networks.
After this conversion, SCCP is used to send the message to its final destination. For details, see Global Title Translation.
Example of outside World Area 1[edit]
This example shows the actual practice which is not clearly described in the standards.
Translation rule:
- match numbers starting 28401 (Bulgaria mobile country code + MobilTel MNC)
- identify this as belonging to MobilTel-Bulgaria network
- remove first five digits (length of MCC+MNC)
- prepend 35988 (Bulgaria E.164 country code + a Bulgarian local prefix reaching MobilTel’s network)
- mark the number as having E.214 numbering plan.
- route message on Global Title across SCCP network
Therefore, 284011234567890 becomes 359881234567890 under the E.214 numbering plan.
Translation rule:
- match numbers starting 310150 (America first MCC + Cingular MNC)
- remove first six digits (length of MCC+MNC)
- prepend 14054 (North America E.164 country code + Network Code for Cingular)
- mark the number as having E.214 numbering plan.
- route message on Global Title across SCCP network
Therefore, 310150123456789 becomes 14054123456789 under the E.214 numbering plan.
The result is an E.214 compliant Global Title, (Numbering Plan Indicator is set to 7 in the SCCP message). This number can now be sent to Global Title Analysis.
Example inside World Area 1 (North America)[edit]
Translation rule:
- match number starting 28401 (Bulgaria MCC + MobilTel MNC)
- identify this as belonging to MobilTel-Bulgaria network
- do not alter the digits of the number
- mark the number as having E.212 numbering plan.
- route message on Global Title across SCCP network
Therefore, 284011234567890 becomes 284011234567890 under the E.212 numbering plan.
This number has to be converted on the ANSI to ITU boundary. For more details please see Global Title Translation.
Home Network Identity[edit]
The Home Network Identity (HNI) is the combination of the MCC and the MNC. This is the number which fully identifies a subscriber’s home network. This combination is also known as the PLMN.
See also[edit]
Наверное, даже домохозяйки знают, что публичные точки Wi-Fi небезопасны. Что не мешает рядовым юзерам вовсю ими пользоваться — ведь если нельзя, но скучно и очень хочется, то можно! И без всякого VPN — хотя функцию VPN теперь внедряют даже в комплексные антивирусные продукты. Здоровой альтернативой Wi-Fi всегда считалось обычное мобильное подключение, тем более что с каждым годом оно становится все дешевле, а скорость его все выше. Но так ли оно безопасно, как нам кажется? В этой статье мы решили собрать основные вопросы и ответы, посвященные перехвату мобильных данных, и определиться, стоит ли его опасаться обычному, далекому от сокровенных тайн пользователю.
WARNING
Чрезмерно активные действия в радиочастотном спектре требуют специального допуска и лицензирования; игнорируя данный факт, ты автоматически попадаешь в категорию «плохих парней» (подробности — здесь).
Что такое IMSI-перехватчик?
Это такое устройство (размером с чемодан или даже всего лишь с телефон), которое использует конструктивную особенность мобильников — отдавать предпочтение той сотовой вышке, чей сигнал наиболее сильный (чтобы максимизировать качество сигнала и минимизировать собственное энергопотребление). Кроме того, в сетях GSM (2G) только мобильник должен проходить процедуру аутентификации (от сотовой вышки этого не требуется), и поэтому его легко ввести в заблуждение, в том числе чтобы отключить на нем шифрование данных. С другой стороны, универсальная система мобильной связи UMTS (3G) требует двусторонней аутентификации; однако ее можно обойти, используя режим совместимости GSM, присутствующий в большинстве сетей. Сети 2G по-прежнему широко распространены — операторы используют GSM в качестве резервной сети в тех местах, где UMTS недоступна. Более глубокие технические подробности IMSI-перехвата доступны в отчете научно-исследовательского центра SBA Research. Еще одно содержательное описание, ставшее настольным документом современных киберконтрразведчиков, — это статья «Ваш секретный скат, больше вовсе не секретный», опубликованная осенью 2014 года в Harvard Journal of Law & Technology.
Когда появились первые IMSI-перехватчики?
Первые IMSI-перехватчики появились еще в 1993 году и были большими, тяжелыми и дорогими. «Да здравствуют отечественные микросхемы — с четырнадцатью ножками… и четырьмя ручками». Изготовителей таких перехватчиков можно было пересчитать по пальцам, а высокая стоимость ограничивала круг пользователей — исключительно государственными учреждениями. Однако сейчас они становятся все более дешевыми и все менее громоздкими. Например, Крис Пейдж построил IMSI-перехватчик всего за 1500 долларов и представил его на конференции DEF CON еще в 2010 году. Его версия состоит из программируемого радио и бесплатного программного обеспечения с открытым исходным кодом: GNU Radio, OpenBTS, Asterisk. Вся необходимая разработчику информация находится в открытом доступе. А в середине 2016 года хакер Evilsocket предложил свою версию портативного IMSI-перехватчика всего за 600 долларов.
Как IMSI-перехватчики монополизируют доступ к мобильнику?
- Обманывают твой мобильник, заставляя его думать, что это единственное доступное соединение.
- Настраиваются таким образом, что без посредничества IMSI-перехватчика ты не можешь сделать вызов.
- Подробнее о монополизации читай в публикации научно-исследовательского центра SBA Research: IMSI-Catch Me If You Can: IMSI-Catcher-Catchers.
Ассортимент продаваемых перехватчиков вызывает уважение. А что насчет кустарных поделок?
- Сегодня (в 2017 году) предприимчивые технические специалисты изготавливают IMSI-перехватчики, пользуясь доступными в открытой продаже высокотехнологичными коробочными компонентами и мощной радиоантенной, и затрачивают при этом не больше 600 долларов (см. версию IMSI-перехватчика хакера Evilsocket). Это что касается стабильных IMSI-перехватчиков. Но есть и экспериментальные, более дешевые, которые работают нестабильно. Например, в 2013 году на конференции Black Hat была представлена версия нестабильного IMSI-перехватчика, общая стоимость аппаратных компонентов которого составила 250 долларов. Сегодня подобная реализация обошлась бы еще дешевле.
- Если вдобавок учесть, что современная западная высокотехнологичная военная техника имеет открытую архитектуру аппаратного обеспечения и открытый код программного обеспечения (это сегодня обязательное условие, чтобы обеспечить совместимость разрабатываемых для военных нужд программно-аппаратных систем), — у разработчиков, заинтересованных в изготовлении IMSI-перехватчиков, есть все козыри для этого. Об этой современной тенденции военного хай-тека можно почитать в журнале Leading Edge (см. статью «Преимущества SoS-интеграции», опубликованную в февральском выпуске журнала за 2013 год). Не говоря уже о том, что недавно Министерство обороны США выразило свою готовность заплатить 25 миллионов долларов подрядчику, который разработает эффективную систему для радиоидентификации (см. апрельский выпуск ежемесячного журнала Military Aerospace, 2017). Одно из основных требований, предъявляемых к этой системе, — должны быть открытыми ее архитектура и компоненты, из которых она будет состоять. Таким образом, открытость архитектуры — это сегодня обязательное условие совместимости разрабатываемых для военных нужд программно-аппаратных систем.
- Поэтому изготовителям IMSI-перехватчиков даже большой технической квалификацией обладать не нужно — нужно только уметь подобрать комбинацию уже существующих решений и поместить их в одну коробку.
- Кроме того, современная — дешевеющая непомерными темпами — микроэлектроника позволяет вместить свою кустарную поделку не только в одну коробку, но даже (!) в один чип (см. описание концепции SoC) и даже более того — настроить внутричиповую беспроводную сеть (см. описание концепции NoC по той же ссылке), которая приходит на смену традиционным шинам передачи данных. Что уж говорить об IMSI-перехватчиках, когда в открытом доступе сегодня можно найти даже технические подробности об аппаратных и программных компонентах суперсовременного американского истребителя F-35.
Могу ли я стать жертвой «случайного перехвата»?
Вполне возможно. Имитируя сотовую вышку, IMSI-перехватчики прослушивают весь локальный трафик — куда в числе прочего попадают и разговоры невинных прохожих (читай «откровения старшей сестры Большого Брата»). И это любимый аргумент «адвокатов неприкосновенности частной жизни», выступающих против использования IMSI-перехватчиков силовыми структурами, которые применяют это высокотехнологичное оборудование для выслеживания преступников.
Как IMSI-перехватчик может отслеживать мои перемещения?
- Чаще всего IMSI-перехватчики, используемые местными силовыми структурами, применяются для трассировки.
- Зная IMSI целевого мобильника, оператор может запрограммировать IMSI-перехватчик, чтобы он связывался с целевым мобильником, когда тот находится в пределах досягаемости.
- После подключения оператор использует процесс картографирования радиочастот, чтобы выяснить направление цели.
Могут ли они слушать мои звонки?
- Это зависит от используемого IMSI-перехватчика. Перехватчики с базовой функциональностью просто фиксируют: «в таком-то месте находится такой-то мобильник».
- Для прослушивания разговоров IMSI-перехватчику требуется дополнительный набор функций, которые производители встраивают за дополнительную плату.
- 2G-вызовы прослушиваются легко. IMSI-перехватчики для них доступны уже более десяти лет.
- Стоимость IMSI-перехватчика зависит от количества каналов, рабочего диапазона, типа шифрования, скорости кодирования/декодирования сигнала и от того, какие радиоинтерфейсы должны быть охвачены.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru» Регистрация Войти Войти через VK Войти через FB Войти через Google
Поиск по сайту
PHP Поиск
В связи с отменой мобильного рабства и появления возможности смены мобильного оператора (перехода к другому) с сохранением номера (MNP) возникла проблема связанная с неизвестностью абоненту какой сети Вы собираетесь звонить или отправлять СМС. Для определения какому оператору в России принадлежит абонент существует сервис ЦНИИС. Если Вам нужно определить оператора мобильного телефона без ввода капчи или с помощью API, то воспользуйтесь нашим сервисом, который позволяет определить перенесенные номера России, Казахстана и других стран:
Форма определения оператора абонента (MNP)
Осталось 20 запросов до 09:06:08 04.12.19 Для получения информации о базовой привязке телефонного номера на основании распределения DEF-кодов между телефонными операторами используйте форму узнать регион по номеру телефона.
Статистика по базе данных перенесенных номеров (БДПН)
Данная информация отражает актуальное кол-во перенесенных номеров на 03.12.2019 без учета тех, кто вернулся обратно к своему оператору.
Казахстан | 499 543 | Операторы связи Казахстан |
Россия | 11 448 728 | Операторы связи Россия |
В детальном отчете Вы получите на e-mail, указаный в профиле сводный отчет от какого оператора к какому сколько перешло абонентов по состоянию на сейчас. Если вам нужна другая аналитика, — обращайтесь. Для получения отчета в формате json используйте API https://htmlweb.ru/json/mnp/report?country=RU&API_KEY=xxx
По другим странам статистика не ведется, но информация предоставляется.
IMSI, MCC, MNP, PLMN
IMSI (International Mobile Subscriber Identity — международный идентификационный номер подписчика) Последние три цифры Вашего номера IMSI одинаковы с последними тремя цифрами серийного номера, напечатанного на Вашей SIM карте. IMSI — соответствует конкретному абоненту. IMSI 25099… соответствует Российскому(250) оператору Билайн(99).
MCC (Mobile Country Code) — код, определяющий страну,в которой находится оператор мобильной связи, состоит из 3х десятичных цифр. Например, для России он равен 250, США — 310, Венгрия — 216, Китай — 460, Украина — 255, Белоруссия — 257.
MNC (Mobile Network Code) — код мобильной сети (оператора). Он идёт после MCC. Состоит из 2х или 3х десятичных цифр и для каждого оператора он уникален. Используется для сетей GSM, UMTS, CDMA, Tetra. Таблица кодов MCC и MNC для операторов по всему миру.
Коды MCC и MNP и соответствующие им названия страны и оператора доступны с помощью API запросов. Список МСС кодов.
PLMN это код страны + код оператора, т.е. MCC + MNP.
MSIN опознавательный номер абонентской станции — 10 десятичных знаков (для идентификации абонентской станции в пределах сети подвижной связи, к которой она подключена).
LAC (Location Area Code) — код локальной зоны. В двух словах LAC — это объединение некоторого количества базовых станций, которые обслуживаются одним контроллером базовых станций (BSC). Этот параметр может быть представлен как в десятичном, так и в шестнадцатеричном виде.
CellID (CID) — «идентификатор соты». Тот самый сектор базовой станции. Этот параметр также может быть представлен в десятичном, и шестнадцатеричном виде.
MNP API
Для получения информации об операторе абонента мобильной связи используйте следующий API-запрос:
http://htmlweb.ru/api/mnp/phone/ТЕЛЕФОН?api_key=API_KEY_из_профиля Если успешно, то возвращается объект содержащий следующие поля: phone - номер телефона, region - Информация о регионе абонента: строка('Неизвестен') или массив ['id','name', ...], mnc - mnc код оператора country - страна, например RU oper - Информация об операторе ['id','name','brand','mnc'] message - если есть доп. информация oper_from - id код оператора от кого перенесен, если номер перенесен от другого mobile=true - если данный абонент мобильной связи free=true - если это бесплатный номер типа 8-800 sip=true - данный номер работает по технологии IP-телефонии
Например:
https://htmlweb.ru/json/mnp/phone/79185558000 {"status":200, "phone":79185558000, "region":{"id":49, "name":"Ростовская область", "okrug":"Южный федеральный округ", "autocod":61.161, "capital":1711, "english":"Rostov oblast", "iso":"ROS", "country":"RU", "vid":0}, "oper":{"id":3491, "name":"МТС", "country":"RU", "mnc":1, "brand":""}, "upd":"2018-12-12 08:58:16", "mobile":true, "limit":18} Пример с перенесенным абонентом:
https://htmlweb.ru/json/mnp/phone/79153472570
{"status":200, "phone":79153472570, "oper":{"id":4055, "name":"ОАО "МегаФон"", "country":"RU", "mnc":2,"brand":"МегаФон", "url":"megafon.ru"}, "country":"RU", "mnc":2, "region":{"id":1, "name":"Московская область", "okrug":"Центральный федеральный округ", "autocod":"50,90,150,190,177,199", "capital":1, "english":"Moscow oblast", "iso":"MOS", "country":"RU", "vid":0}, "oper_from":1605, "mobile":true, "limit":79122 } Общие параметры для всех API сервисовДругие сервисы, доступные по APIСтоимсть API запроса и тарифы
Получить номер телефона в любой из 150 стран
Если Вы планируете интернациональную компанию, вам понадобятся местные, в том числе бесплатные (8-800), номера. Для объединения всех местных номеров в единный call-центр Вы можете использовать SIP-телефонию
В каких ещё странах доступен перенос номера от одного оператора к другому
Ещё почитать про MNP можно здесь:
- Русская Википедия: Переносимость_телефонных_номеров
- Wiki English: Mobile_number_portability
- Коды MNC Российских операторов
- Коды MNC мировых операторов
- ФГУП «ЦНИИС» - Официальный оператор Базы Данных Переносимых Номеров (БДПН) на территории Российской Федерации
Вам может быть интересно:
Сейчас на сайте: 3840
Используемые источники:
- https://m.habr.com/ru/company/0/blog/280886/
- https://androidlime.ru/imsi-mobile-operators-and-sim-cards
- https://en.wikipedia.org/wiki/international_mobile_subscriber_identity
- https://xakep.ru/2017/05/31/imsi-catchers-gsm-faq/
- https://htmlweb.ru/sendsms/mnp.php
Для получения информации об операторе абонента мобильной связи используйте следующий API-запрос:
http://htmlweb.ru/api/mnp/phone/ТЕЛЕФОН?api_key=API_KEY_из_профиляЕсли успешно, то возвращается объект содержащий следующие поля: phone - номер телефона, region - Информация о регионе абонента: строка('Неизвестен') или массив ['id','name', ...], mnc - mnc код оператора country - страна, например RU oper - Информация об операторе ['id','name','brand','mnc'] message - если есть доп. информация oper_from - id код оператора от кого перенесен, если номер перенесен от другого mobile=true - если данный абонент мобильной связи free=true - если это бесплатный номер типа 8-800 sip=true - данный номер работает по технологии IP-телефонии
Например:
https://htmlweb.ru/json/mnp/phone/79185558000 {"status":200, "phone":79185558000, "region":{"id":49, "name":"Ростовская область", "okrug":"Южный федеральный округ", "autocod":61.161, "capital":1711, "english":"Rostov oblast", "iso":"ROS", "country":"RU", "vid":0}, "oper":{"id":3491, "name":"МТС", "country":"RU", "mnc":1, "brand":""}, "upd":"2018-12-12 08:58:16", "mobile":true, "limit":18}Пример с перенесенным абонентом:
https://htmlweb.ru/json/mnp/phone/79153472570{"status":200, "phone":79153472570, "oper":{"id":4055, "name":"ОАО "МегаФон"", "country":"RU", "mnc":2,"brand":"МегаФон", "url":"megafon.ru"}, "country":"RU", "mnc":2, "region":{"id":1, "name":"Московская область", "okrug":"Центральный федеральный округ", "autocod":"50,90,150,190,177,199", "capital":1, "english":"Moscow oblast", "iso":"MOS", "country":"RU", "vid":0}, "oper_from":1605, "mobile":true, "limit":79122 } Общие параметры для всех API сервисовДругие сервисы, доступные по APIСтоимсть API запроса и тарифы
Получить номер телефона в любой из 150 стран
Если Вы планируете интернациональную компанию, вам понадобятся местные, в том числе бесплатные (8-800), номера. Для объединения всех местных номеров в единный call-центр Вы можете использовать SIP-телефонию
В каких ещё странах доступен перенос номера от одного оператора к другому
Ещё почитать про MNP можно здесь:
- Русская Википедия: Переносимость_телефонных_номеров
- Wiki English: Mobile_number_portability
- Коды MNC Российских операторов
- Коды MNC мировых операторов
- ФГУП «ЦНИИС» - Официальный оператор Базы Данных Переносимых Номеров (БДПН) на территории Российской Федерации
Вам может быть интересно:
Сейчас на сайте: 3840
- https://m.habr.com/ru/company/0/blog/280886/
- https://androidlime.ru/imsi-mobile-operators-and-sim-cards
- https://en.wikipedia.org/wiki/international_mobile_subscriber_identity
- https://xakep.ru/2017/05/31/imsi-catchers-gsm-faq/
- https://htmlweb.ru/sendsms/mnp.php