2MOOD снизили затраты на SMS в 13 раз, исключив из рассылки ботов

Механика запускается, когда пользователь превышает лимит запросов SMS c кодом регистрации. Система останавливает отправку сообщений и оповещает сотрудников 2MOOD о возможной DDoS-атаке.
Идея будет полезна всем, кто использует SMS в сервисных коммуникациях с клиентами.

Задача: защитить интернет-магазин от потенциальной DDoS-атаки

Для подтверждения регистрации на сайте 2MOOD отправляет клиентам SMS. Такой способ выбрали для удобства пользователей: чаще всего мобильный телефон под рукой, а SMS приходят мгновенно.
Стандартный сценарий подтверждения регистрации, в котором SMS с кодом отправляются клиентам автоматически 
В стандартном сценарии SMS с кодом отправляются клиентам независимо от числа запросов с одного номера. Даже если потенциальный пользователь запрашивает SMS для входа несколько раз, компания их отправляет.
В 2MOOD заметили, что бывают пользователи, которые запрашивают пароль слишком часто: более трех раз за полчаса. Это необычное поведение, потому что обычно для регистрации достаточно одного SMS. Компания предположила, что это могут быть фиктивные запросы от спамеров. Большое их количество может привести к двум негативным последствиям:
  1. Система не выдержит атаки и перестанет отправлять SMS даже реальным пользователям. Если у клиентов не получится зайти в личный кабинет, и могут уйти с сайта без покупок.
  2. Бюджет будет расходоваться на SMS, которые не приводят к продажам, потому что отправляются на фиктивные номера.
Чтобы обезопасить систему и снизить затраты на SMS, компания решила блокировать подозрительные запросы.

Решение: автоматически блокировать подозрительное поведение при регистрации в интернет-магазине

В 2MOOD проанализировали поведение пользователей на сайте, чтобы понять, сколько SMS обычно запрашивают клиенты при регистрации. Анализ показал, что большинству пользователей достаточно одного SMS. В редких случаях запрашивают два-три SMS, если плохо работает связь или интернет.
В компании выделили два паттерна подозрительного поведения, которые могут означать начало атаки:
  1. Больше трех запросов с одного номера за 30 минут.
  2. Более 7 запросов с одного номера за 60 часов.
Чтобы обезопасить интернет-магазин, решили контролировать оба:
Создали сегмент «боты» в CDP. В него автоматом попадают потенциальные спамеры, которые запрашивали код в SMS более семи раз в течение 60 часов.
Картинка
Компания проверила, что в сегмент попадает не более 0,01% реальных пользователей
Запустили сценарий оповещения сотрудников о том, что пользователь попал в сегмент «боты». Если таких попаданий несколько за день, скорее всего, это реальные пользователи, которые не могут справиться с регистрацией. Если их больше двадцати — возможно, это DDoS-атака на сайт. Задача сценария — оповестить сотрудников о начале атаки, чтобы они могли защитить сайт: усложнить условия отправки SMS или временно прекратить ее совсем. Теперь если пользователь запрашивает SMS с кодом более 7 раз за 60 часов, система автоматически отправляет его в сегмент «боты», перестает отправлять ему SMS и оповещает сотрудников 2MOOD о новом пользователе в сегменте
Добавили ограничения в сценарий отправки регистрационных SMS: 
  • SMS клиентам из сегмента «боты» не отправляются никогда.
  • На один номер отправляется не более трех SMS в течение 30 минут. Если пользователь запрашивает четвертое сообщение, оно не отправляется.
Система проверяет каждый запрос клиента. Если клиент превысил квоту SMS, ему их больше не отправляют
Ограничили общее количество SMS, отправляемых всем клиентам, — 700 за сутки. В среднем количество регистраций на сайте за сутки не превышает этого ограничения. Если лимит SMS за день будет превышен, их продолжат отправлять, чтобы не раздражать реальных пользователей. Но маркетолог и руководитель IT получат уведомление о превышении лимита. Так они смогут, например, временно усложнить условия отправки: до двух SMS за 15 минут. Это снизит эффективность ботов в случае атаки. Реальным клиентам двух сообщений вполне достаточно для регистрации.
Система проверяет условия и уведомляет сотрудников о превышении дневного лимита отправок 

Результаты: отразили все потенциальные атаки и сократили расходы на SMS в 13 раз

Ожидания компании от запуска механики оправдались:
  • Количество отправленных SMS на фиктивные номера снизилось со 100% до 8%, согласно отчетам оператора и статистике Mindbox.
  • Затраты на SMS сократились в 13 раз за счет исключения из рассылки ботов. Теперь SMS с кодом регистрации отправляют только реальным пользователям.

Как настроить в Mindbox

Для запуска механики нужно создать отдельный сегмент клиентов, добавить условия в сценарий отправки:
Создать сегмент
1. Выбрать «шаблон действия» → «код подтверждения сайт».
Картинка
2. Нажать «добавить фильтр» → «действия клиента» → из выпадающего списка выбрать способ отслеживания. В нашем случае нужно выбрать «в количестве»  от семи раз.
Картинка
3. Добавить фильтр для действия. 2MOOD выбрали «период от текущей даты» — 60 часов. Можно установить свое значение: в минутах, часах, днях.
Картинка
4. Поставить галочку напротив «пересчитывать по расписанию» и выбрать период. 2MOOD выбрали раз в сутки. Это нужно, чтобы клиенты, которые попали в сегмент по ошибке, могли в дальнейшем получать SMS.
Картинка
5. Выбрать событие «выдано действие» → «код подтверждения сайт». Так сегмент будет пересчитываться в режиме онлайн, как только пользователь запросит SMS.
Картинка
Добавить условие в сценарий
1. В условии по «клиенту» добавить фильтр по «шаблону действия» → «имя» → «код подтверждения сайт». Так система будет автоматически отслеживать каждый запрос кода подтверждения.
Картинка
2. Выбрать «действия клиента» → «в количестве» до трех.
Картинка
3. «Добавить фильтр» → выбрать «период от текущей даты» до 30 минут.
Картинка
4. Добавить фильтр «сегмент» → выбрать «сегмент не» → «имя сегмента» → «добавить фильтр». Такая настройка исключает из отправки сообщений клиентов, которые попали в сегмент «боты».
Картинка
Добавить ограничение в сценарий
1. В блоке «ограничение» выбрать количество и «обновить счетчик». В нашем случае количество отправляемых SMS в день ограничено 700, а счетчик обновляется каждый день. Если не указать периодичность обновления, как только лимит будет достигнут, клиентам перестанут уходить SMS.
Картинка
Готовый сценарий с условиями и ограничениями
Картинка