Какие уязвимости протокола SS7 используются для перехвата SMS с OTP?

Mutt

Professional
Messages
1,385
Reaction score
951
Points
113
Для образовательных целей я предоставлю подробное объяснение уязвимостей протокола SS7, их эксплуатации в контексте кардинга, причин, почему такие атаки остаются сложными для большинства кардеров, а также детальный разбор перехода банков на push-уведомления, биометрию и другие методы защиты. Я также добавлю контекст, связанный с кардингом, чтобы показать, как злоумышленники могут пытаться использовать эти уязвимости, и почему современные банковские решения делают такие атаки менее эффективными. Все описанное ниже предназначено исключительно для понимания механизмов и повышения осведомленности о кибербезопасности.

1. Уязвимости протокола SS7 в контексте кардинга​

SS7 (Signaling System No. 7) — это протокол сигнализации, используемый в телекоммуникационных сетях для управления звонками, SMS и роумингом. Он был разработан в 1970-х годах, когда безопасность не была приоритетом, что делает его уязвимым для современных атак, особенно в контексте кардинга, где перехват одноразовых паролей (OTP) из SMS может дать доступ к банковским счетам.

Основные уязвимости SS7:​

  1. Отсутствие аутентификации и авторизации:
    • SS7 предполагает, что все узлы в сети (например, MSC — Mobile Switching Center, VLR — Visitor Location Register, HLR — Home Location Register) доверенные. Злоумышленник, получивший доступ к сети, может отправлять сигнальные команды, выдавая себя за легитимный узел.
    • В контексте кардинга это позволяет злоумышленнику перенаправлять SMS с OTP, отправленные банком жертве, на подконтрольное устройство или сервер.
  2. Перехват SMS через команду UpdateLocation:
    • Злоумышленник отправляет запрос UpdateLocation в HLR жертвы, чтобы зарегистрировать телефон жертвы в поддельной сети (например, фальшивом MSC/VLR). После этого все SMS перенаправляются на сервер злоумышленника.
    • Пример сценария для кардера: Кардер, имеющий номер телефона жертвы (например, полученный через фишинг или утечку данных), использует доступ к SS7, чтобы перенаправить SMS с OTP. Затем он инициирует транзакцию через украденные данные карты, получает OTP и подтверждает операцию.
  3. Запрос SendRoutingInfoForSM:
    • Эта команда позволяет узнать текущий MSC/VLR, обслуживающий телефон жертвы, и перенаправить SMS на подконтрольный узел. Злоумышленник может получить содержимое SMS, включая OTP, без необходимости физического доступа к устройству.
    • Пример в кардинге: Кардер инициирует сброс пароля в банковском приложении жертвы, перехватывает SMS с кодом подтверждения и получает доступ к аккаунту.
  4. Отсутствие шифрования сигнального трафика:
    • Сообщения в SS7 передаются в открытом виде, что позволяет перехватывать данные, если злоумышленник имеет доступ к сигнальной сети. Это упрощает чтение содержимого SMS, если они перенаправлены.
    • Кардинг-контекст: Кардер может не только перехватить OTP, но и получить дополнительную информацию о жертве, такую как IMSI или местоположение, что может быть использовано для дальнейших атак.
  5. Уязвимости MAP-протокола:
    • SS7 использует MAP (Mobile Application Part) для управления мобильными абонентами. Уязвимости MAP позволяют выполнять такие действия, как подмена данных о местоположении, перехват сообщений или даже отключение телефона жертвы от сети.
    • Кардинг-пример: Злоумышленник может временно "отключить" телефон жертвы от сети, чтобы она не получила уведомление о транзакции, пока он использует перехваченный OTP.
  6. IMSI и номера телефона:
    • Для атаки через SS7 злоумышленнику нужен IMSI жертвы или ее номер телефона. IMSI можно получить через утечки данных, фишинг, социальную инженерию или с помощью IMSI-catcher (устройства, имитирующего базовую станцию).
    • Кардинг-контекст: Кардеры часто покупают базы данных с номерами телефонов и IMSI на черном рынке, чтобы таргетировать жертв.

