Безопасность Мобильного Интернета Внутри И Снаружи

С развитием мобильных сетей развивается и мобильный Интернет. Все привыкли к обычному Интернету: витая пара, Ethernet, TCP/IP. Что скрывает мобильный интернет? Давайте попробуем это выяснить! В нашем исследовании мы коснемся общих принципов мобильного Интернета, подробно рассмотрим туннельный протокол GPRS, поговорим о сети GRX и обсудим некоторые практические подходы к безопасности мобильной пакетной сети.

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

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

RU. Логин и пароль обычно простые: интернет — интернет или что-то в этом роде.

Теперь, когда мы знаем необходимые параметры, мы можем подключиться к мобильному Интернету! Как происходит эта загадочная процедура? Это происходит в два этапа:

  1. GPRS-подключение
  2. Активация контекста PDP.
Давайте подробнее рассмотрим каждый из них.



GPRS-подключение

В процедуре GPRS Attach телефон начинает «общаться» с пакетной сетью оператора.

Аутентификация и авторизация пользовательского оборудования происходит по следующим параметрам: IMSI (International Mobile Subscriber Identity, индивидуальный номер абонента) – для идентификации

  • подписчик;
  • ключи, хранящиеся на SIM-карте – для аутентификации абонента;
  • проверка доступных абоненту услуг (Интернет, MMS, WAP) на основании записей в базе данных абонентов
.

Также можно проверить IMEI (международный идентификатор мобильного оборудования).

По этому идентификатору можно сверяться со списками украденного оборудования, и если в списке украденного оборудования есть конкретный IMEI, то в доступе к сети могут запретить, а то и сообщить «где он должен быть» :) После успешного завершения процедуры подключения GPRS начинается процедура активации контекста PDP (протокол пакетных данных).

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

SGSN (Serving GPRS Support Node, узел обслуживания абонентов GPRS) — устройство, реализующее основные функции обработки пакетных данных в мобильной сети.

GGSN (GPRS Gateway Service Node, узел GPRS-шлюза) — устройство, обеспечивающее передачу данных из сети оператора во внешние сети (например, в Интернет).

По сути, это может быть обычный роутер с поддержкой каких-то специфических функций.

GTP (протокол туннелирования GPRS) — это стек протоколов, используемый в сетях GPRS, UMTS и LTE. Итак, PDP Context Activation (схема сильно упрощена).



Безопасность мобильного Интернета внутри и снаружи

Что произойдет, когда эта схема будет реализована?

  1. Телефон отправляет контекстный запрос активации на SGSN, который содержит, помимо прочего, имя пользователя, пароль и APN.
  2. SGSN, получив APN, пытается разрешить его на внутреннем DNS-сервере.

    Сервер разрешает предоставленный APN и возвращает адрес GGSN, ответственного за этот APN.

  3. SGSN отправляет запрос на создание контекста PDP на этот адрес.

  4. GGSN проверяет предоставленные логин и пароль на RADIUS-сервере.

  5. Затем он получает IP-адрес нашего телефона.

  6. И вся информация, необходимая для активации контекста PDP, отправляется обратно в SGSN.
  7. SGSN завершает процедуру активации, отправляя на телефон данные, необходимые для установления соединения.

По сути, процедура активации контекста PDP — это создание туннеля между телефоном и шлюзом в сети оператора.

И теперь мы можем заходить на любимые сайты и читать почту.



Роуминг

Сразу возникает вопрос: как это все работает в роуминге? Оказывается, существует специальная сеть: GRX (Global Roaming Exchange) — сеть обмена пакетными данными между роуминговыми абонентами мобильных сетей.

Весь наш трафик «проходит» через него.

Что-то вроде этого:

Безопасность мобильного Интернета внутри и снаружи

  1. Удачно приехав в теплые края, мы решили скачать любимый сериал.

    Включили телефон и начали подключаться к интернету (отправляем логин, пароль, APN).

  2. Иностранный SGSN пытается разрешить APN, который мы предоставляем, на своем DNS-сервере.

  3. DNS-сервер, не обнаружив таких записей, обращается к корневому DNS-серверу, который находится в сети GRX.
  4. Корневой DNS-сервер пересылает запрос на DNS-сервер в сети нашего домашнего оператора.

  5. Тот в свою очередь отвечает ему адресом нашего ГГСН.

  6. Корневой DNS сообщает этот адрес DNS-серверу зарубежного оператора.

  7. Тот, в свою очередь, передает этот адрес зарубежному SGSN.
  8. SGSN, зная адрес GGSN, отправляет ему запрос на активацию контекста PDP.
  9. ГГСН, если все условия соблюдены (есть деньги на счету, указаны верные логин и пароль и т.д.), отправляет подтверждение, СГСН его принимает и отправляет подтверждение на наш телефон для доступа в Интернет.
Что мы видим? Мы видим, что посылки с нашими любимыми сериалами бегут через полмира от нашего оператора к оператору в теплой стране.

Они работают по специальной сети, защищенной протоколом GTP. И все переговоры между спецтехникой операторов ведутся с использованием одного и того же GTP. И тут приходит идея: а не попробовать ли нам выяснить нечто подобное в лабораторных условиях? Создайте свой SGSN и GGSN. Как мы можем прийти к невероятным открытиям?

СГСН+ГГСН на колене



Безопасность мобильного Интернета внутри и снаружи

После долгих поисков выяснилось следующее.

Существует специальное программное обеспечение, реализующее некоторые функции СГСН.

Это похоже на Linux-скрипт, который умеет эмулировать все необходимые процедуры (GPRS Attach и PDP Context Activation) и в итоге выдать готовый интерфейс выхода в Интернет, как если бы мы подключили 3G-модем.

Узнав об этом, мы сразу бросились искать устройство, готовое взять на себя функции GGSN. Оказалось, что популярный роутер Cisco 7200 вполне подходит. После некоторых манипуляций, настроек и тестов нас ждал успех.



Безопасность мобильного Интернета внутри и снаружи

Стенд легко поднимал туннели, через которые был «виден» настоящий Интернет. Мы сразу начали смотреть, какие пакеты проходят между нашими могучими SGSN и GGSN. Они похожи на настоящие? Затаив дыхание открываем свалку – и да! пакеты выглядят как настоящие.



Безопасность мобильного Интернета внутри и снаружи

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

Что он там увидит? Давайте попробуем это выяснить.



Вопросы безопасности

Протокол GTP бывает нескольких типов: GTP-U используется для непосредственной упаковки и передачи пользовательских данных, GTP-C для управления сеансом (используется для выполнения процедуры активации контекста PDP и других сервисных процедур); Еще есть GTP’ (GTP Prime) — он используется для передачи платежной информации.

GTP не поддерживает одноранговую аутентификацию и шифрование, он работает поверх UDP. Что во всем этом такого интересного? Здесь интересно практически все! Давайте возьмем GTP-U и посмотрим, как выглядит туннель с пользовательскими данными.

Туннели разделены параметром TEID (Tunnel Endpoint Identifier).



Безопасность мобильного Интернета внутри и снаружи

При дальнейшем изучении выяснилось, что при желании поле с TEID можно заменить, а отправив пакет с подставленным идентификатором туннеля, можно неожиданно взломать чужую сессию.

А вот GTP-C. С удивлением обнаружив отсутствие какой-либо аутентификации или намеков на шифрование передаваемых данных, вы можете попробовать не только прослушать, но и, извините, что-нибудь отправить.

Например, «левые» запросы на установление или завершение сеанса.

Попробуем таким образом очертить векторы возможных атак и рассмотреть их поближе.



Безопасность мобильного Интернета внутри и снаружи

Вот, например, атака DNS-флуд. Злоумышленник отправляет большое количество запросов на разрешение APN нашего оператора.

Все эти пакеты будут бомбардировать DNS бедного оператора, который не выдержит накала и вообще откажется передать кому-либо адрес GGSN, вызвав глобальный DoS для абонентов.



Безопасность мобильного Интернета внутри и снаружи

Или злоумышленник начнет отправлять лично созданные запросы для создания контекста PDP. ГГСН, видя такое давление, вполне может задуматься, а то и замереть.

Что снова приведет к отказу в обслуживании абонентов.

Что, если вы попытаетесь отправить запросы на разрыв сеанса вместо запросов на создание? Например, вот так:

Безопасность мобильного Интернета внутри и снаружи

Злой хакер, подставив чужой SGSN-адрес, будет отправлять запросы на разрыв соединения.

ГГСН, думая, что абонент закончил скачивание любимого сериала и хочет завершить интернет-сессию, удаляет этот туннель, разрывая соединение.

Нарисовав несколько векторов, обратим взгляд на реальные объекты, чтобы «пощупать» все это.

Наберём запрос «GGSN» в shodan. Вот фрагмент возвращенных результатов.



Безопасность мобильного Интернета внутри и снаружи

Все это выглядит как настоящий ГГСН, выложенный в Интернете.

Или попробуем написать скрипт, отправляющий GTP-echo-запросы, и пустить его по Интернету: может, кто-нибудь откликнется.

И те, кто откликнулся:

Безопасность мобильного Интернета внутри и снаружи

Иногда даже при открытом телнете.



Безопасность мобильного Интернета внутри и снаружи

Стандарт нового поколения под кодовым названием LTE по-прежнему использует протокол GTP, а потому все вышесказанное актуально и будет актуально в обозримом будущем.

Это все на сегодня.

Еще увидимся! Выражаю благодарность отделу анализа защищенности сетевых устройств Positive Technologies за помощь в подготовке материала.

Автор: Илья Сафронов, Positive Research. Теги: #мобильный интернет #безопасность #GPRS Attach #SGSN #GGSN #удаление контекста pdp #gtp Flood #dns Flood #информационная безопасность

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.