Black-box тестирование сотовой сети: как операторы защищают абонентов от хакерских атак

5e8f5bf84943e519630bdc5a03cf0280.png

В статьях о SS7 и Diameter улавливаются панические нотки: протоколы сотовой связи похожи на решето, от них нельзя взять и отказаться, их не исправить. И все же, телеком-апокалипсис до сих пор не случился. Сотовые сети работают, но каким образом?

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

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

Подготовка к атаке

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

У Бастион есть легальный выход в международную сеть сигнализации SS7 и сетевой доступ к инфраструктуре DiameterУ Бастион есть легальный выход в международную сеть сигнализации SS7 и сетевой доступ к инфраструктуре Diameter

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

Наконец, понадобятся мишени. У злоумышленников с этим проблем нет, но мы не можем бить по реальным абонентам. Поэтому попросили заказчика выделить пару смартфонов с SIM-картами. Во время всех тестов они оставались в руках сотрудников оператора. Чтобы навредить конкретным абонентам, достаточно знать MSISDN — обычный телефонный номер мобильного абонента. Остальная информация добывается по ходу дела.

Методика тестирования

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

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

Round one

Работа по взлому сотовой сети начинается с подготовительных атак, которые направлены на получение информации об абоненте-цели атаки.

Атаки на раскрытие IMSI

Соответственно, существенная часть защиты выстраивается вокруг сокрытия международного идентификатора мобильного абонента — IMSI. Хакеры обнаружили около десятка способов получения этого набора цифр через сигнальные сети, и основная сложность на первом этапе работ — подобрать правильный подход.

Прежде всего мы попробовали стандартные запросы SendRoutingInfo, SendRoutingInfoForSM и другие сообщения, в ответах на которые сеть должна возвращать IMSI. На этот раз сигнальная сеть не выдала идентификатор — значит, оператор использует какую-то защиту. Осталось выяснить, насколько она серьезная. Обычно в такие моменты появляется особый азарт.

Чтобы преодолеть барьер, мы намеренно искажаем сигнальные сообщения. Как правило, вносим изменения на SCCP или TCAP уровне — после этого некоторые фаерволы не могут корректно распарсить более высокие уровни сообщения и пропускают его без должной проверки.

Манипуляции с адресной частью сообщений позволили нам пробиться через фильтр и осуществить взаимодействие с HLR оператора. В ответ получили ошибку, но вместе с ней мы узнали адрес HLR. Далее, атакуя непосредственно HLR и применив очередной набор манипуляций, мы достаточно быстро получили IMSI обоих абонентов-жертв.

Атакуем абонента через SS7

Зная IMSI абонента и используя MAP-операцию Update Location, мы «перенесли» абонента-жертву в свою фейковую сеть. Для сотового оператора это выглядит, как регистрация абонента в роуминге и, как правило, не вызывает подозрений. Так мы получили возможность перехватывать входящие звонки и СМС.

Принципиальная схема атаки с использованием фейковой сетиПринципиальная схема атаки с использованием фейковой сети

Развивая атаку и сформировав еще несколько сигнальных сообщений, мы выполнили от имени абонента-жертвы отправку СМС и USSD-запросов, изменение профиля услуг. Кроме того, этот вектор атаки можно использовать для DOS всех сервисов абонента.

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

Выяснив VLR, в котором находится абонент, и представившись HLR«ом, злоумышленник может изменить его профиль в этом VLR. Для демонстрации этой уязвимости мы установили запреты вызовов в профиле абонента. А при подмене адреса обслуживающей IN-платформы в VLR-профиле абонента на адрес своей платформы, мы обрели полный контроль над исходящими вызовами — получили возможность блокировать, перенаправлять, прослушивать звонки с тестовых смартфонов.

Также в процессе тестирования мы реализовали атаки, позволяющие получить:

  • местоположение абонента с точностью до сектора базовой станции;

  • модель телефона;

  • состояние счета абонента и другую чувствительную информацию.

Все это не только угрожает приватности абонента, но и позволяет выстраивать сложные атаки с применением социальной инженерии.

Атакуем абонента через Diameter

