Содержание статьи
Как ты знаешь, никакой код не безупречен. Все программы создаются людьми, и никто из них не может предугадать все возможные последствия работы в разных ситуациях. Иногда, особенно в сложных системах, это открывает совершенно неожиданные возможности. Это история именно такого случая.
Как-то раз (а точнее, в 2014 году) я был в Китае и пользовался телефоном в роуминге. А для доступа в интернет купил местную SIM-карту. Приехав домой в Россию, я забыл вытащить эту симку из планшета и продолжал ей пользоваться. Пока на ней были деньги, она прекрасно работала на чужбине, даже несмотря на то, что APN (Access Point Name) на ней было прописано китайского оператора. И это совершенно нормально: приезжая в роуминг, гостевой абонент не обязан постоянно переписывать APN вручную.
Прошел месяц, планшет с китайской симкой прекрасно продолжал работать в России. Мне стало интересно, что же такое происходит и почему баланс практически не меняется, да еще и в роуминге! Еще один волнующий вопрос — можно ли воспроизвести эту ситуацию. Благо у меня были все необходимые условия для поиска ответов.
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Кто предоставляет интернет в роуминге?
В общем случае, когда ты приезжаешь со своим мобильным телефоном в другую страну и подключается роуминг, работает следующая схема.
- После включения телефона на оборудовании гостевого оператора выполняется процедура GPRS Attach (либо в обратную сторону отмена — detach).
- Наш телефон начинает общение с пакетной сетью гостевого оператора.
- У нас проверяют IMSI, ключ KSI (Key Set Identifier), доступные нам услуги.
Если попытаться упрощенно изобразить схему взаимодействия мобильного телефона в роуминге при использовании интернета, это будет выглядеть как на схеме.
В главных ролях — следующие компоненты.
- GRX (Global Roaming Exchange) — сеть, созданная мобильными операторами для передачи пакетных данных абонентов в роуминге.
- SGSN (Serving GPRS Support Node) — основное оборудование, которое обеспечивает функции передачи данных. Фактически это аналог коммутатора (MSC) в мобильной сети.
- GGSN (GPRS Gateway Support Node) — маршрутизатор, который связывает мобильных абонентов с «внешним миром» и обеспечивает фактический доступ в интернет.
- GTP (GPRS Tunneling Protocol) — протоколы туннелирования и управления пакетным трафиком в мобильной сети.
Понятно, что, когда мы находимся в роуминге, мы физически обслуживаемся оборудованием гостевого оператора. И настройки на оборудовании этого оператора могут (и, скорее всего, будут) отличаться от настроек домашнего оператора.
На самом деле вся эта схема сильно упрощена и нас интересует больше для понимания сути основных узлов. Более развернутая логическая схема выглядит слегка по-другому.
Как списываются деньги за использование интернет-трафика в роуминге? Здесь может быть два варианта развития событий.
- Списание идет напрямую (CAMEL-роуминг) через биллинговую систему домашнего оператора на основании данных с оборудования по записям из файлов оценки.
- Списание происходит на основании файлов оценки, полученных от роуминг-оператора вместе с другими записями (голос, SMS).
Во втором случае файлы оценки могут передаваться между операторами с существенной задержкой. В процессе обычно участвуют клиринговые центры сотовых операторов, которые принимают данные о своих пользователях роуминга и передают данные о гостях. Как правило, данные между операторами передаются все в одном потоке. Трафик интернета, SMS, голос — все идет вместе, иногда в одних файлах CDR.
Не буду подробно расписывать принцип работы сетей GRX. У них много своих уязвимостей, о которых в интернете уже немало написано. Если тебе интересно — поищи. Скажу только, что вся эта система построена и работает на основе стандартов, которые по большей части формирует консорциум 3GPP. И именно из-за стандартизации возникают проблемы и уязвимости. Сбить систему с толку может любое отклонение настроек от стандарта — причем настроек как оборудования, так и ПО.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»