Как стать автором
Обновить

Комментарии 51

Я правильно понимаю, что доступ к SS7 есть у всех телефонных операторов в тч мелких проводных и у некоторых интернет провайдеров?
не обязательно. за подключение к ОКС N 7 в России надо платить (единоразово, госпошлина). более того, такой доступ начинается с узла (и для связи узлов), но не каждое оконечное оборудование таким явлется.
Да, у телефонных операторов есть доступ к SS7, но, как правило, он ограничивается протоколом ISUP. С его помощью провести такую атаку не удастся. Интернет-провайдеры обеспечивают иные сервисы, подключения к SS7 для коммерческих целей у них быть не должно.
Очень давно и широко известная в узких кругах технология.
Более того, операторские сервисы определения местоположения обычно работают на этом же принципе.

В «заключение» неплохо бы добавить ещё один момент — по всему миру операторы постепенно запускают так называемые «SMS Firewall»ы, которые в какой-то мере помогают бороться с потоком спама.
Побочным эффектом работы такой платформы — сокрытие реальных VLR_ID (и, опционально, IMSI абонента), что полностью устраняет возможность определения местоположения чужих абонентов.
Если я ничего не путаю, то как минимум один из зарубежных SMS шлюзов, позволял определять местоположение абонента путём отправки Ping-SMS. В моём случае определить удалось с точностью до города, что равносильно определению местоположения по реестру арендованной номерной ёмкости, поэтому не придал этому особого значения. А оказывается всё это не так просто.
Так называемый «Ping-SMS» не возвращает такой информации в pdu и это можно делать на уровне smpp протокола, только это для других целей, называется это HRL запрос, на проверку доступности абонента в сети оператора.
А может владелец наносоты, взломав её, выйти в SS7? (имеется в виду не юридический владелец, а тот, у кого эта сота стоит)
Нет.
Наносота взаимодействует только с контроллером базовых станций, там физически не получится передать необходимых команд.
Нужен доступ к протоколу MAP.
Нет. Базовые станции работают с другими протоколами. Использовать их в данной схеме не получится.
Пример с технической точки зрения интересен, а как атака просто бесполезная, условия «феерический конь в вакууме» сможет воспроизвести только непосредственно инженер в ОСС :)
Инженер может посмотреть в ОСС данные своих абонентов. В статье описан принцип получения информации о местоположении практически любого абонента в любом месте.

Например, китайский инженер может узнать местонахождение депутата Британского парламента, зная только номер его мобильного телефона.
На самом деле у разных операторов разные модификации протоколов, поэтому не факт, что ОСС депутата вернёт такую информацию или вернёт её в правильном виде.
Информацию о местоположении (MCC+MNC+LAC+CID) отдает не ОSS (Operation Support System), а мобильный коммутатор MSC. Атака строится на стандартных сообщениях протокола MAP. Все поставщики оборудования придерживаются стандартов и общих спецификаций протоколов. Кстати, в статье приведен пример именно международного уровня.
Маленькая ремарка, ОСС — Оператор Сотовой Связи. Стандарты-то есть, но как показал опыт, бывают исключения :)
Сорри за разную трактовку одной и той же аббревиатуры :)
Если у оператора будут исключения в работе указанных в статье сообщений SS7, то оператор рискует не дополучать трафик роуминговых абонентов, что не в его интересах.

В качестве исключений, скорее, можно указать следующие моменты:
1. Фильтрацию подозрительных SS7 сообщений.
2. Особенности работы мобильного аппарата при обработке SMS-пинга: некоторые модели телефонов не отвечают на такой запрос из сети.
С такой задачей не сталкивался, но тема интересная. В нашем регионе к одному местному ОСС есть доступ в сеть SS7, но попробовать пока не смогу, как появиться возможность попробую повторить данный квест в местных условиях. :)
1. Можно зафильтровать PSI (Provide Subscriber Infromation) и принимать их только от HLR'ов (если ничего не путаю, PSI нужен только для HLR'а) роуминг партнёров. Это сложный путь.
2. Можно просто скрывать реальный VLR_ID (или даже VLR_ID + IMSI) SMS Firewall'ом (SRI_FSM нужен _только_ для SMS трафика). Это простой путь.

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


