Перехват разговоров по мобильным телефонам принято считать сложной задачей. Однако не только спецслужбы владеют этим искусством: атаковать абонентов может и хакер среднего уровня, если он знаком со строением сигнальных сетей. Старые добрые уязвимости SS7 позволяют подслушивать телефонные разговоры, определять местоположение абонентов, перехватывать SMS, отключать телефон от сети.
В 2015 году специалисты Positive Technologies осуществили 16 проектов по анализу защищенности сетей SS7 ведущих мобильных операторов регионов EMEA и APAC. Результаты восьми наиболее информативных проектов попали в нашу статистику. В этой статье мы рассмотрим уровень защищенности абонентов сотовых сетей, а также всех промышленных и IoT-устройств, от банкоматов до GSM-систем контроля давления на газопроводе, которые также являются абонентами сотовых сетей. В отчете описаны основные обнаруженные проблемы и пути их решения.
Преамбула: привет из 70-x
Разработанная сорок лет назад система SS7 (ОКС-7) имеет определенные недостатки в плане защищенности (например, отсутствуют шифрование и проверка подлинности служебных сообщений). Долгое время это не представляло опасности ни для абонентов, ни для оператора: сеть SS7 была замкнутой системой, в которую подключались только операторы фиксированной связи. Однако время идет, сеть эволюционировала для поддержки нужд мобильной связи и предоставления дополнительных услуг. В начале 2000-х была предложена спецификация SIGTRAN, позволившая передавать служебную информацию SS7 по IP-сетям. Сигнальная сеть перестала быть изолированной.
Конечно, напрямую попасть в сигнальную сеть не получится, потребуется SS7-шлюз. Но обеспечить к нему доступ не так сложно. Можно получить операторскую лицензии в стране, где на это смотрят сквозь пальцы, или приобрести доступ на черном рынке у действующего оператора. Существуют способы попасть в сеть через взломанное операторское оборудование, GGSN или фемтосоту. Если среди участников хакерской группы есть технический специалист компании-оператора, то он может выполнять ряд атак с помощью набора легитимных команд или подключить к SS7 свое оборудование.
Атаки через SS7 могут выполняться из любого места на планете, что делает этот метод одним из самых перспективных для нарушителя. Злоумышленнику не надо физически находиться рядом с абонентом, как в случае с поддельной базовой станцией, поэтому вычислить его практически невозможно. Высокая квалификация также не требуется: в сети доступно множество готовых приложений для работы с SS7. При этом операторы не могут блокировать команды от отдельных узлов, поскольку это оказывает негативное влияние на весь сервис и нарушает принципы функционирования роуминга.
Впервые уязвимости SS7 были публично продемонстрированы в 2008 году: немецкий исследователь Тобиас Энгель показал технику слежки за абонентами мобильных сетей. В 2014 году эксперты Positive Technologies выступили с презентацией «Как подслушать человека на другом конце земного шара» и представили подробный отчет «Уязвимости сетей мобильной связи на основе SS7». В 2015 году специалисты SR Labs в эфире австралийской программы «60 минут», будучи в Германии, перехватывали SMS-переписку австралийского сенатора Ника Ксенофонта и британского журналиста, а потом наблюдали за передвижениями сенатора в командировке в Токио.
Общие результаты
Из соображений конфиденциальности мы не раскрываем названия компаний, которые участвовали в нашем исследовании. Отметим лишь, что половина исследованных сетей SS7 принадлежат крупнейшим мобильным операторам с числом абонентов более 40 млн.
Объем абонентской базы операторов
Итоговый уровень безопасности сетей SS7 всех исследованных операторов мобильной связи оказался крайне невысок. В 2015 году в отношении операторов связи и их сетей SS7 могли быть реализованы атаки, связанные с утечкой данных абонентов (77% успешных попыток), нарушениями в работе сети (80%) и мошенническими действиями (67%).
Входящие SMS-сообщения можно было перехватить в сетях всех участников исследования. Девять из десяти атак (89%) достигли цели, и это очень плохой результат. Судите сами: SMS-сообщения часто используются в системах двухфакторной аутентификации и для восстановления паролей от различных интернет-сервисов. Перехват сообщений выполнялся методом UpdateLocation. Злоумышленник регистрирует абонента-жертву в фальшивой сети, после чего все входящие сообщения SMS приходят на указанный им адрес.
Доля успешных атак с целью получения чувствительной информации
Несанкционированный запрос баланса также был возможен почти повсеместно (92% атак). Для этой атаки используется сообщение ProcessUnstructuredSS-Request, в теле которого передается соответствующая USSD-команда.
Голосовые вызовы оказались защищены немного лучше: увенчались успехом только половина атак с целью прослушивания входящих и исходящих звонков. Но и это огромный риск для абонентов. Для перехвата входящих вызовов использовалась техника подмены роумингового номера. Прослушивание же исходящих вызовов осуществлялось методом InsertSubscriberData. Затем в том и другом случае выполнялось перенаправление трафика на другой коммутатор.
Методы определения местоположения абонента (доли успешных атак)
Определить физическое местоположение абонента получилось во всех сетях, кроме одной. Основные методы — SendRoutingInfo и ProvideSubscriberInfo, причем последний давал результат при каждой второй атаке (53%).
Наиболее ценная информация об абоненте — IMSI. Этот идентификатор нужен для большинства атак. Легче всего оказалось получить его методом SendRoutingInfo.
Методы кражи информации об абоненте (доли успешных атак)
Другой метод определения IMSI — SendRoutingInfoForSM — оказался эффективен в 70% случаев. Данное сообщение используется при входящем SMS-сообщении для запроса маршрутной информации и локализации абонента-получателя. Узнать идентификатор абонента можно было и с помощью команды SendIMSI, но с меньшей вероятностью (25%).
Мошенничество
В каждой из систем были выявлены недостатки, позволяющие реализовывать какие-либо мошеннические действия со стороны внешнего нарушителя. Примерами таких действий могут служить перенаправление вызовов, перевод денежных средств со счета абонента, изменение профиля абонента.
Мошенничество: доли успешных атак
Большинство атак с целью перенаправления входящих вызовов оказались успешны (94%). Это подтверждает наличие в сетях SS7 существенных проблем, связанных с архитектурой протоколов и систем.
Исходящий вызов удалось перенаправить лишь в 45% случаев. Для перенаправления применялся метод InsertSubscriberData.
Атаки с целью перенаправления входящих вызовов осуществлялись с использованием двух техник — подмены роумингового номера и манипуляции с переадресацией. Подмена роумингового номера осуществляется в момент входящего вызова на атакуемого абонента, который должен быть предварительно зарегистрирован в фальшивой сети. В ответ на запрос роумингового номера атакующий отправляет номер для перенаправления вызова. Плата за установленное соединение ляжет на оператора.
Манипуляция с переадресацией — несанкционированная установка безусловной переадресации. Все входящие вызовы для абонента будут перенаправляться на указанный номер. Платить за вызовы придется абоненту.
Методы перенаправления входящего вызова (доли успешных атак)
Изменение профиля абонента было возможно в каждой второй атаке, осуществленной методом InsertSubscriberData (54%). Атакующий имеет возможность изменить профиль абонента таким образом, что исходящие вызовы будут осуществляться в обход системы тарификации. Эта атака может использоваться в схемах мошенничества с генерацией трафика на платные номера и дорогие направления за счет оператора.
DoS-атака на абонента
Чтобы сделать абонентское оборудование (телефон, модем, GSM-сигнализацию или датчик) недоступным для входящих транзакций, злоумышленник может осуществлять целенаправленные атаки на абонентов мобильной сети. Большинство исследованных нами сетей SS7 уязвимы для DoS-атак (успешны были 80%).
Во всех случаях применялся метод UpdateLocation; для атаки нужно знать идентификатор IMSI абонента. В сеть оператора отправляется сообщение UpdateLocation, информируя HLR, что абонент произвел регистрацию (в поддельной сети). После этого входящие вызовы на абонента маршрутизируются на адрес, указанный при атаке.
Причины проблем
Большинство атак на сети SS7 были возможны из-за отсутствия проверки реального местоположения абонента. На втором и третьем местах в списке причин — невозможность проверки принадлежности абонента сети и отсутствие фильтрации неиспользуемых сигнальных сообщений. На четвертой позиции — ошибки конфигурации SMS Home Routing.
Среднее число успешных атак в одной сети SS7 (в зависимости от недостатка)
Что можно сделать
Большинство недостатков, позволяющих определить местоположение абонента и украсть данные, могут быть устранены изменением конфигурации сетевого оборудования. Необходимо как минимум установить запрет на обработку сообщений AnyTimeInterrogation и SendIMSI на HLR.
Архитектурные проблемы протоколов и систем решаются путем блокирования нежелательных сообщений. В первую очередь следует обратить внимание на SendRoutingInfoForSM, SendIMSI, SendRoutungInfoForLCS, SendRoutingInfo. Фильтрация поможет избежать рисков, связанных с отказом в обслуживании, перехватом SMS-сообщений, перенаправлением вызовов, прослушиванием звонков, изменением профиля абонента.
Однако не все указанные сообщения сети SS7 могут оказаться опасными. Необходимо реализовать фильтрацию таким образом, чтобы отсекались только нежелательные сообщения, используемые в атаках. Для этого рекомендуется внедрять дополнительные средства защиты, например, системы обнаружения вторжений. Подобные системы не влияют на трафик сети, но позволяют выявить действия нарушителя и определить необходимые настройки фильтрации сообщений.
Полная версия исследования: www.ptsecurity.ru/research/analytics.
Авторы: Дмитрий Курбатов, Сергей Пузанков, Отдел безопасности телекоммуникационных систем Positive Technologies