Как бороться с ботнетами и автоматическими рассылками

Краткая история: у меня есть веб-приложение, в котором есть огромный стимул для участия. Таким образом, скриптеры и боты активно преследуют нас. Основываясь на IP-адресах, с которых поступают сообщения (более 1000 и их количество растет, никакой закономерности), я склонен полагать, что сообщения генерируются бот-сетью. Хуже того, человек (лица), контролирующие автоматические отправки, активно доводят дело до такой степени, что каждый раз, когда мы вносим изменения, они наверстывают упущенное в течение нескольких часов.

Некоторые из мер, которые мы уже пробовали:

  • Капчи, как сторонние, так и самодельные, с разной степенью читабельности
  • Токен защиты от подделки запроса, отправленный через файл cookie и скрытое поле формы, которое сравнивается при отправке.
  • Скрытое пустое поле-приманка, из-за которого отправка автоматически завершается ошибкой, если поле содержит данные.
  • Скрытое поле-приманка, которое содержит данные по умолчанию и приводит к тихому сбою, если фрагмент javascript не запускается для очистки значения поля.
  • Ограничение отправки по IP-адресу в течение определенного периода времени
  • Блокировка доменов электронной почты, которые, как известно, используются автоматическими сценариями.
  • Блокировка хостов на основе одновременных подключений или подключений в минуту на брандмауэре
  • Блокировка самых вопиющих IP-адресов на брандмауэре
  • Использование внешней службы проверки адресов для проверки входящих адресов

Даже при всех этих мерах отправка сообщений не только продолжалась, но и увеличивалась по частоте, порядка 100 000+ в день.

Поддельные записи теперь используют полностью действительные имена и фамилии и, по-видимому, прибегли к использованию какого-то списка каталогов, чтобы гарантировать, что используемые ими адреса (которые кажутся совершенно случайными и совсем не согласованными, кстати) действительно являются действительными почтовыми адресами США. . Кроме того, я записал входящие значения формы в журнал отладки и убедился, что они действительно отправляют действительные коды проверки, указывая на то, что они имеют достаточно хорошее распознавание символов для расшифровки изображений (сам код никогда не отправляется клиенту, только GUID, представляющий код, который хранится в другом месте на серверной части)

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

К этому моменту я очень устал, но я уверен, что должно быть что-то, чего я еще не пробовал. У кого-нибудь здесь есть какие-нибудь блестящие идеи?


person Chris    schedule 31.07.2011    source источник
comment
Хах, звучит плохо. Не может быть и речи о том, чтобы попросить пользователей написать вам письмо для поощрения?   -  person Patrick87    schedule 01.08.2011
comment
Мы уже обсуждаем возможность вмешательства администратора для утверждения или отклонения поощрения перед отправкой сообщения пользователю по электронной почте, что должно некоторым помочь, но в то же время количество записей в отчетах продолжает стремительно расти.   -  person Chris    schedule 01.08.2011
comment
Ха, я имел в виду обычную почту. :D ботнеты будут pwnt.   -  person Patrick87    schedule 01.08.2011
comment
Я не верю, что они смогут обойти solvemedia.com капчу.   -  person Pedro Lobito    schedule 19.08.2011
comment
Привет, Крис, это все еще проблема? Если да, можем ли мы перевести это в автономный режим? Я хотел бы обсудить с вами кое-что. Можете ли вы связаться со мной через мой профиль. Спасибо!   -  person dave wanta    schedule 18.02.2014


Ответы (3)


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

Посмотрите на stackoverflow — можно зарегистрироваться, а прав почти нет в начале. Уровень разрешений пользователя увеличивается через некоторое время, потому что доверие к пользователю увеличивается из-за того, что делает пользователь, и другие пользователи принимают это.

Я бы сосредоточился на том, чтобы заставить пользователей «доверять» своего рода «создаемому ресурсу», где другие пользователи должны подтверждать «уровень полномочий» конкретного пользователя. Тогда авторегистрация пользователей не будет иметь смысла - они ничего не смогут сделать.

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

person Roman Pietrzak    schedule 31.07.2011
comment
Действительно, это делает ваше предложение неприемлемым, но не по вашей вине. Я не решаюсь описать это слишком подробно, но достаточно сказать, что это акция с мгновенным выигрышем - вы регистрируетесь, программа определяет, являетесь ли вы случайным мгновенным победителем, и вы мгновенно получаете вознаграждение, которое будет доставлено по электронной почте. - person Chris; 01.08.2011

Рассматривали ли вы изображение капчи, где у вас есть изображение чашки, например, с C _ _ внизу? Утомительно тратить кучу времени на создание тонны изображений для его реализации, но это действительно проверит их решимость потратить все это время на ручную идентификацию 1000 изображений. Конечно, я не знаю, насколько хороши ваши призы, возможно, они того стоят.

person David    schedule 30.11.2011

Я не уверен, что вы все еще ищете ответ на свой вопрос, но рассматривали ли вы возможность проверки информации, которую пользователь отправил вместе? Например, если вам нужно, чтобы они ввели свое имя, физический адрес, номер телефона и адрес электронной почты, проверили телефонный справочник или адресную книгу, чтобы убедиться, что вся введенная ими информация непротиворечива. Таким образом, вы можете подтвердить запись не только правильно сформированными данными, но и реальным человеком.

Еще одна вещь, которую вы могли бы рассмотреть, — отправить пользователю текстовое сообщение, информирующее его о том, что он выиграл, вместо того, чтобы делать это по электронной почте.

Не уверен, насколько это подходит для вашего случая, но это может помочь.

person Alex Aylwin    schedule 10.08.2011
comment
Мы все еще боремся с проблемой, поэтому любые советы по-прежнему полезны. Мы стандартизируем адрес пользователя и внедрили функцию, при которой пользователь должен щелкнуть ссылку в электронном письме, чтобы подтвердить свой адрес электронной почты, прежде чем получить запись. Проблема в том, что люди, ответственные за сценарии, достаточно умны, чтобы а) собирать каталоги для действительной адресной информации и б) создавать сценарии для получения ссылки для проверки электронной почты. Они зашли так далеко, что установили анонимные домены поверх одноразовых почтовых сервисов и создали сценарии для использования сотен тысяч учетных записей электронной почты. - person Chris; 12.08.2011
comment
Достаточно сказать, что они все еще проходят. - person Chris; 12.08.2011
comment
мы внедрили функцию, при которой пользователь должен щелкнуть ссылку в электронном письме, чтобы подтвердить свой адрес электронной почты, прежде чем получить запись — это легко обойти, если злоумышленник анализирует ваше электронное письмо с помощью скрипта, который автоматически переходит к ссылке активации. Вы можете реализовать капчу на странице проверки, которая проверяет ссылку проверки, извините за избыточность... - person Pedro Lobito; 19.08.2011