imageНа прошлой неделе на хабре появилась статья про HackerSIM с интригующим названием и многообещающем содержанием. Суть статьи сводилась к следующему: за существенную сумму, на порядок превышающую стоимость обычной sim-карты, некие ребята предоставляют Вам свою sim-карту, которая позволяет «безопасно звонить с любого номера из любой страны с любым голосом на выбранные номера» (в кавычках потому, что здесь цитируется агрегация тезисов из ранее упомянутой статьи). Посмотрев комментарии, выяснилось, что к данной теме проявляется живой интерес, но ни у кого нет точного понимания, как это работает и работает ли вообще.

Немного подумав с коллегами, мы решили рассказать, как данная услуга осуществима в реальной жизни.

Изначально мы были скептически настроены по поводу содержания приведённой выше статьи, очевидно написанной неспециалистом в данной области, поэтому решили посмотреть, что на эту тему есть в интернете. Вот несколько ресурсов (safecalls.ru, видео работы, ещё одно видео), которые нас убедили в работоспособности предлагаемой услуги (под вопросом осталась только заявленная безопасность звонков, так как мы не смогли рассмотреть этого на видео, поэтому её наличие ещё будет обсуждаться далее). Кроме того добавились такие требования, как работа с любыми мобильными телефонами и смартфонами, отсутствие необходимости установки программ и наличия подключения к интернету.

Описание работы услуги


Мы постараемся не утомлять читателя техническими подробностями и опишем некоторые процессы на достаточно абстрактном уровне. В случае интереса к каким-то неосвещённым деталям, просим писать вопросы в комментарии. Надеемся, это дополнит общую картину.

Подключение и регистрация в сети

При установке новой sim-карты, первым делом телефон пытается подключиться к домашней сети. Как уже было много раз написано, телефон сортирует доступные частоты по уровню сигнала в порядке убывания и затем настраивается на них по очереди в поисках своего оператора, пока данный процесс не завершится успехом. Рассматриваемая sim-карта, как заявлено, работает в любых странах мира, поэтому, очевидно, что, как правило, работа её проходит не в домашней сети – sim-карта находится в роуминге и для связи использует базовые станции, предоставляемые другими операторами. Только другие операторы «просто так» не предоставляют своё оборудование «не своим» клиентам, происходит это лишь в том случае, если между операторами заключены роуминговые соглашения.

Однако, во-первых, ассоциация GSM старается широко распространить стандартизованные роуминговые соглашения, а во-вторых никто не проверял как работает данная сим-карта в других странах. По непроверенным данным в современном мире чаще всего у всех со всеми есть эти соглашения, но здесь важно не это, а то, что у провайдеров такой услуги должен быть лицензированный оператор, который предоставляет им sim-карты, а у оператора есть роуминговые соглашения.

Как было только, что сказано по умолчанию Ваш телефон подключается к базовой станции с наибольшим уровнем сигнала. Но в целях обеспечения безопасности, а именно – защиты от IMSI Catcher’ов, при использовании данной sim-карты подключение происходит ко второй по мощности BTS (Base Transceiver Station). С технической точки зрения сделать это можно лишь на очень низком уровне, ведь всю логику работы с радиоканалом выполняет baseband processor (модем – отдельное устройство в Вашем телефоне со своей архитектурой и ОС). На Defcon 21 был представлен доклад «The Secret Life of SIM Cards», из него можно понять, что и на sim-карте есть своя ОС и свои приложения. При этом приложения на sim-карте могут отображать простейшие UI control’ы – к примеру услуга «Живой баланс» реализуется именно так, открывать url’ы, отправлять sms’ки, совершать звонки, получать уведомления о начале/завершении вызова.

