Как спам-боты убивают интернет-магазины

Бизнес интернет-магазина напрямую связан с его доступностью: он работает 24 часа в сутки, сделать заказ легко, сотрудники оперативно связываются с клиентами, уточняют детали и доставляют заказанное.

Что делать, если вместо обычных 100 заказов в сутки в интернет-магазин поступает 10000? И все имеют настоящий номер телефона, адрес, ФИО, но при обзвоне выясняется, что человек заказ не делал?

Для интернет-магазина это катастрофа! Из 10000 заказов отсеять 9900 сгенерированных ботами — чертовски сложная задача!

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

Умные спам-боты похожи на посетителей так же, как зомби на живых людей: не приглядевшись и не отличишь.
Умные спам-боты похожи на посетителей так же, как зомби на живых людей: не приглядевшись и не отличишь.

Почему не работают решения программистов по борьбе со спам-ботами

Неудачное решение №1. Программист установил на форму заказа ReCaptcha.

Капча с латиницей считается хорошим решением, но в этот раз ситуация только ухудшилась: число нормальных заказов упало (угадывать капчу людям лень), а вот спамеры разгадывали ее без проблем.

Неудачное решение №2. Программист посчитал, что у спамеров проблемы с устным счетом и вместо капчи установил загадку «введите решение задачи 2+2». Но если сложную капчу спамеры отгадывают, то ипростые математические операции осилить в состоянии.

Как бороться со спам-ботами, убивающими интернет-магазин?

Обычно в ситуации с ботами все достаточно просто — самые тупые боты не умеют cookie, чуть поумнее — не умеют javascript.

Но эти боты умели ВСЁ! Это должно было когда-то случиться: технологии, позволяющие писать ботов на браузерном движке достаточно развиты.
Отсечь по геолокации не получилось — все боты оказались с российскими ip адресами.

Я стал задействовать поведенческие факторы: все-таки бот это не человек, поэтому даже в поведении умного бота можно выявить шаблоны и отсеять по ним.

Немало покопавшись в «породных» признаках ботов выяснилось, что все они имеют один и тот же User-Agent. Значит, ботсеть собрана не из каких-то ботов, а из натуральных браузеров. И это старый уязвимый Firefox.

Добавление проверки юзерагента в дополнение к поведенческим факторам позволило определять 100% ботов. Однако, это заметный фактор и злоумышленники вскоре сделали юзерагента произвольным. Поэтому основной упор я сделал на уточнении поведенческих факторов. И к моменту, когда хакеры добавили кучу юзерагентов я был во всеоружии.

После включения всех поведенческих факторов, боты попадали под фильтр и отсеивались.  Заказы интернет-магазин смог принимать как и раньше. Заказчик доволен, клиенты довольны. Недовольны только спамеры.

Какие выводы из этой поучительной истории?

  1. Обновляйте браузер, чтобы не стать частью ботсети. Все это знают, но не все делают. Chrome, который все делает сам, не задавая лишних вопросов, в этом случае удобнее.
  2. Готовые решения по защите работают плохо. Используя современные технологии можно парализовать работу любого интернет магазина. Безопасность это длящийся процесс, противоборство средств защиты и нападения, хакеров и безопасников.
  3. Даже умным ботсетям можно противостоять, отсеивая их автоматически с достаточной вероятностью. И минимизировать ущерб бизнесу. А если атака не приводит к убыткам — то и смысла в ней нет.
  4. Отразили одну атаку — готовьтесь к другой. Смогли остановить спам — будьте готовы к ДДоСу.