Как бороться с ботнетами и автоматизированными представлениями - PullRequest
6 голосов
/ 01 августа 2011

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

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

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

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

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

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

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

Ответы [ 3 ]

3 голосов
/ 01 августа 2011

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

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

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

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

2 голосов
/ 30 ноября 2011

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

1 голос
/ 10 августа 2011

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

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

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

...