В чём проблема такого подхода? Во-первых, любая сеть, с которой есть соглашение об обмене SMS, может запросто получить данные о местоположении абонентов (с точностью до MSC). Информация о местоположении может быть использована при организации массовых санкционированных и несанкционированных рассылок. Поскольку каждый коммутатор отвечает за определённый географический регион, у организатора рассылки появляется возможность отправлять различные варианты рекламного текста в зависимости от местоположения абонента.
Также, если внимательно взглянуть на рисунок выше, то можно заметить, что абонент получит SMS даже в том случае, если mt-ForwardSM Ack (подтверждение о доставке SMS) не будет доставлен к SMSC. Это позволяет организовывать мошенничества, в которых адреса отправителя и SMSC заменяются на чужие и таким образом счёт за терминацию SMS будет выставлен совсем другому оператору.

Чтобы решить эти, а также ряд других проблем, организация 3GPP разработала спецификацию TR 23.840.
Основная идея этого документа состоит в том, чтобы именно домашняя сеть отвечала за доставку смс на текущий MSC абонента. Для минимизации изменений в существующих сетях, домашняя сеть должна отвечать адресом виртуального MSC на все запросы sendRoutingInfoForSM из других сетей. Таким образом все входящие сообщения будут поступать на этот виртуальный коммутатор, а с него уже на настоящий.

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

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


отсюда
Про 2. Где можно узнать подробнее об этих моделях? С чем связано что они не отвечают? Продаются ли они сейчас? :)
А разве изначально не ясно, что нося с собой мобильный телефон, мы сообщаем о своём местоположении оператору?

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

Ещё в какой стране абонент можно понять по тону гудков и по языку на котором говорит автоответчик при отсутствии абонента в сети. ))
То есть, если абонент передвигается по территории покрытия одного LAC, не совершая и не принимая вызовов, в базе данных VLR информация о его местоположении не меняется.

Есть ещё «Periodic Location Update» инициируемый телефоном по таймеру.
Таймер для процедуры Periodic Location Update устанавливается, как правило, в значение нескольких часов. Если полагаться только на Periodic LU, то вероятность точности местоположения будет значительно ниже. Чтобы приблизить определение местоположения к реальному времени, нужно вынуждать мобильный аппарат делать активность на сети. Выбор SMS-пинга определяется тем, что это происходит незаметно для абонента.
Для кого-то это взлом, а для кого-то и возможность найти человека в лесу — проблема чрезвычайно актуальная даже в условиях, казалось бы, исхоженных европейских территорий типа Ленинградской области. Жаль, что в этоп направлении нереально что-то сделать.
В лесу точность определения по сотам будет не меньше 1 к 100 метрам, в зависимости от расположения вышек. У нас например у одного местного оператора есть регион с десятком населённых пунктов и одной вышкой на всех. Определение местоположения абонента показывает всегда одну вышку и точности никакой (около нескольких км2), т.к. нет второй вышки для просчёта даже примерного сектора местоположения.
Да не только у Вас. в Украине такое тоже есть, кое где в областях, когда на десяток сёл в 5 дворов с разбросом в несколько километров одна станция
Даже это порой весьма важно. Кроме того, на каждой вышке вешается по секторной антенне, обычно на 60 градусов, что позволяет при удачном стечении обстоятельств отсечь солидную территорию
В посте написано о том, что в сельской местности одна БС может покрывать радиус в десятки километров и это, в основном проблема больших по площади государств, вроде РФ или Украины, где в некоторых регионах плотность населения очень низкая и в наличии необъятные необжитые просторы, в рамках которых поиск абонента реален разве что в очень сферических условиях вакуума…
Описанный в статье поиск абонента не претендует на абсолютную универсальность. Атакующему в первую очередь нужно понимать цель для своих поисков и достаточную точность.
В этом направлении есть GPS, если хочешь выйти из леса по мобиле. Проблема в жадности и халатности. GSM не для того внедряли, чтобы людей в лесу искать.
Вы своим родителям возьмётесь обьяснить, как пользоваться GPS'ом в лесу? 99% заблудившихся [в Ленинградской области] не имеют с собой GPS-приёмника.
А 99% незаблудившихся имеют либо компас, либо GPS, либо у ни мозг без сбоев работает. GSM как защита от дурака — это примерно также дорого, как роскомнадзор от педофилии.
Ещё раз — у вас бабушки-дедушки столь круты, что ходят с компасом (и надо понимать, неотъемлимой его частью — картой) и/или GPS'ом? Или вы ещё считаете, что в лесу ходят только суперздоровые люди?

