Код из SMS подтверждает вход в личный кабинет, интернет-банк, панель управления рассылками. Но SMS — не защищённый канал: SIM-swap, уязвимости SS7 и перехват одноразовых кодов позволяют злоумышленникам обойти двухфакторную аутентификацию. В статье разберём, где появляются дыры, какие признаки указывают на проблему и как перейти на более безопасные способы подтверждения.
Что такое SIM-swap, SS7 и перехват SMS-кодов
SIM-swap — это операция, при которой злоумышленник заставляет оператора переназначить номер телефона на новую SIM-карту. После этого все SMS с кодами приходят мошеннику. Чаще всего схема работает через поддельные документы, социальную инженерию или уязвимость в салоне связи. Клиент продолжает пользоваться телефоном, но не получает коды, а злоумышленник уже получил доступ к его аккаунтам.
SS7 — это протокол, по которому мобильные операторы обмениваются данными. В нём есть уязвимости: через них можно перехватывать SMS без физического доступа к устройству. Третья угроза — перехват кода прямо на телефоне: вредоносное ПО или фишинговые страницы забирают код, который только что пришёл пользователю.
| Угроза | Что происходит | Что снижает риск |
|---|---|---|
| SIM-swap | Мошенник перевыпускает SIM-карту и получает SMS вместо клиента | Контроль сессий, предупреждение о входе с нового устройства, запасной канал подтверждения |
| SS7 | Уязвимость сети позволяет перехватывать SMS-сообщения | Переход на защищённые каналы доставки кода |
| Перехват кода на устройстве | Вредоносное ПО или фишинг вытягивает код с экрана | Ограничение числа попыток ввода, короткий срок жизни кода |
Как проверить, что SMS-подтверждение стало дырой
Начните со статистики в личном кабинете SMS-провайдера. Посмотрите процент доставленных сообщений, среднее время доставки и повторные запросы одного и того же кода. Если один номер запрашивает код десять раз за десять минут — это не случайность, а повод проверить логи.
- Код не доходит с первой попытки, клиенты переспрашивают.
- Один номер запрашивает код несколько раз подряд.
- Нет ограничения на число неверных попыток ввода.
- Один и тот же канал используется и для входа, и для подтверждения платежа.
- Вы не получаете уведомлений о входе с нового устройства.
В обзоре smsblog.ru указано: переход на другие каналы обычно начинается, когда пользовательская база превышает 200 000 аккаунтов, а доля отказов от подтверждений выше 5%. Малому бизнесу ждать таких цифр не стоит. Достаточно любого пункта из списка выше.
Прежде чем списывать сбои на мошенников, проверьте саму базу номеров — возможно, проблема не в безопасности, а в неактуальных контактах. Здесь поможет инструкция: как проверить качество базы номеров перед SMS-рассылкой.
Когда переходить на silent auth или flash call
Silent Network Authentication подтверждает номер по данным оператора, без ввода кода. Пользователь ничего не вводит, а система получает ответ через криптографический токен. Это удобно, но требует поддержки оператора и согласования.
Flash call — это входящий звонок, в последних цифрах которого зашит код. Он обходит часть проблем SMS, но не защищает от перехвата на самом устройстве. Поэтому флеш-колл чаще используют как промежуточный вариант, когда SMS-доставка начинает подводить.
| Канал | Что нужно пользователю | Слабые места |
|---|---|---|
| SMS-код | Прочитать сообщение | SIM-swap, SS7, перехват на устройстве |
| Flash call | Принять входящий звонок | Требует входящего вызова, цифры можно перепутать |
| Silent auth | Ничего не вводить | Зависит от поддержки оператора и устройства |
Не обязательно менять всё сразу. Оставьте SMS для входа, добавьте silent auth или flash call как запасной вариант для клиентов, у которых код не доходит. Если используете несколько каналов, продумайте общий сценарий, чтобы клиент не получал одно и то же трижды: как выстроить единый регламент SMS, Viber и push.
Типичные ошибки при защите SMS-кодов
- Не ограничивать число попыток ввода. Если лимита нет, злоумышленник может перебирать комбинации.
- Использовать один канал для входа и для платежей. Платёж требует более серьёзной проверки.
- Игнорировать повторные запросы кода. Десять запросов с одного номера — повод проверить логи.
- Считать, что SMS достаточно, если сервис небольшой. SIM-swap работает и с малыми базами.
- Не следить за доставкой. Если код не приходит, это не всегда сбой оператора.
3 шага, которые можно сделать на этой неделе:
- Откройте статистику доставки в личном кабинете и посчитайте долю повторных запросов на код.
- Включите ограничение попыток ввода и уведомление о входе с нового устройства.
- Выберите один запасной канал: silent auth или flash call. Протестируйте его на небольшой группе клиентов.



