H
H
hamart2016-08-16 12:16:50
Information Security
hamart, 2016-08-16 12:16:50

What are the ways to protect against attacks on a service that uses SMS confirmation?

Добрый день
Есть сервис(веб-приложение), который запрашивает номер мобильного телефона перед регистрацией. Телефон должен быть проверенным, для этого на указанный номер отправляется смс с кодом для подтверждения. Отправка смс - платная услуга для сервиса, злоумышленник может отправить множество запросов на сервис, будет отправлено множество смс, у сервиса закончится лимит по смс сообщениям, сервис будет выведен из строя. Как можно защититься от такой атаки?

Answer the question

In order to leave comments, you need to log in

4 answer(s)
H
hoarywolf, 2016-08-16
@hoarywolf

Усложнить отправку формы простым curl-om.
Используйте сессии, загружайте в hidden переменные значения ajax-ом, проверяйте, что пользователь загрузил не только html-файл формы, но и какое-то изображение, что он выполняет скрипты и тд. Понятно что от эмуляции браузера это не спасет, но жизнь злоумышленникам усложнит.
Кстати, можно еще отслеживать перемещения мыши, хотя бы в пределах формы, mouseover и mouseout на ее элементах, прокручивание страница, ввод текста в элементы формы (а не программное изменение value как в phantomjs) и на основании всего этого рассчитывать вероятность бота. При невысокой активности этим всем можно пренебречь, но в моменты атаки учитывать для выявления ботов.

Владимир Куц, 2016-08-16
@fox_12

В порядке приоритета:
Лимитировать количество запросов на один номер телефона по времени.
Лимитировать количество запросов с одного айпи на разные номера по времени.
Ограничить целевую аудиторию (по геоайпи отсеять пользователей из Китая, Индии, и пр. - если конечно они не являются вашей целевой аудиторией)
Ограничить общее количество запросов СМС в единицу времени (сутки, час).

S
sim3x, 2016-08-16
@sim3x

Составь блоксхему процесса и посмотри на каких участках стоит применить лимиты и капчи
Установи во всех точках логирование
Мониторь всплески и аномалии
Установи лимиты для погашения всплесков
Повтори все с начала

S
shasoft, 2016-08-17
@shasoft

I often see implementation when registering on a resource by e-mail or through a social network. And after registration, at the request of the user, he can indicate his phone number and confirm it via SMS, in which case additional goodies are opened for him.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question