Так, чисто на заметку — только утром вернулся с ночного поиска бабушки 72 лет, которая ушла сутки назад в лес под Выборгом и не вернулась. Её телефон работает, но трубку она не берёт.
Можете теперь рассказать, какой вы умный, а она дура, и как вы её сходу найдёте.
Офигенный минус в коммент и карму. SergeyII, легче стало?
Не понял. У меня сейчас карма=4, значит, я не могу голосовать ни в какие + и -.

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

И тут дело в том, что в реальности поиск по мобиле также эффективен как по фонарику или по пачке сигарет.
У многих операторов мобильной связи (у операторов Б3 точно) есть услуга определения местоположения по базовым станциям GSM. На сайте оператора наверняка найдёте такую услугу. Точность определения зачастую будет выше, чем в описанном выше сценарии, т.к. у оператора есть возможность собирать информацию с нескольких базовых станций своей сети и рассчитывать примерное расстояние до каждой из БС по уровню сигнала (параметр Timing Advance).
Операторы сейчас не имеют права раскрывать информацию о абоненте даже по заявлению их родственников, только по заявлению от органов. На это уходит драгоценное время.
для того чтобы точно определять местоположение надо ставить доп. оборудование на сети.

TA вам даст лишь вон ту голубую полоску на картинке
image

В плотной городской застройке, когда BTS ставят чуть ли не на каждом доме ширина этой полоски где-то 250м.
Плюс, MS сам выбирает соту исходя из возможных энергозатрат на связь с ней, так что это далеко не ближайшая географически :)

Во время моей работы в одном из операторов большой тройки доводилось разбирать ситуацию, когда абонент рыбачил на озере. Озеро находилось на границе Тверской и Ленинградской области. Так вот, телефон решил что энергоэффективнее работать с BTS на другом конце озера и абонент попал в роуминг(хотя физически находился в домашнем регионе).

Опять же, в том же сотовом операторе у одного из директоров угнали авто, где стояла gsm-сигнализация с sim-картой этого оператора. Дело было в центре города, по смс-командам несколько раз глушили двигатель и угонщики её бросили в одном из дворов. На дежурной смене инженеры посмотрели lac/cellid/ta и по ним быстро получили район поиска. В итоге, владелец машины и несколько его друзей несколько часов блуждали в этом районе и не нашли. Нашли только на следующий день.

Так что если в городской черте точность еще более-менее, то за пределами — всё весьма грустно.

PS: если бы у меня была цель скрыться от такого наблюдения, то в нужном месте достаточно поставить gsm-voip шлюз(цена вопроса ~ 100$)
PPS: а разьве provideSubscriberInfo не требует открытого camel-роуминга?
Как хорошо, что Ленинградская область не граничит с Тверской :).
Сбор информации с нескольких БС осуществляется за счёт LMU и SMLC модулей в составе LBS (LCS) системы оператора. Модули LBS интегрируются в сеть и работают по той же SS7. В тоже время платформа точного определения местоположения, с которой работают абоненты, общается по MAP с MSC и HLR. Можно ли стандартными MAP запросами получить уточнённое местоположение, если у оператора установлен LBS? Делается ли это через тот же MAP Provide Subscriber Location?
А есть какой-то способ увидеть и/или заблокировать sms-ping к примеру написав патч для ядра андроида?
Вероятно, нет. Ведь что бы получить пакет с этой СМС и понять, что это пинг, телефону нужно её сначала получить. Таким образом в сети он всё равно засветится.
Надёжный способ — выключить телефон.
Любое вмешательство возможно лишь в случае устройства с открытым GSM-стеком. На данный момент из таких известны лишь устаревшие устройства, поддерживаемые проектом OsmocomBB.
Актуальная и интересная статься, спасибо. В интернете есть не много ресурсов, по которым можно отследить передвижения абонента используя IMEI + программу которая может ставиться скрытно. Я так за своей девушкой следил и проверял где она находится.
Жаль твою девушку
У какие операторов РФ такая возможность (пробива из вне) сейчас блокируется?
> Регистр местоположения визитных абонентов (Visited Location Register, VLR)
Ну как так? «Регистр посещённых локаций [абонента]» же (да, слово «не совсем русское», но больше подходит).
Регистр Посещенных Мест тогда уж.
согласен.
Локация или какое слово не совсем русское?
Если да, то каков список синонимов?

GPRS
А можно для тупых, что есть SS7 на пальцах без этих ваших
Зарегистрируйтесь на Хабре, чтобы оставить комментарий