Как это работает на практике:​

  • Кардер получает номер телефона жертвы (например, через фишинг или утечку данных).
  • Используя доступ к SS7 (через черный рынок или скомпрометированного оператора), он отправляет запрос UpdateLocation, чтобы перенаправить SMS жертвы.
  • Кардер инициирует транзакцию или сброс пароля в банковском приложении, получает OTP через перенаправленные SMS и завершает операцию.
  • Жертва может не заметить атаку, так как SMS не доставляется на ее устройство, а телефон продолжает работать в сети.

2. Почему атаки через SS7 сложны для большинства кардеров​

Несмотря на известность уязвимостей SS7, их эксплуатация требует значительных ресурсов, что делает такие атаки недоступными для большинства кардеров. Вот ключевые причины:
  1. Ограниченный доступ к SS7-сети:
    • Доступ к SS7 возможен только через телекоммуникационные компании, провайдеров сигнальных услуг или скомпрометированные узлы. На черном рынке доступ к SS7 может стоить от $10,000 до $100,000, в зависимости от региона и оператора.
    • Кардинг-контекст: Большинство кардеров работают с небольшими бюджетами и предпочитают дешевые методы, такие как фишинг или покупка украденных данных карт, которые стоят $10–50 за запись.
  2. Техническая сложность:
    • Для эксплуатации SS7 нужно разбираться в телекоммуникационных протоколах, таких как MAP и CAMEL, а также уметь отправлять сигнальные сообщения через специализированное ПО (например, Osmocom или Yate).
    • Злоумышленнику нужно знать IMSI жертвы, что требует дополнительных усилий (например, использования IMSI-catcher или покупки данных).
    • Кардинг-контекст: Кардеры, не обладающие техническими знаниями, предпочитают простые атаки, такие как массовый фишинг или использование троянов для кражи данных.
  3. Риски и масштабируемость:
    • Атаки через SS7 сложны для автоматизации и масштабирования. Каждая атака требует индивидуальной настройки для конкретного номера, что делает их трудоемкими.
    • Кардинг-контекст: Кардеры, ориентированные на массовый кардинг (например, через ботнеты или фишинговые кампании), избегают SS7 из-за его низкой рентабельности по сравнению с затратами.
  4. Мониторинг и защита операторов:
    • Операторы связи внедряют системы мониторинга сигнального трафика, такие как SS7 firewalls, которые выявляют подозрительные запросы (например, множественные UpdateLocation из разных сетей).
    • GSMA (Глобальная ассоциация операторов мобильной связи) разработала рекомендации по защите SS7, включая фильтрацию трафика и блокировку несанкционированных запросов.
    • Кардинг-контекст: Усиление защиты со стороны операторов заставляет кардеров искать более простые цели, такие как плохо защищенные сайты или уязвимые пользователи.
  5. Юридические риски:
    • Доступ к SS7 часто требует взаимодействия с нелегальными провайдерами или инсайдерами в телеком-компаниях, что увеличивает риск разоблачения.
    • Кардинг-контекст: Кардеры, работающие в одиночку или в небольших группах, избегают таких рисков, предпочитая анонимные методы, такие как использование VPN или прокси для фишинга.

3. Как банки защищаются: Push-уведомления, биометрия и другие методы​

Банки осознают уязвимости SMS OTP, связанные с SS7, и активно переходят на более безопасные методы двухфакторной аутентификации (2FA). Вот подробный разбор, как это работает и почему это усложняет жизнь кардерам:

Push-уведомления​

  • Механизм:
    • Вместо SMS банки отправляют уведомления через свои мобильные приложения (например, банковские приложения Revolut, Monzo, или Сбербанк Онлайн). Push-уведомления привязаны к конкретному устройству и используют защищенные каналы связи (например, HTTPS с TLS).
    • Пользователь получает уведомление с запросом на подтверждение транзакции (например, "Подтвердить перевод на $100?"), которое требует нажатия кнопки "Да/Нет" в приложении.
  • Почему это безопаснее:
    • Push-уведомления не проходят через SS7, что делает их неуязвимыми для атак на сигнальную сеть.
    • Уведомления шифруются и привязаны к устройству через уникальные идентификаторы (например, токены FCM/APNs), что усложняет их перехват.
    • Банки могут интегрировать дополнительные проверки, такие как геолокация или поведенческий анализ (например, проверка, что устройство находится в привычном регионе).
  • Кардинг-контекст:
    • Для перехвата push-уведомлений кардеру нужно скомпрометировать устройство жертвы (например, установить вредоносное ПО) или получить доступ к учетной записи в банковском приложении, что значительно сложнее, чем перехват SMS.
    • Даже если кардер получит доступ к устройству, банки часто требуют дополнительную аутентификацию (например, PIN или биометрию) для подтверждения транзакции.

Биометрия​

  • Механизм:
    • Банки внедряют биометрическую аутентификацию, такую как сканирование отпечатков пальцев, распознавание лица (Face ID) или голоса. Эти данные хранятся локально на устройстве в защищенном анклаве (например, Secure Enclave на iPhone) и не передаются по сети.
    • Пользователь подтверждает транзакцию, прикладывая палец к сканеру или используя камеру для распознавания лица.
  • Почему это безопаснее:
    • Биометрические данные практически невозможно подделать без физического доступа к устройству.
    • Они не зависят от внешних каналов связи, таких как SMS или SS7, что исключает возможность перехвата.
    • Даже если устройство украдено, банки часто требуют дополнительный PIN или пароль для доступа к приложению.
  • Кардинг-контекст:
    • Кардерам практически невозможно обойти биометрию без физического доступа к устройству жертвы или сложных атак, таких как создание фальшивых отпечатков пальцев (что крайне редкий сценарий).
    • Биометрия снижает зависимость от OTP, что делает атаки на SS7 неактуальными.

Дополнительные меры защиты​

  1. Токенизация:
    • Банки используют токены (например, на основе стандарта EMV) для генерации одноразовых кодов внутри приложения. Эти токены привязаны к конкретной транзакции и устройству, что делает их бесполезными при перехвате.
    • Кардинг-контекст: Даже если кардер перехватит токен, он не сможет использовать его без доступа к устройству и учетной записи.
  2. Контекстная аутентификация:
    • Банки анализируют контекст транзакции: геолокацию, время, тип устройства, историю поведения пользователя. Если транзакция выглядит подозрительной (например, выполняется из другой страны), она блокируется или требует дополнительного подтверждения.
    • Кардинг-контекст: Это усложняет атаки, так как кардеру нужно не только перехватить OTP, но и подделать геолокацию или другие параметры.
  3. Аппаратные токены:
    • Некоторые банки (например, в Европе) используют физические устройства, такие как YubiKey или банковские токены, для генерации OTP. Эти устройства не зависят от SS7 или мобильных приложений.
    • Кардинг-контекст: Кардеру нужен физический доступ к устройству, что практически невозможно в большинстве случаев.
  4. Отказ от SMS OTP:
    • Многие банки (например, JPMorgan Chase, ING) полностью отказываются от SMS в пользу push-уведомлений, биометрии или токенов. Это напрямую устраняет угрозу атак через SS7.
    • Кардинг-контекст: Кардеры теряют возможность использовать SS7 для перехвата кодов, что заставляет их искать альтернативные методы, такие как фишинг или вредоносное ПО.
  5. Многофакторная аутентификация (MFA):
    • Банки комбинируют несколько факторов (например, биометрию + PIN + геолокацию), что значительно повышает сложность атаки.
    • Кардинг-контекст: Даже если кардер обойдет один фактор (например, перехватит SMS), ему все равно нужно скомпрометировать другие, что требует гораздо больше ресурсов.

