SIM-swap и SS7: почему SMS-коды уязвимы в 2026 году

SIM-swap и SS7: почему SMS-коды уязвимы в 2026 году

SMS-код подтверждает вход, оплату или изменение настроек, но сам канал доставки не даёт полной гарантии безопасности. В 2026 году малому бизнесу приходится учитывать SIM-swap, атаки на SS7 и перехват сообщений на устройстве клиента. В статье разберём, как эти угрозы работают, какие операции нельзя защищать одним SMS, как настроить ограничения и когда добавить push OTP, приложение или другой фактор подтверждения.

Почему SMS-код можно перехватить?

SMS OTP — это одноразовый пароль, который сервер создаёт для конкретного действия и отправляет на номер клиента. Обычно код действует недолго, часто 5–10 минут, после чего становится бесполезным. Такая схема защищает от повторного использования старого сообщения, но не устраняет риск перехвата во время его доставки.

При SIM-swap злоумышленник добивается перевыпуска SIM-карты или переноса номера на свою SIM. После этого сообщения и звонки, предназначенные владельцу номера, приходят другому человеку. Если SMS-код используется как единственное подтверждение, преступник получает один из главных элементов для входа в аккаунт.

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

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

Какие операции нельзя оставлять на одном SMS?

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

Операция Риск при перехвате кода Что добавить к SMS
Вход в личный кабинет Доступ к учётной записи Ограничение попыток, уведомление о новом устройстве, дополнительный фактор для подозрительного входа
Сброс пароля Захват аккаунта Проверка уже известного устройства или дополнительное подтверждение через приложение
Изменение номера и контактных данных Потеря контроля над аккаунтом Повторное подтверждение, задержка операции и уведомление по прежнему каналу
Платёжное или финансово значимое действие Прямой ущерб бизнесу или клиенту Отдельный фактор, лимиты и ручная проверка необычной операции
Статус заказа или доставки Раскрытие ограниченной информации Минимум данных в тексте сообщения и короткий срок действия кода, если он нужен

Для критичных действий полезно разделить подтверждение и уведомление. Например, сервер может отправить клиенту код для входа, но смену номера разрешить только после дополнительной проверки. Одновременно система должна показать факт входа или изменения настроек в кабинете и отправить отдельное уведомление.

Если SMS используется для подтверждения заказа, платежа или выдачи, в тексте не стоит размещать лишние сведения. Сообщение должно объяснять, что именно подтверждает код: «Код для входа» или «Код для изменения номера». Клиенту проще заметить подмену, когда назначение операции указано прямо.

Как снизить риск SIM-swap для небольшого бизнеса?

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

  • Ограничьте число запросов кода для одного номера, устройства и IP-адреса.
  • Установите паузу между повторными отправками, чтобы атакующий не перегружал канал.
  • Блокируйте перебор после нескольких неверных попыток и передавайте событие в журнал безопасности.
  • Не показывайте полный номер телефона в интерфейсе и не сообщайте код оператору поддержки.
  • Запрашивайте дополнительную проверку при входе с нового устройства или резкой смене привычного сценария.
  • Отправляйте уведомление о смене пароля, номера, прав доступа и других важных параметров.

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

Полезно разделить роли в панели управления: оператор отвечает на обращения, бухгалтер видит платежные статусы, администратор меняет настройки безопасности. Доступ к отправке и просмотру служебных событий тоже стоит ограничить. Практические рекомендации по ролям сотрудников в SMS-платформе собраны в материале «Права доступа в SMS-платформе: как настроить роли сотрудников».

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

Когда SMS стоит заменить или дополнить другим фактором?

Push OTP доставляет одноразовый пароль через приложение. Такой вариант подходит компании, у которой есть активное мобильное приложение и зарегистрированные устройства. Пользователь подтверждает действие внутри уже установленной экосистемы, поэтому риск, связанный с переназначением номера, снижается. Но push не заменяет резервный канал: приложение может быть удалено, устройство потеряно или работать без подключения к сети.

Для части сценариев применяют Mobile ID, SIM Push и Silent Network Auth. Эти методы подтверждают личность или владение номером без обычного ручного ввода кода. Подход выбирают по инфраструктуре, аудитории и требуемому уровню защиты. Если у малого бизнеса нет приложения и сложной системы идентификации, разумно оставить SMS для обычных операций, а для критичных включить дополнительную проверку.

Канал Когда подходит Ограничение
SMS OTP Регистрация, вход, сервисные статусы, резервный способ Риск SIM-swap, SS7 и доступа к устройству
Push OTP Мобильное приложение с активной базой пользователей Нужны приложение и зарегистрированное устройство
Приложение-аутентификатор Доступ сотрудников и чувствительные настройки Пользователь должен заранее настроить приложение
Дополнительная ручная проверка Смена владельца, прав доступа или финансовых параметров Операция проходит медленнее и требует понятного регламента

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

Какие ошибки чаще всего оставляют SMS-коды без защиты?

  • Один код подходит для разных действий. Код для входа нельзя принимать как подтверждение смены номера или платежа.
  • Срок жизни кода слишком длинный. Чем дольше код действует, тем больше времени остаётся для его перехвата и перебора.
  • Нет ограничения попыток. Даже короткий код уязвим, если система разрешает бесконечно вводить варианты.
  • Поддержка отключает защиту по звонку. Такой обход часто оказывается слабее самой SMS-проверки.
  • Система доверяет одному номеру после смены SIM. Недавняя замена SIM должна стать поводом для задержки чувствительных операций, если такой сигнал доступен бизнесу.
  • В сообщение включают лишние сведения. Код и подробности заказа в одном тексте увеличивают последствия перехвата.

Проверять нужно не только успешный сценарий. Создайте тесты для повторной отправки, истёкшего кода, неверного кода, смены устройства и временной недоступности канала. Для транзакционных сообщений пригодится отдельный чек-лист проверки после изменений операторов и настроек доставки, описанный в материале «Как проверять SMS и чат-боты после изменений операторов».

Сделайте три шага на этой неделе:

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