Авторизация с помощью SMS-кодов является надёжным базовым уровнем защиты аккаунтов у сотен тысяч компаний. Люди привыкли, что при входе в сервисы или заказе товаров и услуг получают сообщения на смартфоны.
С одной стороны, код является подтверждением того, что заказ совершаете именно вы, что вас не взломали, а с другой, он помогает избежать случайных авторизаций.
Уязвимым же местом является то, что сервис автоматически реагирует на запросы авторизации и может подвергнуться DDoS-атаке, когда боты с разных номеров заваливают его запросами в надежде (надеются организаторы, не боты) прощупать, дестабилизировать или парализовать функционирование. Атака тратит ограниченные ресурсы, и в какой-то момент их перестаёт хватать на обслуживание операционной деятельности.
Наш клиент и один из лидеров краснодарского рынка доставки блюд из ресторанов, тоже подтверждает намерения пользователей с помощью SMS. 27 мая 2020 года в 17:00 по местному времени эту функцию использовали злоумышленники.
Решение
Три часа, до 20:00 бот запрашивал авторизацию на сайте сервиса, который мы не называем, чтобы не облегчать работу хакерам. Фактических авторизаций при этом, разумеется, не было. Все запросы шли с телефонов с региональным кодом +7901. Это Москва и Московская область, оператор — ООО «ДЭНИ КОЛЛ»).
Все зафиксированные номера были добавлены в чёрный список используемого сервиса «СМС-центр». Мы поставили на сайте временную блокировку для авторизации через номера с +7 901. На следующий день в 9:00 бот снова начал запрашивать авторизацию через GET-запросы. И мы снова добавили номера в чёрный список.
Долговременным решением стала блокировка при нескольких запросах с одного IP-адреса или номера, если при этом не происходит авторизации. Схема следующая:
- Если регистрируем пять запросов с одного IP-адреса, но с разных номеров — блокируем IP-адрес пожизненно.
- Если есть пять запросов с одного номера с одним и тем же IP-адресом — блокируем номер на час.
- Если было три блокировки номера — даём пожизненный бан с возможностью снять блокировку из интерфейса администратора.
В административную часть сайта мы добавили раздел «Чёрный список», в котором хранится список заблокированных номеров и адресов. Все настройки по количеству запросов и времени авторизации можно изменить. Это позволит в дальнейшем справляться с атаками, гибко управлять списками и автоматизировать весь процесс под DDoS широкого диапазона.
Читайте далее: Кейс СТОЛПЛИТ: дополненная реальность и 3D для интернет-магазина
Если вам понравилась статья, поделитесь ей с друзьями. Хотите оставить отзыв о нашем блоге или предложить тему? Пишите редактору на a.lisovitsky@spider.ru. Подписаться на нас можно в Facebook, ВКонтакте, Twitter и Instagram.
В Spider Group на вас работает более чем двадцатилетний опыт в разработке мобильных приложений, веб-разработке сайтов, серверных проектов, дополненной реальности, искусственного интеллекта и Интернета вещей.