Как защитить свою форму верификации от ботов

b1c8152c600f00ccbb2557352f6e2e9c.png

Что такое SMS Bomber и Call Bomber

Самые популярные методы атаки на формы верификации — SMS Bomber и Call Bomber. Как нетрудно догадаться из названия, первый связан с массовой отправкой SMS, а второй — со звонками.

SMS Bomber — это ПО или веб-сервис для массовой отправки SMS-сообщений на определенные номера телефонов. Это инструмент может использоваться в различных целях: от рекламных кампаний до мошеннических схем. 

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

Сегодня всё чаще для массовой отправки SMS или инициации звонков стали использовать телеграм-ботов. Меньше чем за 100 рублей в день любой может заказать атаку при помощи SMS или звонков с сотен разных сервисов. Отследить злоумышленника, заказавшего атаку на вашу форму верификации при помощи Телеграм, невозможно. Можно попробовать установить на форму капчу, но и у этого способа есть минусы: боты «умнеют» и могут решать задачи, которые даются в популярных капчах, а усложнение задач делает верификацию неудобной уже для «живых» пользователей.

Механизм работы SMS Bomber

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

Следующий этап — создание самих сообщений. Они могут быть заранее определены или генерируются динамически в зависимости от конкретной задачи. Отправка сообщений осуществляется через SMS-шлюзы, API мобильных операторов или специализированные сервисы отправки SMS.

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

Механизм работы Call Bomber

Call Bomber, в свою очередь, предназначен для инициирования массовых звонков на конкретные номера телефонов. Принцип работы аналогичен SMS Bomber в части генерации номеров: могут быть заданы фиксированные номера или использованы алгоритмы генерации номеров в определенном диапазоне.

Инициализация звонков осуществляется через VoIP-шлюзы или API телефонных операторов. Здесь также можно использовать спуфинг для маскировки исходящего номера. Это помогает избежать быстрой блокировки со стороны операторов связи.

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

Чем опасны эти программы

Использование SMS Bomber и Call Bomber злоумышленниками может вызвать серьезные проблемы для компаний. Они могут перегружать системы верификации, что в свою очередь может привести к финансовым потерям — при отключении формы клиенты просто не смогут войти в личный кабинет на вашем сайте. 

Но самое главное, что совершить такую атаку может любой желающий. Достаточно найти любой подобный сервис в сети, ввести нужный номер и оплатить «услугу» — после этого на жертву посыплется шквал SMS или звонков. Злоумышленники платят за такие атаки копейки, а на установку защиты от них у добросовестных компаний уходят куда большее количество денег.

Если на вашем сайте установлена верификация пользователей через отправку SMS-кода, доступ к этой услуге вы оплачиваете через мобильных операторов. Отправка одного такого сообщения клиенту для верификации обходится недешево — от 60 копеек до 2 рублей за SMS. Если злоумышленники будут использовать SMS Bomber, бизнес рискует просто так потерять десятки, а то и сотни тысяч рублей.

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

Как защитить свой бизнес от SMS Bomber и Call Bomber

Формы с верификацией по SMS или звонку априори уязвимы к SMS и Call Bomber. По статистике, от 30% до 50% проходящего через такие формы трафика составляют как раз паразитные SMS и звонки. Для полноценной защиты от злоумышленников придется либо постоянно ставить все более и более сложные капчи для «отсеивания» роботов, либо задуматься о смене способа верификации.

Выходом может стать переход на метод CallPassword ID от компании Нью-Тел. Суть работы CallPassword ID проста: пользователь вводит свой номер телефона в форме подтверждения и инициирует звонок на сгенерированный системой номер. Затем система сверяет введенный номер с тем, с которого совершается звонок. 

CallPassword ID способен обеспечить надежную защиту от Call Bomber. Так как звонок инициируется самим пользователем, массовый спам звонками становится менее вероятным. Call Bomber обычно генерирует входящие звонки, что делает метод верификации CallPassword ID менее уязвимым перед такого рода атаками.

CallPassword ID можно легко интегрировать с уже имеющимися системами подтверждения номера телефона. Сделать это можно самостоятельно и очень быстро, ведь писать код с нуля не надо — готовые реализации под самый разный фронтенд и бэкенд можно найти в официальном профиле «Нью-тел» на Github. После установки кода достаточно зарегистрироваться на сайте «Нью-тел» и получить ключ API. После этого ставим ключ в нужную часть кода и проверяем, как всё работает.

Экономическая эффективность — еще один аргумент в пользу CallPassword ID. Этот метод верификации обходится дешевле по сравнению с традиционной SMS-верификацией, что делает его хорошим выбором для компаний, стремящихся сократить расходы без ущерба для безопасности. И это не мнимая экономия — один из наших клиентов, например, долгое время выбирал между установкой сложной защиты своей формы подтверждения номера телефона и изменением способа верификации. Клиент подсчитал, что переход на CallPassword ID на 70% дешевле, чем установка нового уровня защиты на форму. 

© Habrahabr.ru