Данные приложения пишутся на сильно урезанной версии языка Java и для взаимодействия используют SIM Toolkit (STK) API. Документации по поводу работы SIM Applets и baseband processor’а мало, но если функция выбора второй по мощности базовой станции работает, то реализоваться это может именно с помощью SIM Applet’а. Это действительно трудоёмкая и сложная работа (возможно даже невыполнимая — мы не изучали детально документацию на предоставляемый baseband’ом интерфейс), выполнить которую может только высококвалифицированный специалист, но наше мнение – эта функция не поддерживается в этих sim-картах, так как для её выполнения требуется очень много ресурсов, а результат мало того, что сомнительный, так и для абсолютного большинства незаметный (не каждый может проверить). Поэтому скорее всего это просто маркетинговая уловка. Ещё одним аргументом в пользу того, что данная функция не реализована является то, что написанное приложение нужно «залить» на sim-карту. Сделать это, естественно, может не кто угодно, а лишь обладатель ключа OTA Install Key, уникального для каждой sim-карты.

В презентации, указанной выше, есть слайд с оператором Shadytel и распространяемой им sim-картой с Ki, IMSI и OTA Install Key. Мы не знаем является ли он лицензированным, но если является, и организаторы услуги «Hacker SIM» используют этого или подобного оператора, то пользователю данной sim-карты должно плохо спаться, потому что пока он спит на его карту третьи лица могут вовсю заливать код (ведь они знают OTA Install Key).

Что касается принудительного использования алгоритма шифрования A5/1 для трафика между MS и BTS при участии данной sim-карты, то это опять отсылает нас к предыдущему абзацу. Команда на установление алгоритма шифрования приходит MS от BTS в сообщении Ciphering Mode Command протокола Radio Resource Management (поверх LAPDm). Таким образом, sim-карте нужно получить от baseband’а этот пакет и в случае «неподходящего» алгоритма отклонить команду и завершить соединение. Для всего этого baseband должен предоставлять sim-карте очень развитой интерфейс. И опять же встаёт проблема разработки и установки приложения на sim-карту (непонятно даже, что сложнее). Кроме того, возникает ещё один риторический вопрос: а почему только алгоритм A5/1 используется? Понятно, что A5/1 нужен для совместимости со старым оборудованием, но если телефон пользователя и оборудование оператора поддерживают A5/3, то почему бы не использовать его, ведь он, по мнению специалистов в области криптографии, безопаснее? Так что скорее всего и эта фича не реализована.

Осуществление звонка с любого номера

Теперь перейдём к самому интересному – тому, что демонстрируется в видео, подтверждается комментариями к статье, а значит и реализовано – совершению звонков с абсолютно любых номеров.
Идея данного приёма заключается в том, что для звонка в телефонных сетях для идентификации вызывающей стороны (Caller’а) используются одновременно два идентификатора: идентификатор номера, по которому выставляется счёт, и номера, который высвечивается на оборудовании принимающей звонок стороны (Callee).

Те, кого интересуют подробности и детали данной темы могут могут ознакомиться с ней чуть подробнее:
Для начала важно понимать, что обычная телефонная сеть на самом деле состоит из двух. Первая сеть используется для передачи трафика вызовов пользователей, вторая — сеть с коммутацией пакетов, которая используется для установления голосовых вызовов, их завершения, поддержки различных других возможностей, в частности caller id и особых номеров, начинающихся с 800. Эта сеть и есть общеканальная система сигнализации № 7 (Signal System 7, SS7). Изначально доступ к ней имели лишь узлы коммутации и базы данных операторов связи. Однако позже доступ был частично расширен и на PBX (private branch exchange — частные корпоративные линии) для предоставления доступа к caller id и другим возможностям SS7 через ISDN PRI (вид подключения к ISDN и кабеля, используемого для него).

Очевидно, что с возможностью манипулирования сигнальной информацией в SS7 открываются широкие возможности для различных трюков в телефонной сети, в том числе и подмена исходящего номера. Для того, чтобы понять каким образом это делается необходимо рассмотреть процесс установки звонка в обычной телефонной сети. Во время совершения вызова коммутатор на вызывающей стороне формирует и отсылает принимающему коммутационному оборудованию два сообщения по каналу сигнализации SS7. Первое сообщение называется IAM (Initial Address Message). Оно содержит номер абонента, к которому пытаются дозвониться, а также специальный номер ANI (Automated Number Identification) по старой терминологии, или как он сейчас называется CHARGED DN. Этот номер используется для идентификации звонящего абонента и выставления счета (биллинга). Манипулировать им, как правило, невозможно. Этот номер формируется и отправляется коммутационным оборудованием обслуживающего клиента оператора связи. ANI или CHARGED DN высвечивается при приеме звонка у экстренных служб (т.е. вариант позвонить в МЧС с фэйковым номером отпадает – у них на оборудовании отображается ANI, который в общем случае не подменить) и может быть получен частными клиентами для входящих вызовов при использовании доступа к телефонной сети при помощи PRI или SIP.

Коммутационное оборудование принимающего оператора в ответ на первое сообщение IAM формирует второе, которое называется INR (Information Request) и в свою очередь тоже отправляет его по каналу сигнализации SS7 коммутационному оборудованию оператора абонента, осуществляющего вызов.

В ответ на это сообщение, коммутационное оборудование оператора абонента, совершающего вызов, формирует второе сообщение INF. Именно это сообщение и содержит тот самый печально известный CPN (Called Party Number) / Caller ID. Это и есть тот самый номер, который отображается на экране телефона при приеме входящего вызова. Помимо самого номера в сообщении может присутствовать флаг «приватности», который предписывает принимающему коммутационному оборудованию не выдавать номер оборудованию конечного пользователя. В случае если у абонента подключена услуга, позволяющая ему видеть все номера входящих вызовов, то номер скорее всего отобразится в независимости от флага приватности.

Ниже схематично изображён процесс обмена описанными сообщениями:

image

Caller ID может быть изменен коммутатором, входящим в состав PBX, и подключенным к каналу сигнализации через PRI или SIP-шлюз.
Следует заметить, что CPN/Caller ID может высылаться сразу в первом сообщении IAM, в таком случае запрос INR и ответ INF не производятся. Однако сути это не меняет: есть отдельный номер, по которому выставляется счет, и отдельный номер, который просто высвечивается на экране телефона, принимающего звонок абонента.

Воздействовать на первый идентификатор (он носит название ANI (Automated Number Identification) или CHARGED DN) противозаконно и, как правило, невозможно. Манипулирование же вторым параметром (Caller ID) может совершаться любым PBX’ом (private branch exchange — частные корпоративные линии), подключённым к ISDN. Таким образом, всякий обладающий доступом к телефонной линии через SIP или PRI, может менять Caller ID на какой ему вздумается не особо переживая о последствиях. Операторы телефонной связи ISDN обычно не проверяют соответствие Caller ID реальному. Провайдеры VoIP еще менее склонны к уменьшению функциональности своих клиентов.
Из этого следует, что номер, отображаемый на экране принимающей стороны подменить очень легко. Так же видно, что анонимность, при совершении вызова в телефонной сети общего пользования полностью отсутствует. Достигается это за счет ANI или CHARGED DN. Именно на основе этого номера работают системы следственно-розыскных мероприятий, в то время, как Caller ID в таких случаях уже никого не интересует.

Практические руководства по тому, как можно это реализовать своими руками, Вы найдёте по запросу в поисковике «Caller ID spoofing».
Кстати, забегая вперёд, скажем, что только звонки имеют Caller ID. При отправке sms’ки сообщение с этим полем не используется. Этим объясняется то, что предлагаемые sim-карты не поддерживают отправку sms. Хотя на сайте это преподносится, как в «целях безопасности».

Установить PBX – по сути, обычную телефонную сеть в офисе – не составляет никакого труда, как с финансовой точки зрения, так и административной. PBX в свою очередь подключается к телефонной сети общего пользования при помощи PRI (провайдер протягивает кабель до Вашего офиса), либо при помощи SIP уже не по телефонному кабелю, а по доступному интернет-каналу. В результате данного мероприятия Вашему офису выделяется пул городских номеров, с которых и на которые можно свободно звонить.

Резюмируя только что сказанное: для звонка с произвольного номера необходимо просто заказать у телефонного оператора ISDN предоставление вам доступа к телефонной сети через PRI или у SIP провайдера телефонной связи доступ через SIP, с возможностью манипулировать некоторыми параметрами голосовых вызовов (в частности Caller ID).

Официальный регулирующий орган FCC (Federal Communications Commission, Федеральная комиссия по связи США) по этому поводу высказываются следующим образом: «Операторы связи должны предоставлять корректный номер для отображения для конечно пользователя, и по возможности имя компании, осуществляющей вызов». За предоставление недостоверной информации для операторов США предусмотрены штрафы. Однако ситуация, когда Caller ID меняется не оператором, не регулируется никак даже в США.

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

Решение данной проблемы нам кажется действительно интересным (можно даже сказать хакерским). Процесс звонка с мобильного телефона на другой с произвольным исходящим Caller ID изображён на схеме:

image

На схеме изображено, как абонент с номером 1234567 (будем называть его абонент А) звонит абоненту 7654321 (абонент Б) с произвольным номером.

Первым делом, согласно инструкции с одного из сайтов, предоставляющих услугу sim-карты с возможностью менять исходящий номер, необходимо ввести USSD команду типа 150*номер_телефона*, что абонент А и делает.

Телефон подключён к сети, он находится в роуминге, поэтому первые два шага, изображённые на схеме выполняются тривиально, в полном соответствии с документацией GSM. На третьем шаге MSC (Mobile Switching Center), согласно своим таблицам маршрутизации отправляет запрос на HLR домашнего оператора sim-карты и получает указание на переадресацию USSD на номер 1234123, который в свою очередь является офисным телефоном организации, подключённым к PBX. Последний при помощи кабеля, проложенного провайдером ISDN, через PRI ISDN подключён к SS7. Таким образом, на 4-ом шаге исходная USSD-команда доходит до АТС распространителей это sim-карты. На этом оборудовании, вероятно, запущено специфичное ПО, которое по данному запросу добавляет себе в конфиг правило по замене номера, от которого пришёл запрос, на номер в USSD команде.

Далее абонент А производит звонок абоненту Б. Шаги 1-5 в точности повторяются и звонок доходит до АТС, после чего она «сбрасывает» абонента А. Приложение на АТС в свою очередь, используя Caller ID spoofing для подмены номера, совершает звонок на номера абонентов А и Б. Звонок доходит до абонента А и ему «высвечивается» либо случайный номер, либо номера телефона, подключённого к PBX, параллельно звонок доходит до абонента Б, на экране телефона он видит фэйковый номер телефона и берёт трубку. Далее АТС просто «пробрасывает» трафик, который передаётся во время разговора абонентов.

Хочется отметить, что хоть звонки и устанавливаются через стороннюю АТС, это не прибавляет анонимности, поскольку эту АТС всегда можно найти физически – она зарегистрирована. И после этого нужные люди обязательно узнают, кто и зачем через неё звонит, сопоставят время звонков и получат данные ничем не уступающие детализации звонков, которую можно получить от оператора в случае совершения звонка абонентом с обычной sim-карты.

Так как утверждается, что весь голосовой трафик проходит через одну АТС, несложно догадаться, что именно там меняется тональность голоса абонента. Но это и создает дополнительные риски – поскольку все звонки проходят через неё, не составляет особого труда их там записывать/сохранять/анализировать.

Выводы


В завершении хочется выразить мнение, что звонок с любого номера с выбранной тональностью голоса – штука, бесспорно крутая для розыгрышей и приколов – мы уверены теперь сможет сделать при наличии желания любой читатель, защищённость разговоров, не превышающая обычную, а местами так и уступающая дефолтной защищённости в 2G-сетях (операторы зачастую используют A5/3, о 3G-сетях даже не говорим), отсутствие декларированной анонимности и защиты от прослушки, отсутствие поддержки смс и Интернета, а также потенциальная возможность сбора Вашего голосового трафика третьими лицами (ведь понятно, что они могут не только менять тональность голоса, но и параллельно сохранять и анализировать), — сомнительная услуга за немалые деньги даже при учёте издержек на роуминг.