4. Практические примеры и тренды в банковской защите​

  • Revolut: Использует push-уведомления и биометрию для подтверждения транзакций. SMS OTP применяются только в крайнем случае (например, для устаревших устройств). Приложение анализирует поведение пользователя и блокирует транзакции при подозрительных действиях.
  • Monzo: Полностью отказался от SMS OTP в пользу push-уведомлений и биометрии. Приложение требует Face ID или отпечаток пальца для входа и подтверждения крупных транзакций.
  • Сбербанк (Россия): Переходит на push-уведомления через приложение "Сбербанк Онлайн" и активно внедряет биометрию (распознавание лица и голоса). SMS OTP используются как резервный вариант.
  • HSBC: Внедряет биометрическую аутентификацию и токенизацию через мобильное приложение. Для крупных транзакций требуется дополнительное подтверждение через физический токен.

Тренды:​

  • Универсализация биометрии: Банки все чаще используют биометрические данные, интегрированные с платформами, такими как Apple Pay или Google Pay, для упрощения аутентификации.
  • FIDO2 и WebAuthn: Стандарты безпарольной аутентификации, которые используют криптографические ключи, хранящиеся на устройстве, начинают внедряться в банковских приложениях.
  • AI и поведенческий анализ: Банки используют машинное обучение для анализа поведения пользователей (например, привычные места входа, типичные суммы транзакций), что позволяет блокировать подозрительные операции даже без участия пользователя.

5. Почему SS7 остается проблемой, но теряет актуальность для кардеров​

Несмотря на уязвимости SS7, его использование в кардинге становится менее актуальным по нескольким причинам:
  • Снижение зависимости от SMS: Банки переходят на push-уведомления и биометрию, что делает перехват SMS бесполезным.
  • Усиление защиты операторов: Телеком-компании внедряют SS7 firewalls и мониторинг, что снижает вероятность успешных атак.
  • Рост альтернативных методов: Кардеры переходят к более простым и дешевым методам, таким как фишинг, вредоносное ПО (например, банковские трояны), или покупка украденных данных на даркнете.

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

6. Рекомендации для защиты от атак через SS7 (для пользователей и банков)​

Для пользователей:​

  • Используйте банковские приложения: Установите официальное приложение банка и включите push-уведомления вместо SMS.
  • Включите биометрию: Используйте отпечатки пальцев или Face ID для входа в приложение и подтверждения транзакций.
  • Избегайте фишинга: Не предоставляйте номера телефонов или личные данные на подозрительных сайтах.
  • Мониторьте транзакции: Регулярно проверяйте выписки по счету и включайте уведомления о любых операциях.

Для банков:​

  • Отказ от SMS OTP: Полностью перейдите на push-уведомления, биометрию или токены.
  • Внедрение MFA: Комбинируйте несколько факторов аутентификации для повышения безопасности.
  • Сотрудничество с операторами: Работайте с телеком-компаниями для внедрения SS7 firewalls и мониторинга подозрительного трафика.
  • Обучение клиентов: Информируйте пользователей о рисках SMS OTP и преимуществах современных методов аутентификации.

Заключение​

Уязвимости SS7, такие как отсутствие аутентификации, шифрования и уязвимости MAP-протокола, позволяют кардерам перехватывать SMS с OTP, используя команды вроде UpdateLocation или SendRoutingInfoForSM. Однако такие атаки требуют значительных ресурсов, включая доступ к SS7-сети, технические знания и высокие финансовые затраты, что делает их недоступными для большинства кардеров. Банки активно переходят на push-уведомления, биометрию, токенизацию и контекстную аутентификацию, которые устраняют зависимость от уязвимого протокола SS7 и значительно усложняют атаки. Эти меры, в сочетании с усилением защиты со стороны операторов связи, делают перехват OTP через SS7 менее актуальным, заставляя кардеров искать другие, более простые методы атак, такие как фишинг или вредоносное ПО. Для пользователей и банков важно продолжать внедрять современные технологии аутентификации и повышать осведомленность о киберугрозах.
 
Top