SMS-DDoS: как мы решили проблему для сервиса доставки

0
322

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

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

Уязвимым же местом является то, что сервис автоматически реагирует на запросы авторизации и может подвергнуться DDoS-атаке, когда боты с разных номеров заваливают его запросами в надежде (надеются организаторы, не боты) прощупать, дестабилизировать или парализовать функционирование. Атака тратит ограниченные ресурсы, и в какой-то момент их перестаёт хватать на обслуживание операционной деятельности.

Наш клиент и один из лидеров краснодарского рынка доставки блюд из ресторанов, тоже подтверждает намерения пользователей с помощью SMS. 27 мая 2020 года в 17:00 по местному времени эту функцию использовали злоумышленники. 

Решение

Три часа, до 20:00 бот запрашивал авторизацию на сайте сервиса, который мы не называем, чтобы не облегчать работу хакерам. Фактических авторизаций при этом, разумеется, не было. Все запросы шли с телефонов с региональным кодом +7901. Это Москва и Московская область, оператор — ООО «ДЭНИ КОЛЛ»).

Все зафиксированные номера были добавлены в чёрный список используемого сервиса «СМС-центр». Мы поставили на сайте временную блокировку для авторизации через номера с +7 901. На следующий день в 9:00 бот снова начал запрашивать авторизацию через GET-запросы. И мы снова добавили номера в чёрный список.

Долговременным решением стала блокировка при нескольких запросах с одного IP-адреса или номера, если при этом не происходит авторизации. Схема следующая:

  1. Если регистрируем пять запросов с одного IP-адреса, но с разных номеров — блокируем IP-адрес пожизненно.
  2. Если есть пять запросов с одного номера с одним и тем же IP-адресом — блокируем номер на час.
  3. Если было три блокировки номера — даём пожизненный бан с возможностью снять блокировку из интерфейса администратора.

В административную часть сайта мы добавили раздел «Чёрный список», в котором хранится список заблокированных номеров и адресов. Все настройки по количеству запросов и времени авторизации можно изменить. Это позволит в дальнейшем справляться с атаками, гибко управлять списками и автоматизировать весь процесс под DDoS широкого диапазона.

Читайте далее: Кейс СТОЛПЛИТ: дополненная реальность и 3D для интернет-магазина

Если вам понравилась статья, поделитесь ей с друзьями. Хотите оставить отзыв о нашем блоге или предложить тему? Пишите редактору на a.lisovitsky@spider.ru. Подписаться на нас можно в Facebook, ВКонтакте, Twitter и Instagram.

В Spider Group на вас работает более чем двадцатилетний опыт в разработке мобильных приложений, веб-разработке сайтов, серверных проектов, дополненной реальности, искусственного интеллекта и Интернета вещей.