Отдельно хочется выделить «хакерскую» мысль разработчиков, которые задействовав возможности, которые предоставляет оператор, абсолютно легально (за исключением, быть может, продажи sim-карт без документов) – а ведь у многих первым делом возникал вопрос о легальности данного сервиса – организовали данную услугу. Но, к сожалению, это тот случай, когда выглядит всё намного привлекательнее, чем есть на самом деле.

Следует отметить, что предлагаемая реализация данной услуги с высокой долей вероятности совпадает с тем, что реализовано у людей, её продающих. Но при этом не стоит забывать, что и мы можем ошибаться. Для того же, чтобы расставить все точки над “i”, необходимо приобрести данную sim-карту и поисследовать, как она работает. Но стоимость данного мероприятия остужает исследовательский пыл.

Комментарии (34)


  1. nmk2002
    14.10.2015 12:21
    +3

    Ждем комментариев Lyonia на этот пост.

    Лично мне хочется знать может ли SIM-карта принимать решение о выборе БС или нет. А пока показания разнятся.


    1. MagisterLudi
      14.10.2015 13:22

      Это очень хороший вопрос. Тут ответ в одну строчку. Скоро расскажем.


    1. Lyonia
      14.10.2015 13:50
      +6

      Есть несколько вариантов выбора сети.
      Я разберу несколько или большиство вариантов.
      Итак включаете телефон и он первый делом сканирует все частоты и читает СИМ карту. В сим карте написано где и как последний раз телефон работал (сеть и её частоты).
      1. Выбор PLMN (читай оператора). Телефон не знает где-что и как, может вы выключиле в Москве, а включили в Хитроу (Великобритания). Вот на этом шаге, СИМ да может повлиять на выбор сети через SIM Toolkit, чем пользуются операторы, в частности AT&T это обожает.

      2. Выбрали сеть, зарегистрировались и теперь при нашем перемещеии происходит процесс Cell Reselection (выбор новой соты). Tелефон автономно принимает решения согласно результата замера соседних частот и кучу специальных параматеров предоставляемой сетью. Сеть настраиваться так чтобы с одной стороны клиенты не скакали, с другой чтобы у всех был сервис и он был доступен всем. Скан и замер происходит постоянно, на всех частотах и на всех технологиях которые поддерживает аппарат и которых в данная сеть работает. Кстати насколько этот процесс импелементирован хорошо в конечном счёте определяет время жизни батарейки. На этом этапе СИМ никак не может повлиять, он может получить информацию и в основнов все. Конечно есть SIM Toolkit и ребята могут попытаться принудильно сделать ресет СИМу через SIM Toolkit, теоретеически это возможно, а практически телефон всё равно секунд через 5-10 выберет новую лучшую по всем параметрам соту. Если такой СИМ будет постоянно заниматься такой ерундой, то с одной стороны может возникнуть ситуация что абонент не будет доступен, с другой самой важной батарея через очень короткое время сдохнет.

      3. Вариант во время разговора во время перемещейний, тут решение принимает станция, согласно замерам, который телефон производит во время разговора и сообщает станции. Во время LTE разговора через «интернет», который пока ещё не везде доступен положение ещё сложнее, но даже тут СИМ никак не может повлиять. абсолютно

      Кстати данная статья нисколечки об этом не говорит.
      Я только одного не понимаю зачем столько разговоров вокруг как работает есть, если всё время упоминается сеть второго поколения и зачем вообще идёт разговор и принудительной смене алгоритма шифрования. Может вы и защититесь от каких-то катчеров, но серьёзный «клиент» сделает это проще и «без шума и пыли», ведь трафик то у вас между телефонами и разговоры то не шифрованы (точка к точке). Если вы хотите реализовать чтото вроде своего особого Skype или неважно что через SIP так в таком случае и СИМ ненужна


      1. 1CheshireCat
        14.10.2015 16:43
        +2

        Мы не хотели утомлять читателя пересказыванием алгоритмов, исчерпывающее объясненике которых можно прочитать в оригинальных спецификациях GSM.
        По поводу реализации «своего особого Skype», то есть ощущение, что люди, продающие эту услугу имеют только одну цель — выручить как можно больше денег за одну стоящую фичу — звонок посредством 2G с произвольным исходящим Caller ID. Остальные разговоры о принудительном A5/1, выборе второй по мощности базовой станции, анонимности и т.п. — попытка борьбы маркетинга над здравым смыслом.


        1. Lyonia
          14.10.2015 17:05

          По параграфам
          1. нет надобоности такие описывать, согласен что такое никому не нужно
          2. 100% согласен


    1. potan
      20.10.2015 13:16

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


  1. NeoCode
    14.10.2015 12:56
    +1

    А интересно, существуют ли программные решения, аналогичные этой хакерской сим-карте? Звонки с компьютера на мобильный телефон, на мобильном высвечивается любой номер.


    1. icCE
      14.10.2015 13:06
      +1

      Если у вас есть доступ к потоку E1, можете делать все что угодно.


      1. NeoCode
        14.10.2015 13:49

        А если нет?
        На самом деле я просто хотел узнать списочек существующих интернет-сервисов, которые позволяют звонить на мобильные телефоны с компьютера и опционально предоставляют всякие услуги типа подмены номера, отсортированный по стоимости использования:)


        1. inwardik
          14.10.2015 14:26

          В настройках учетной записи skype есть раздел «идентификация абонента». Там можно выбрать любой номер. Правда, придет смс с проверочным кодом. Не оставляйте телефон без присмотра)



    1. 1CheshireCat
      14.10.2015 14:00
      +4

      Такие решения существуют и существовали давно. Надо найти подходящего SIP-провайдера и соответствующим образом настроить к нему подключение. Здесь подробно описывается как это можно сделать. Если лень настраивать можно просто воспользоваться сайтами вроде spoofcard.com


    1. Guzzle
      14.10.2015 16:27

      Существуют соц.инжиниринговые решения, аналогичные этой хакерской сим-карте.
      Слышали скандал с перевыпуском симок?
      Так вот раньше слали смс с текстом: «Мама, я попал в беду». А теперь звонит мужик и говорит ваша дочь/сын совершила преступление… дальше по тексту. Кладёшь трубку, перезваниваешь, поднимает трубку опять этот мужик, кладёшь трубку, перезваниваешь на другой телефон дочери/сына. А он берет спокойно трубку и не в курсе происходящего. А потом выясняется что симку перевыпустили.


  1. MagisterLudi
    14.10.2015 13:07

    30к? Вы ничего не перепутали?


    1. MagisterLudi
      14.10.2015 13:11
      -5

      Поражаюсь автору, который мог настолько напутать.
      Для него слова hackersim и safecalls это одно и то же, 100$ и 30к — это одно и то же.
      Если у него такая логика, стоит ли статью читать?
      (Хотя у меня подозрение, что он просто льет трафик по прямой ссылке на сайт safecalls.ru)


      1. icCE
        14.10.2015 13:34
        -7

        У меня другое мнение, что просто могли найти дырки у ряда крупных фирм, о которых они не знают и тупо сливать трафик ну и зарабатывать бабло. Фирм у которых сделано все кое как много, на моей памяти только на одной из фирм слили трафик на 7 миллионов рублей!!! (что б я так жил) за месяц. Есть отдельные места в сети, так называемый черный рынок — где можно купить таких вот готовых с дырками машинок и начать деятельность. В общем это отдельный прекрасный и чудный мир :)


      1. Aclz
        14.10.2015 16:20
        +7

        Если у него такая логика, стоит ли статью читать?
        Если стоимость — единственное, что напутал автор, то, наверное, стоит. Или вам-таки есть что возразить по технической сути?


    1. MagisterLudi
      14.10.2015 13:15

      «Но стоимость данного мероприятия остужает исследовательский пыл.»
      HackerSIM выдает сим-карты для исследователей бесплатно


  1. Lyonia
    14.10.2015 14:10
    +1

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

    Есть операторы которые через SIM Toolkit предоставляют услугу, что при попытке разговора телефон посылает USSD в домашнюю сеть, а та уже реализует Call Back с проключением к обоим абонентам. Это похоже на данный СИМ. Поскольку сеть не стандартная, а может хакнутая, так может она подставляет какие-то номера и даже менять голос. Это всё будет работать прекрасно и без всяких изменнений алгоритмов и всяких объявленных выборов «второй по мощности соты».


    1. 1CheshireCat
      14.10.2015 16:12

      Вы затронули интересную деталь.
      Действительно, данные из домашнего HLR копируются в VLR, обслуживающего абонента MSC, не при звонке. Делается это, если не ошибаюсь при регистрации мобильнго телефона в сети, а именно на запросе Location Updating Request. Копируется достаточно много параметров, но для нас ключевую роль играет адрес биллинговой системы. «Правильно» указав этот адрес, будет получен контроль над каждым исходящим звонком, потому что каждый исходящий вызов тарифицируется логично, что биллинговой системой).
      Схематично это реализуется так:

      image

      Шаг под номером 0 производится пр регистрации subscriber'а в сети. Здесь как раз и копируется информация из HLR. В этом HLR хранится информация о биллинговой системе, в данном примере адрес объекта под названием «Billing Center».
      На шаге 1 абонент с номером 1234567 инициирует звонок абоненту с номером 7654321. Коммутатор, обслуживающий абонента А, по каналу сигнализации отправляет сообщение InitialDP такими параметрами, как номера вызывающего, вызываемого абонентов и др.
      И на третьем шаге биллинговая система отправляет опять же по каналу сигнализации коммутатору сообщения Request Report BSCM Event и Apply Charging, и отдаёт команду перенаправить вызов на номер 1112233.
      Ну и на шаге 4 вызов отправляется третьим лицам — в данном случае АТС провайдеров услуги. Далее уже абонент с номером 1112233 перенаправляет вызов абоненту 7654321 с заданным Caller ID.

      Таким образом, влиять на вызов можно, хоть данные из HLR и копируются единожды.


      1. Lyonia
        14.10.2015 17:18

        Я в третьем и четвёртом шагах не уверен, так как как только звонок уходит в PSTN он уже ушёл,

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

        Очень много телодвижений, мне кажется хакнатая SIP проще,


  1. HunterXXI
    14.10.2015 14:59

    Спасибо за статью. Мне материал очень понравился, все по полочкам.
    Пошел эксперементировать с Caller ID spoofing для общего развития.


    1. dMetrius
      14.10.2015 15:28
      +1

      Вы как провайдера найдёте подходящего (SIP) — стукните в инбокс, пожалуйста.


      1. Aclz
        14.10.2015 16:23

        Комстар этим грешил при подключении по SIP не далее как 3 года назад. Может и счас, под рукой нет, чтоб проверить.


      1. darkrain
        14.10.2015 16:43

        Nonoh.net


        1. ValdikSS
          14.10.2015 18:42

          Ох, он все еще жив! Каждый раз, как я захожу на него, смеюсь с надписи «Cheaper than JAJAH» внизу.


          1. darkrain
            15.10.2015 00:47

            Да, только качество заставляет желать лучшего, я вот пробовал и viber out, skype, и другие sip сервисы, всегда были проблемы с тем что звонок через раз. и очень долго соединение


            1. ValdikSS
              15.10.2015 09:36

              Ну, вам, наверное, просто не повезло как-то. И я, и мои родители постоянно используем SIP для звонков, особых проблем не испытываем.


  1. Mendel
    14.10.2015 15:06
    +2

    Тут сказали мол есть операторы с подменой номера по SIP и это чуть ли не у всех доступно. Но когда я интересовался такой темой, то реально полноценную подмену давали один-два оператора и то по сильно повышенным ценам и у них не было сайтов и т.п., всё по договоренности делалось. Странно, разве что-то изменилось за последние годы?
    По поводу SMS в статье опять же сказано мол это почти невозможно. Но реально устроено там всё примерно так же. Помню еще в начале нулевых через одного арабского SMSC слал смс-ки с подменой отправителя. Да, сейчас операторы сильно фильтруют, чтобы подмен не было, но это как и с альфа-именем вопросы исключительно организационные, технически всё ходит и так, организационно требуют верификации номера и т.п. Ну и многие операторы стали фильтровать номера по семантике, глядя на аплинк, мол такой номер может только со своих же приходить, такой только от соседнего оператора, а вот такие уже от любого смсц.
    Что касается технической стороны вопроса, то низкоуровневые сетевые протоколы вообще очень дырявы. Достаточно получить доступ на соответствующий уровень, а дальше делай что хочешь. Это касается как голоса, смс, так и старого доброго BGP.
    Хотя высокоуровневые вещи конечно тоже не сильно надежны. Тот же почтовый пул протоколов с сердцем в виде SMTP имеет ровно ту же проблему, и тот же самый пул защит от подмены адреса отправителя)



  1. bird2gt
    15.10.2015 11:56
    +1

    Как это работает «для чайников»
    Захожу в офис мобильного оператора, прошу выдать nano-SIM для моего нового девайса.
    Девочка берет из пачки пустую SIM-карту, подносит её штрих-код к сканеру, вводит в базу мой номер. Всё.
    Надо «хакнуть» либо девочку либо вход в базу оператора.

    При входящем звонке телефон сравнивает последние 7 цифр с записью в книжке контактов и высвечивает «мама» даже если код страны не совпадает.
    В мессенджерах кстати это уже пофиксили. Сначала в Телеграмм, потом Вайбер.


    1. 1CheshireCat
      15.10.2015 13:08

      Во-первых, Ваш подход требует для каждой смены номера "«хакнуть» либо девочку либо вход в базу оператора".
      Во-вторых, даже при успехе на первом этапе Вам не выдадут уже используемый номер — сама БД оператора не даст это сделать с помощью какого-нибудь триггера. Либо же это будет уже перевыпуск sim-карты, но это другая история.

      Действительно, в стандартах 3GPP нет явного требования к мобильным телефонам по сопоставлению телефонного номера, указанного в сигнальных сообщениях (SETUP) при входящем звонке, и контактов в телефонной книге. Таким образом, зависит это в первую очередь от реализации программного обеспечения телефона. Но рассчитывать на то, что номер +79111234567 и +79281234567 отобразятся в один и тот же контакт телефонной книги наивно и в общем случае неверно.


  1. stychos
    16.10.2015 02:12

    Хочется отметить, что хоть звонки и устанавливаются через стороннюю АТС, это не прибавляет анонимности, поскольку эту АТС всегда можно найти физически – она зарегистрирована.

    С этим не соглашусь, виртуальную АТСку всё-таки можно спрятать, ну а номера нынче приобрести не большая проблема (а американские-британские — так и вовсе бесплатно).


  1. AndreyBadin
    20.10.2015 15:04

    Прочитав данный пост делаю следующие выводы: 1- технология вызывает интерес,2- люди, которые описывают технологию под брендом HackerSIM не достаточно компетентны в данном вопросе, чтобы рассуждать на эти темы. Чтобы не строить догадок лучше обратиться к первоисточнику. Я сотрудник компании, которая является вендером и правообладателем данной технологии. Я не программер, но на большинство вопросов смогу ответить. Наша компания предоставляет инструменты и софт решения, для построения бизнес моделей в данном направлении. Мы не ведём бизнес с частным клиентом, мы предлагаем В2В решения. Сразу хочу отметить, что данная технология достаточно сложная и возможна только при совокупности многих факторов, в связи с этим подобных решений на сегодняшний день не существует и, как мне кажется в ближайшее время не предвидятся. Следовательно, любые статьи по данной технологии не могут быть от лица разработчиков. Все сим карты под любым лого делаются под заказ и апплеты установленные в сим карты создаются под заказ. Если есть, какие то конкретные вопросы, я могу ответить на них в данной ветке, пока готовится наша статья.