От чего защищает WAF (Web application firewall)? Самый очевидный ответ – от взлома веб-приложения. Однако не все веб-атаки предполагают эксплуатацию уязвимостей – иногда злоумышленники совершают и легитимные технически корректные действия, которые могут навредить организации. Так один из наших клиентов столкнулся с проблемой SMS-бомбинга. Для массовой рассылки SMS киберпреступники использовали открытый API. Решить проблему удалось с помощью WAF. Какие настройки для этого потребовались – расскажем в этой статье. 

Суть атаки

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

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

Что в этом плохого, если все легально? Во-первых, каждое SMS, отправленное в ответ на запрос злоумышленников, стоит денег, а значит, компания понесет финансовые потери за счет оплаты услуг SMS-агрегатора.  Во-вторых, пользователи ресурса начинают получать спам, что формирует негатив в сторону компании.

Как мы определили несанкционированный запрос?

Генерируемые нежелательные запросы отличаются от валидных и ожидаемых. Различными будут следующие параметры: User-Agent, ID генерации, частота запроса и номер телефона.

Параметр

Легитимный запрос

Запрос атакующего

User-Agent 

Android App v2.1 / iOS App v3.0

Python-Requests/2.28 (скрипт)

ID генерации

Последовательные, уникальные  

Случайные, дублирующиеся  

Частота запроса

1-2 в минуту

Более 100 в секунду

Номер телефона

+79ХХХХХХХ

+1111ХХХХХХХ

Злоупотребление API – это не классическая хакерская атака со взломом (нет SQL-инъекций, XSS, RCE и т. д.). Однако современные WAF могут защитить сайт от подобной угрозы, хоть это и не является профильной для них задачей (т.к. злоумышленники используют валидные и корректные методы). Указанных в таблице параметров достаточно для применения сразу нескольких вариантов контроля обращений и блокировки нежелательной активности.

Давайте рассмотрим, какие правила, виртуальный патчинг и настройки возможно выполнить для такого случая (на примере ПроWAF платформы «Вебмониторэкс»).  

Итак, «правильный» запрос имеет формат номера +7 (123) 456-78-90, обращение c уникальным ID возможно не чаще чем 1 раз в 40 секунд и в качестве User-Agent используется Dart.io.

User-Agent

Для контроля доступа по User-Agent можно использовать, например, следующее правило:

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

Формат номера

Далее опишем правильный формат номера и будем блокировать все несовпадающие варианты указания этих данных:

Количество запросов

Помимо этого, зная, насколько часто реальный пользователь может отправлять подобные запросы, создадим правило RateLimit для каждого уникального ID, указанного в запросе:

Дополнительно, при необходимости можно установить триггер на количество обращений с неверным значением User-Agent, с добавлением источника в черный список на какой-то промежуток времени:

Заключение

API-злоупотребление – это не взлом сайта, однако от этого компании не легче. Финансовые потери, недовольство клиентов – это все влияет на бизнес и репутацию. Все усложняется тем, что технически запросы, которые отправляют злоумышленники являются «валидными».  Тем не менее гибкие системы мониторинга трафика к веб-приложениям могут выявлять аномалии и блокировать подобную атаку.

Автор: Андрей Асиновский, pre-sale инженер компании Вебмониторэкс

Комментарии (1)


  1. DennisP
    19.06.2025 12:48

    Это защита от каких-то мамкиных хакеров, без отдельных ограничений для айпи датацентров, запрета тора, открытых и публичных прокси всё это остаётся решетом