Мы тестировали и Diameter-сеть. Через ее уязвимости удалось получить информацию о текущем состоянии абонентов на MME, зоне обслуживания, а также сетевой статус мобильного устройства. С помощью этих данных злоумышленник может выбрать оптимальное время для других атак, — когда абонент находится вне зоны действия сети и не заметит ничего необычного.

Кроме того, отправка нелегитимных сигнальных сообщений позволила добиться деградации сервисов 4G у тестовых абонентов. Получилось установить запрет на обслуживание в LTE узлах сети и снизить до минимума скорость передачи данных в пакетной сети.

Итоги первого этапа тестирования

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

Подобные защитные настройки оборудования наиболее распространенный метод предотвращения атак на сигнальные сети. Их можно найти в базовых рекомендациях GSM Association или подобрать, полагаясь на практический опыт. Еще несколько лет назад такой защиты хватало, но сейчас она не покрывает всего спектра угроз. Этот механизм недостаточно гибок, чтобы отразить сложные структурированные атаки.

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

Почему инцидентов много, и их редко расследуют

Долгое время основным источником атак на сигнальные сети были страны Африки со множеством мелких сотовых операторов. Сегодня следы ведут в Океанию, и даже в Европу, но это ни о чем не говорит.

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

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

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

Round two

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

Новые атаки на раскрытие IMSI

Первое с чем мы столкнулись — это проблемы с повторным получением IMSI. Сеть либо не отвечала на запросы, либо возвращала фиктивные идентификаторы — на каждый запрос IMSI тестовых абонентов, мы получали разные IMSI.

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

Впрочем, раскрытие IMSI через сеть сигнализации частый, но не единственный способ получения этого идентификатора. Есть и другие: специальные устройства, притворяющиеся базовыми станциями — IMSI Catcher, вредоносное ПО, недобросовестные сотрудники оператора. Поэтому мы взяли идентификаторы, полученные на первом этапе тестирования, и продолжили проверку.

Снова атакуем через SS7

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

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

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

Снова атакуем через Diameter

Несмотря на сложности, которые вызывала новая защитная система, нам удалось получить информацию о профиле абонента и услугах. Кроме того, потенциальный злоумышленник по-прежнему мог бы использовать S6a ULR (Update-Location-Request), чтобы отключить абонента от сотовой сети. Это работает до переподключения, но массовая отправка таких сигнальных сообщений позволяет реализовать полноценную DOS-атаку.

Что в черном ящике?

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

Combine firewall, которые могут контролировать SS7, Diameter, GTP и SMS-трафик, как правило, снабжаются встроенной аналитикой, способны сопоставлять происходящие события и реагировать на атаки. Например, зафиксировав атаку по SS7, такой фаервол проверяет, какие сигнальные сообщения поступают на этого абонента по другим протоколам.

Такие решения предлагают Mobilium, Cellusys, NetNumber, HAUD и другие вендоры, но по косвенным признакам мы не смогли определить, чей фаервол установил заказчик. Все они примерно одинаково эффективны. Надежность защиты в этом сегменте зависит не только от вендора, но и от правильности настройки фаервола. От того, насколько хорошо учтены особенности конкретной сигнальной сети.

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

Внедрение фаервола в сигнальной сети достаточно долгий и кропотливый процесс, который включает в себя несколько этапов:

  1. разработка схемы защиты;

  2. настройка и проверка схемы в тестовой зоне;

  3. внедрение защиты в режиме детектирования с анализом статистики и логов блокировок;

  4. внедрение защиты с контролем KPI на ограниченном сегменте сети;

  5. и только потом внедрение защиты на всей сети.

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

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

Что же до рядовых абонентов — рекомендуем сохранять бдительность. Технологии SS7 скоро 50 лет, ее разрабатывали в те времена, когда всем участникам сети доверяли по умолчанию и считалось, что это нормально. Diameter был работой над ошибками, но и в нем нашлись фундаментальные уязвимости. Чтобы снизить риски:

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

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

  • Не пользуйтесь старыми гаджетами. Многие из них имеют незакрытые уязвимости в радиоинтерфейсах.

  • Используйте приложения для генерации одноразовых кодов доступа, там, где это возможно. Кстати, если вы разрабатываете какой-то сервис, подумайте над тем, чтобы пользователи могли авторизоваться при помощи одноразовых кодов (TOTP) и push-уведомлений.

© Habrahabr.ru