@hsc
full stack python back-end developer

Как защитить sms-рассылку от bruteforce?

Приветствую.

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

Проблема:
SMS платные, и очень не хочется чтобы кто-то недобросовестный воспользовался этим для просадки бюджета проекта. Основная трудность состоит в том, как защитится от целенаправленной атаки подкованными в IT людьми?

Ясно, что стойкую защиту в данных условиях реализовать почти невозможно, поскольку триггером выступает не сервис, а запрос от клиента. В таком случае можно обходиться только ограничениями, построенными на вычурных схемах. Но, может быть, есть какой-нибудь вариант. Все-таки такая проверка популярна на ряде сервисов.

Рассматривались варианты:
1. Ограничить кол-во сообщений на один номер — недостаточно эффективно: запросы можно слать на разные номера, даже если учесть, что процедура забивания полей рег. формы достаточно долгая. Этот процес можно автоматизировать.
2. Ограничить кол-во сообщений на один iр-адрес — тоже не эффективно: мало того, что в одной ip-подсети могут сидеть десятки клиентов (могу ошибаться), так еще и анонимайзеры никто не отменял.
3. Ограничить кол-во сообщений в день/час — могут пострадать обычные пользователи и сервис недополучит клиентов.

Одним словом, вопрос сводиться к такому:
Есть ли какая-нибудь схема (пусть сложная), позволяющая с вероятностью > 90% и разогревом за несколько десятков запросов вычленить нежелательные запросы из общего потока?
  • Вопрос задан
  • 2706 просмотров
Пригласить эксперта
Ответы на вопрос 1
seriyPS
@seriyPS
Ограничение по кол-ву запросов с одного IP + капча.
Первое защитит от простых случаев, второе от случаев, когда злоумышленник использует прокси.
Можно сделать сложнее - активировать капчу, если поток запросов SMS по всей системе возрос. Например, всё время средний поток запросов 10 в минуту а тут скакнул до 100 - включаем всем капчу.
Ну и капча не является 100% защитой - на antigate.com их разгадывают по 1$ за 1000 штук. Но сама необходимость работать с антигейтом существенно усложняет бота.
P.S.: я сам защиту строить не пробовал, но ботов часто пишу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы