SS7 - это протокол сигнализации, который используется операторами мобильной связи по всему миру для маршрутизации звонков, SMS, роуминга и других служебных сообщений между сетями.
В 2017 году клиенты немецких банков потеряли миллионы евро за несколько часов. Банковские серверы никто не ломал. Атакующие сначала собрали логины и пароли через malware на ПК жертв, а затем перехватили SMS с одноразовыми кодами через SS7 - перенаправили сообщения на подконтрольные устройства и вывели деньги со счетов (Süddeutsche Zeitung, подтверждение O2-Telefónica, 2017). В 2024 году AT&T раскрыла утечку записей звонков и SMS-метаданных ~110 миллионов абонентов - правда, тут причина была в компрометации облачной платформы Snowflake (украденные учётные данные), а не в SS7. Но сам факт массовой утечки телеком-метаданных показывает, насколько эта информация ценна для атакующих. SS7 атаки и перехват SMS - не теоретический риск из презентации на конференции, а рабочий вектор, который эксплуатируют прямо сейчас.
Бизнес-логика атаки: зачем атакуют сигнальные сети
Атака на SS7 - не самоцель, а звено в цепочке. Прежде чем лезть в протоколы, разберёмся с мотивацией:- Финансовое мошенничество - перехват одноразовых паролей SMS для подтверждения банковских транзакций. У злоумышленника уже есть логин и пароль жертвы (фишинг, infostealers, утечки баз) - ему нужен только второй фактор. По данным CrowdStrike Global Threat Report 2025, 75% вторжений в 2024 году использовали действительные учётные данные.
- Таргетированная слежка - определение местоположения абонента SS7 в реальном времени. Журналисты, активисты, конкуренты, VIP-персоны.
- Угон аккаунтов - перехват SMS для сброса пароля в мессенджерах, соцсетях, почте. MSISDN жертвы - единственное, что нужно знать для старта.
- Телеком-фрод - маршрутизация вызовов через дорогие международные пути (premium rate fraud), обход биллинговых систем.
Архитектура SS7: уязвимости сигнальных протоколов мобильных сетей
SS7 (Signaling System No. 7) - набор протоколов телефонной сигнализации, стандартизированный в 1970-х. Он управляет установкой вызовов, маршрутизацией SMS, роумингом и биллингом в сетях GSM, UMTS и даже LTE (через interworking-функции). Ключевые компоненты сигнальной сети:
- SSP (Service Switching Point) - коммутаторы, инициирующие и завершающие вызовы. Сюда относятся MSC (Mobile Switching Center).
- STP (Signal Transfer Point) - маршрутизаторы сигнальных сообщений между узлами SS7.
- SCP (Service Control Point) - базы данных для обработки сервисных запросов.
- HLR (Home Location Register) - мастер-база абонентов: IMSI, профиль услуг, адрес текущего MSC/VLR.
- VLR (Visitor Location Register) - временная база для роуминговых абонентов.
Сегодня SS7-доступ можно получить через MVNO в странах со слабым регулированием, через скомпрометированных операторов, через роуминговые хабы. По данным TerraZone: "SS7 access available through MVNOs, resellers, and roaming hubs""Доступ к сети SS7 предоставляется через виртуальных операторов мобильной связи, реселлеров и роуминговые сети.". Рынок доступа существует, и стоимость входа продолжает падать.
Ключевые MAP-операции как вектор SS7 атак
Mobile Application Part (MAP) - прикладной протокол в стеке SS7, отвечающий за управление абонентскими данными. Именно MAP-операции эксплуатируются в атаках на телеком инфраструктуру:| MAP-операция | Opcode (3GPP TS 29.002) | Легитимное назначение | Использование в атаке |
|---|---|---|---|
| SendRoutingInfoForSM (SRI4SM) | 45 | Запрос маршрута для доставки SMS | Получение IMSI и адреса MSC/VLR жертвы |
| UpdateLocation | 2 | Обновление местоположения при смене MSC | Регистрация жертвы на поддельном MSC |
| InsertSubscriberData (ISD) | 7 | Обновление профиля абонента в VLR | Подмена адреса биллинговой системы |
| ProvideSubscriberInfo (PSI) | 70 | Запрос текущей информации об абоненте | Определение Cell ID и координат |
| AnyTimeInterrogation (ATI) | 71 | Интерактивный запрос местоположения | Отслеживание абонента в реальном времени |
| CancelLocation | 3 | Удаление записи из VLR при handover | DoS: отключение абонента от сети |
Каждая из этих операций - штатная функция сети. Проблема в том, что SS7 не проверяет, имеет ли запрашивающий узел право на конкретную операцию. Любой узел с корректным Global Title (GT) может отправить любой запрос. Вот и всё.
Цепочка SS7 атаки: от покупки доступа до перехвата SMS
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Перехват SMS через SS7: пошаговый разбор
Шаг 1: Разведка. Атакующий шлёт SendRoutingInfoForSM (SRI4SM) с MSISDN жертвы (номер телефона) на HLR домашнего оператора. Запрос выглядит легитимно - именно так SMSC оператора-отправителя узнаёт, куда доставить SMS. HLR возвращает IMSI (уникальный идентификатор SIM-карты), адрес обслуживающего MSC и адрес VLR.Шаг 2: Подмена маршрутизации. Получив IMSI и адрес MSC, атакующий шлёт UpdateLocation - сообщает HLR, что абонент зарегистрировался на новом MSC/VLR (контролируемом атакующим). HLR обновляет запись, и все входящие SMS начинают маршрутизироваться на поддельный узел. Параллельно может уйти InsertSubscriberData (ISD) в VLR жертвы для подмены адреса биллинговой системы - это открывает перехват и голосовых вызовов.
Шаг 3: Перехват. Банк или сервис отправляет SMS с OTP-кодом. Сообщение уходит на поддельный MSC атакующего. Жертва SMS не получает или получает с задержкой (если атакующий настроил проксирование обратно на реальный MSC - чтобы не спалиться). Атакующий вводит перехваченный код и получает доступ к аккаунту.
Определение местоположения абонента через SS7
Для трекинга используются ProvideSubscriberInfo (PSI) и AnyTimeInterrogation (ATI). PSI возвращает Cell ID базовой станции, к которой подключен абонент. ATI даёт обновления в реальном времени. Точность - от нескольких сотен метров в городе до нескольких километров за городом.В терминах MITRE ATT&CK это System Location Discovery (T1614, тактика Discovery). По данным CellCrypt, коммерческие surveillance-вендоры (CSV) продают системы трекинга на базе SS7 как готовый продукт - описано в отчёте «Bad Connection» о злоупотреблениях протоколами SS7 и Diameter.
Diameter протокол: атаки на 4G/5G сигнальные сети
Diameter разрабатывался как замена SS7 для сетей 4G/LTE и 5G - с улучшенной аутентификацией и контролем политик. На практике наследует те же фундаментальные проблемы.CellCrypt прямо пишет: "security audits of major carriers worldwide have revealed widespread Diameter vulnerabilities, with many networks failing to implement even basic filtering and access controls""Аудиты безопасности крупнейших операторов связи по всему миру выявили широко распространенные уязвимости Diameter, при этом во многих сетях отсутствуют даже базовые средства фильтрации и контроля доступа.".
| Характеристика | SS7 | Diameter |
|---|---|---|
| Аутентификация между узлами | Отсутствует | Предусмотрена, часто не внедрена |
| Шифрование сигнализации | Нет | TLS/IPSec возможен, редко используется |
| Фильтрация сообщений | SS7 firewall | Diameter Edge Agent (DEA) |
| Interworking с legacy | Нативно | Через IWF - критическая точка атаки |
| Основные атаки | Перехват SMS, трекинг, DoS | Information disclosure, DoS, fraud |
Критически опасен вектор downgrade-атаки с 4G на 2G: уязвимости Diameter комбинируются с SS7 для принудительного перевода 4G/5G-устройства на 2G-сеть, где шифрование слабое или отсутствует. CellCrypt: "Diameter vulnerabilities can be combined with SS7 attacks to force modern 4G/5G devices down to vulnerable 2G networks, where encryption is weak or absent entirely""Уязвимости Diameter в сочетании с атаками SS7 могут заставить современные устройства 4G/5G переключаться на уязвимые сети 2G, где шифрование слабое или полностью отсутствует.".
Interworking Function (IWF) - шлюз между SS7 и Diameter - самая опасная точка. Если IWF не защищён, SS7-атаки пролезают в Diameter-домен. Vehere: "if these gateways are improperly secured, SS7-based attacks can propagate into newer network domains""Если эти шлюзы ненадлежащим образом защищены, атаки на основе SS7 могут распространиться на более новые сетевые домены.". Рекомендация FCC (CSRIC-6) подтверждает: "The use cases found in SS7 may exist in Diameter as well, namely: location tracking, voice/SMS interception, subscriber denial of service""Сценарии использования, обнаруженные в SS7, могут существовать и в Diameter, а именно: отслеживание местоположения, перехват голосовых сообщений/SMS, отказ в обслуживании абонентов.".
Обход двухфакторной аутентификации SMS через SS7
Перехват SMS через SS7 превращает SMS-based 2FA из защиты в уязвимость. Механика обхода двухфакторной аутентификации SMS - три шага:- Атакующий получает credentials жертвы - через фишинг, infostealers или утечки баз данных
- Инициирует вход в банк или сервис, система запрашивает SMS-код
- Через SS7 (SRI4SM + UpdateLocation) перехватывает SMS с OTP и вводит код
Детектирование SS7 атак и защита сигнальных сетей
Требования к окружению
- Для анализа трафика: GNU/Linux (Debian/Ubuntu 20.04+) или Windows 10+ с Wireshark 4.x (декодеры SCCP/MAP/TCAP входят в стандартную поставку; для корректного декодирования MAP PCAP должен содержать полный стек MTP3/M3UA -> SCCP -> TCAP, иначе придётся указать протокол вручную через Decode As)
- Входные данные: PCAP-файлы с сигнального интерфейса или зеркало STP/SCP
- Для production-мониторинга: SS7/Diameter firewall (Positive Technologies SS7 FW, AdaptiveMobile SMS Shield или аналоги) с интеграцией в SIEM
- Для тестирования: стенд на базе osmocom (osmo-msc, osmo-hlr) или коммерческие SS7-тестеры (P1 Security PTA, EXFO)
Wireshark-фильтры для сигнального трафика
Базовый набор Wireshark display filters для обнаружения подозрительной SS7-активности в PCAP-дампах:
Код:
gsm_map.opcode == 45 # SRI4SM - разведка
gsm_map.opcode == 2 # UpdateLocation - подмена MSC
gsm_map.opcode == 7 # InsertSubscriberData
gsm_map.opcode == 70 # ProvideSubscriberInfo
gsm_map.opcode == 71 # AnyTimeInterrogation
sccp.calling.ssn == 6 || sccp.calling.ssn == 7 # HLR/VLR source
Код:
diameter.cmd.code == 316 && diameter.flags.request == 1 # Update-Location-Request
diameter.cmd.code == 317 && diameter.flags.request == 1 # Cancel-Location-Request
diameter.applicationId == 16777251 # S6a (LTE subscriber mgmt)
Критерии аномалий для SS7 firewall
SS7 firewall анализирует сигнальные сообщения в реальном времени. Паттерны для детектирования:- Частота SRI4SM с одного GT - более 50 запросов за 5 минут с одного Global Title на разные MSISDN = массовая разведка
- Географическая несогласованность - UpdateLocation с GT страны, в которой абонент не мог оказаться с момента последнего обновления (Россия -> Нигерия за 10 минут - ну-ну)
- UpdateLocation без предшествующего SRI - легитимный роуминговый сценарий всегда начинается с SRI, «голый» UpdateLocation - признак атаки
- ATI/PSI от внешних GT - запросы местоположения от узлов за пределами доверенной сети
- ISD от незарегистрированного VLR - попытка модифицировать профиль абонента от узла, которого нет в списке роуминговых партнёров
Если маппить на NIST CSF v2.0: DE.AE-01 (установление baseline сигнального трафика), RS.AN-01 (расследование алертов от SS7 firewall) и PR.AA-01 (управление идентификацией собственных узлов сигнальной сети - STP/DEA).
Чеклист защиты от SS7 атак для операторов
Готовый чеклист - можно отдавать команде эксплуатации сигнальной сети как есть:- Внедрить SS7 firewall с фильтрацией по категориям MAP-операций - минимум: блокировка SRI4SM, UpdateLocation, ATI от нелегитимных GT
- Настроить whitelist GT для каждого роумингового партнёра - разрешать только операции, необходимые по роуминговому соглашению
- Включить Home Routing для SMS - все входящие SMS проходят через SMSC домашней сети, минуя прямую маршрутизацию через MSC
- Внедрить Diameter Edge Agent (DEA) на границе Diameter-сети с валидацией AVP и фильтрацией по Application-ID
- Защитить Interworking Functions (IWF) - SS7-Diameter шлюзы должны применять те же правила фильтрации, что и SS7 firewall
- Настроить мониторинг аномалий - интеграция SS7 firewall с SIEM, алерты на паттерны из раздела «Критерии аномалий»
- Провести аудит по GSMA FS.11 и FS.19 - регулярная оценка защищённости сигнальных интерфейсов, не реже раза в год
- Рекомендовать сервис-провайдерам альтернативу SMS-based 2FA - TOTP, FIDO2, push-аутентификация с привязкой к устройству
- Ограничить доступ к SS7/Diameter интерфейсам - физическая и логическая сегментация, контроль доступа к STP/DEA
- Проводить регулярный пентест сигнальной сети - по методологии GSMA, с использованием SigPloit на тестовом стенде или коммерческих тестеров (P1 Security PTA, EXFO)
Diameter не спасает. По документам у него есть TLS и взаимная аутентификация. На практике многие операторы не включают их на Diameter-интерфейсах - "партнёр не поддерживает" или "увеличивает latency на 2 мс". IWF между SS7 и Diameter - открытая дверь: если SS7-сторона пропускает вредоносное сообщение, оно транслируется в Diameter-домен без повторной валидации.
Единственное честное решение - убрать SMS из цепочки аутентификации. Не "рекомендовать переход на TOTP", а запретить SMS-based 2FA для всего, что имеет финансовый или операционный импакт: банки, криптобиржи, корпоративные VPN. FIDO2-ключи, TOTP-приложения, push-аутентификация с привязкой к устройству - альтернативы давно работают. Ждать, пока все операторы мира правильно настроят SS7 firewall и корректно внедрят Diameter-security - стратегия, которая уже обошлась индустрии в сотни миллионов потерь от fraud. Через два-три года смартфоны с поддержкой только 4G/5G станут массовыми и 2G/3G-сегмент начнёт отключаться, но SS7 interworking будет жить ещё долго - и атаки через него тоже.
Проверьте прямо сейчас: какие из ваших сервисов всё ещё используют SMS как единственный второй фактор? Если в списке есть хоть один банк или корпоративный VPN - вы знаете, что делать.
Последнее редактирование модератором: