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

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

Как-то раз (а точнее, в 2014 году) я был в Китае и пользовался телефоном в роуминге. А для доступа в интернет купил местную SIM-карту. Приехав домой в Россию, я забыл вытащить эту симку из планшета и продолжал ей пользоваться. Пока на ней были деньги, она прекрасно работала на чужбине, даже несмотря на то, что APN (Access Point Name) на ней было прописано китайского оператора. И это совершенно нормально: приезжая в роуминг, гостевой абонент не обязан постоянно переписывать APN вручную.

Прошел месяц, планшет с китайской симкой прекрасно продолжал работать в России. Мне стало интересно, что же такое происходит и почему баланс практически не меняется, да еще и в роуминге! Еще один волнующий вопрос — можно ли воспроизвести эту ситуацию. Благо у меня были все необходимые условия для поиска ответов.

WARNING

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

 

Кто предоставляет интернет в роуминге?

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

  1. После включения телефона на оборудовании гостевого оператора выполняется процедура GPRS Attach (либо в обратную сторону отмена — detach).
  2. Наш телефон начинает общение с пакетной сетью гостевого оператора.
  3. У нас проверяют IMSI, ключ KSI (Key Set Identifier), доступные нам услуги.

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


В главных ролях — следующие компоненты.

  • GRX (Global Roaming Exchange) — сеть, созданная мобильными операторами для передачи пакетных данных абонентов в роуминге.
  • SGSN (Serving GPRS Support Node) — основное оборудование, которое обеспечивает функции передачи данных. Фактически это аналог коммутатора (MSC) в мобильной сети.
  • GGSN (GPRS Gateway Support Node) — маршрутизатор, который связывает мобильных абонентов с «внешним миром» и обеспечивает фактический доступ в интернет.
  • GTP (GPRS Tunneling Protocol) — протоколы туннелирования и управления пакетным трафиком в мобильной сети.

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

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


Как списываются деньги за использование интернет-трафика в роуминге? Здесь может быть два варианта развития событий.

  1. Списание идет напрямую (CAMEL-роуминг) через биллинговую систему домашнего оператора на основании данных с оборудования по записям из файлов оценки.
  2. Списание происходит на основании файлов оценки, полученных от роуминг-оператора вместе с другими записями (голос, SMS).

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

Не буду подробно расписывать принцип работы сетей GRX. У них много своих уязвимостей, о которых в интернете уже немало написано. Если тебе интересно — поищи. Скажу только, что вся эта система построена и работает на основе стандартов, которые по большей части формирует консорциум 3GPP. И именно из-за стандартизации возникают проблемы и уязвимости. Сбить систему с толку может любое отклонение настроек от стандарта — причем настроек как оборудования, так и ПО.

Продолжение доступно только подписчикам

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

Подпишись на «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Оставить мнение

Check Also

Хроники битвы при Denuvo. Как «непробиваемая» игровая защита EA Origin оказалась пробиваемой

Защита от пиратства Denuvo пришла на смену SecuROM и связана с одним действующим лицом – Р…