- Как защитить форму от спам-ботов: подробное руководство
- Для чего нужно защищать форму от ботов
- Нужна ли капча?
- Методы защиты формы от спама без капчи
- Задать рамки на время заполнения формы
- Добавить скрытое поле
- Блокировать user-agent
- Расставить «ловушки»
- Пользоваться сервисами reCAPTCHA
- reCaptcha
- Invisible reCaptcha
- Пользоваться LeadPlan
- Заключение
- Защита от роботов. Начало.
- На что обратить внимание при выборе решения для защиты от ботов?
- Специализированные решения для противодействия ботам должны быть неотъемлемой частью системы защиты
- Критерии выбора решения для отслеживания трафика ботов и защиты от бот-атак
- Базовый функционал решения для защиты от ботов
- Способность обнаруживать крупномасштабные распределенные атаки человекоподобных ботов (humanlike bot)
- Возможности непрерывной адаптации механизма обнаружения ботов для отражения новых угроз
- Влияние на работу пользователей – задержка, точность и масштабируемость
- Возможность расширения и гибкость
- Гибкие варианты развертывания
- Автоматическое отражение бот-атак или ручная настройка политик
- Разработка или покупка специализированного решения
- Защита информации, персональных данных и соблюдение законодательства
- Заключение
Как защитить форму от спам-ботов: подробное руководство
Если вы замечаете стихийный рост базы данных сайта или подозреваете, что его взломали, — значит защита от спам-ботов не работает. Они добавляют в базу чужие адреса, ломают аналитику и портят рейтинг. Сайт виснет, пользователи жалуются, вы боитесь, что боты доберутся и до сервера. Нужно дать им бой!
07 февраля 2019 г.
Какой метод использовать и как отличить робота от человека? Какая защита уже не эффективна, а какая — самая надёжная? Об этом читайте в нашей статье.
Для чего нужно защищать форму от ботов
Однажды вы можете зайти в админку и увидеть такую же картину, какую мы увидели на сайте одного из наших проектов:
Всё это — роботы, которые регистрировались через форму на сайте и к тому же иногда возвращались обратно. Чего они добивались — мы до конца не знаем, потому что вовремя приняли меры.
Наш пример показывает, что от атаки спам-ботов не застрахован никто. Чем она обернётся, зависит от спамеров, которые на вас вышли. Вот некоторые последствия атаки спам-бота на сайт:
- на почтовый ящик, который получает данные из формы, приходят письма со спамом;
- качество базы подписчиков снижается: бывают случаи, когда подписчиков-ботов становится больше, чем подписчиков-людей, и это грозит ухудшением репутации;
- портится статистика на сайте: новые пользователи появляются, а толку от них никакого;
- большое количество запросов от ботов загружает сервер, из-за этого страницы открываются медленно;
- боты ищут уязвимые места в коде и могут получить доступ к серверу;
- на сайте появляются комментарии наподобие таких:
Такие комментарии отпугивают реальную аудиторию на сайте, и постепенно он умирает.
В худшем случае боты заражают сайт, внедряя скрипты, например, чтобы использовать его для спам-рассылок от имени техподдержки. Бывает, что при атаке они запускают спам-сценарии. Схема такая: они регистрируются в форме от имени другого пользователя, адрес которого взяли в открытом доступе. В поле с именем или в поле комментариев пишут рекламный текст со ссылкой на мошеннический сайт. Дальше тот самый пользователь получает от вас письмо с просьбой подтвердить подписку, открывает его и, возможно, кликает по ссылке ради интереса.
Так боты используют вашу хорошую репутацию. После такой атаки вполне реально попасть в чёрный список.
Нужна ли капча?
Капча (captcha) — типичный пример теста Тьюринга, который помогает отличить искусственный интеллект от человеческого.
Форматов много: можно заставить пользователей вводить странные сочетания букв, расшифровывать аудиосообщения, решать примеры или искать на фотографиях машины или дорожные знаки. Безопасно для владельца сайта, но очень раздражает пользователей, которые могут бросить форму на полпути.
Можно ли защитить форму без капчи? Конечно, можно.
Методы защиты формы от спама без капчи
У всех способов борьбы со спам-атаками есть общий недостаток: они устаревают. Как только вы придумываете новый метод защиты, разработчики ботов стараются найти в них лазейки, поэтому важно быть начеку. Ниже мы расскажем, какие способы ещё рабочие, а какие — уже ненадёжные.
Задать рамки на время заполнения формы
Роботы вводят данные моментально, в то время как человеку нужен какой-то отрезок времени, чтобы напечатать имя и email. По этой логике вы сможете отсекать ботов ещё на этапе заполнения полей.
Но не всё так просто: во многих браузерах есть функция автозаполнения форм. Пользователь не тратит время на ввод email, а значит, скрипт может посчитать его ботом. Вдобавок большинство ботов уже умеет заполнять формы с такой же скоростью, как это делает человек. Так что этот метод можно использовать как дополнение к остальным, но не рассчитывайте, что он отсечёт всех роботов в одиночку.
Добавить скрытое поле
Логика такая: человек видит на сайте два поля для ввода (имя и email). Хотя на самом деле есть третье поле, скрытое в коде.
Робот сканирует код сайта, а не внешнюю оболочку, поэтому видит это поле и заполняет его. И тем самым даёт скрипту на сайте знать, что данные от этого пользователя принимать не стоит.
Казалось бы, безотказный метод защиты. Но бот будет пытаться отправить данные через форму во всех возможных комбинациях: заполнять одни поля и оставлять другие пустыми, чередовать их содержимое и так далее. Так или иначе, он подберёт способ отправки данных и сломает вашу защиту, так что метод ненадёжный.
Блокировать user-agent
Спамеры используют специфические заголовки user-agent (идентификатор конкретного пользователя). В сети вы даже можете найти списки user-agent спам-ботов и заблокировать их заранее в файле htaccess. Но имейте ввиду, что полностью это вас не защитит. Боты умеют подделывать user-agent и успешно обходят эту блокировку.
Расставить «ловушки»
К примеру, приём скрытой ссылки. Человек её не видит, но в коде она есть. Бот проходит по этой ссылке, и тут-то вы блокируете его IP. Но имейте в виду, что если вы используете код ловушки, который нашли в интернете в открытом доступе, то она, скорее всего, работать не будет.
В идеале напишите уникальную ловушку своими силами, но для этого нужен ресурс. Если у вас есть толковый специалист, который сможет создать такую ловушку, считайте, вам повезло.
Пользоваться сервисами reCAPTCHA
Сервисы, созданные специально для борьбы со спам-ботами, — лучший вид защиты, при условии, что его создатели регулярно обновляют алгоритмы, которые блокируют нежелательных посетителей. Поэтому если вы захотите пользоваться сервисами — выберите самые популярные от надёжных разработчиков.
Например, существуют сервисы reCaptcha и invisible reCaptcha, которые поддерживает Google. А по запросу «recaptcha analog» можно найти множество платных и бесплатных аналогов в разном дизайне и функционале.
reCaptcha
Пользователю предлагают совершить минимальное действие: нужно только поставить галочку «Я не робот». Пример Disqus:
Когда пользователь нажимает на галочку, сайт проверяет репутацию его IP. Если с ней всё в порядке — данные, которые он ввёл в форму, отправляются в базу. Если репутация под сомнением — ему предлагают ввести капчу. И только после того, как человек ввёл правильные символы, он может отправить данные.
Invisible reCaptcha
Действует по такому же принципу, что и reCaptcha, с тем отличием, что пользователю не нужно нажимать «Я не робот». Его проверка на «человечность» начинается, когда он нажимает на кнопку отправки данных. То, что на сайте работает invisible reCaptcha, можно заметить по небольшой плитке с лого где-нибудь в углу страницы. Например, вот так она выглядит на «Авито».
Пользоваться LeadPlan
Подавляющее большинство сервисов защиты от спам-ботов обороняет уже отображённые на странице формы. Чтобы робот заполнил поля и нажал «Отправить», форма должна быть на странице. Если её нет — то и нечего отправлять, значит, бот уйдёт с сайта в поисках новой жертвы.
LeadPlan ещё при открытии страницы путём проверки IP и скрипта, о котором расскажем ниже, определяет, что клиент — бот, и просто не загружает ему форму. А если клиент — человек, то она загружается в обычном режиме.
Когда пользователь открывает сайт, запускается проверка на:
- активность вкладки (у большинства ботов нет понятия «активная вкладка»);
- user-agent (так отфильтровывается ещё часть сомнительных посетителей);
- активности на странице (скролл, свайп, передвижение курсора).
Если активности нет, то скрипт не продолжает работать. Но как только фиксируются признаки «человечности», скрипт возобновляется. Без капчей, формул, пазлов, регистрации и смс.
Заключение
Как видите, не все популярные методы хороши. Самый надёжный щит от спам-ботов — это многоэтапная проверка на «человечность». В то же время большинство эффективных средств защиты всё-таки навязывают взаимодействие с пользователем: нужно что-то ввести или передвинуть.
В погоне за новыми способами защиты не забывайте о людях. Многих раздражает, когда их просят распознавать текст на смазанных картинках. Поэтому пускай проверка для человека проходит незаметно, например, через сервисы reCaptcha или LeadPlan.
Источник
Защита от роботов. Начало.
Вот это и случилось — не так давно на мой блог ополчились злые роботы. Они стали забивать спамом мои формы для отправки комментариев. В связи с этим событием, меня некоторое время терзали противоречивые чувства — с одной стороны спам вызывал брезгливость, но с другой тщеславие давало о себе знать — среди роботов я стал боле-менее популярен :). К счастью чувство брезгливости пересилило и я начал борьбу с роботами.
Вешать капчу у меня не было изначально никакого желания. Поэтому я быстро сгенерировал спамоподавлялку. Суть ее заключалась в анализе предыдущей активности на сайте. А именно — при отправке комментария она проверяла, как давно была загружена страница с формой. Как ни странно результат был очень неплох. Отсеивалось около 90% спама при допустимой задержке от 30 секунд.
На данный момент эта система работает в моем блоге параллельно со скрытым полем для ввода спамоидентификаторов. Желающие могут проверить, просто оставив комментарий к любому из топиков в течении минуты после загрузки страницы. (Говорят что отправка комментариев у меня подглючивает. Буду рад, если вы скажете в каких браузерах и под какими операционными системами)
Я согласен, что подобная защита далеко не идеальна, ибо во-первых элементарно обходится, а во вторых может помешать обыкновенным пользователям. Но при этих недостатках я могу предполагать, что они могут защищать не только от роботов, но и от троллей. Плюс не стоит забывать что это лишь экспериментальная модель.
На данный момент я хочу развить эту систему по следующим направлениям:
- Включить в анализ все перемещения пользователя по сайту в течении этой, а лучше и нескольких прошлых сессий.
- Добавить проверку наличия ссылок на сайтах-источниках трафика.
- Добавить дополнительные средства проверки роботизированности для сомнительных пользователей в виде теста Тьюринга ака капчи.
По сути получается полноценная аналитическая система учета пользовательских перемещений по сайту, интегрированная с защитой сайта от спама.
Наверняка я не первый, кто до этого додумался, но я не хочу брать готовые решения — мне интересно написать подобную штуку самостоятельно. Тем не менее, если вы использовали какие либо аналоги, я бы хотел о них услышать. Желательно с комментариями — что в них реализовано хорошо, а что плохо.
Источник
На что обратить внимание при выборе решения для защиты от ботов?
Специализированные решения для противодействия ботам должны быть неотъемлемой частью системы защиты
«Плохие» боты представляют на сегодняшний день одну из серьезнейших угроз для бизнеса. Вредоносный трафик ботов может привести к снижению производительности веб-сайта, искажению информацию о наличии товаров и услуг онлайн-площадок, нарушению конфиденциальности персональных данных и, как результат, к оттоку клиентов и потери прибыли.
Боты атакуют веб-сайты, мобильные приложения и API, вызывая целый ряд проблем для бизнеса, таких как захват учетных записей, DDoS-атаки на приложения, неправомерное использование API, веб-скрапинг, создание спама, искажение аналитики и фрод (мошенничество) с объявлениями.
В то же время хорошие боты способствуют росту трафика и аудитории веб-ресурсов. Они обходят страницы сайтов для определения ранжирование в поисковых системах и индексации обновлений в реальном времени, а также позволяют пользователям найти лучшую цену на товар или выявить украденный контент. Способность различать хороших и плохих ботов – приоритетная задача для современных компаний. Однако, согласно отчёту Radware по безопасности приложений – Web Application Security Report – 79% организаций не могут точно разграничить трафик полезных и вредоносных ботов.
Трафик ботов и угроза их разрушительного воздействия на бизнес стремительно увеличиваются. Это означает, что специализированные решения для защиты от бот-атак принципиально важны для непрерывности и успешности бизнеса. Ситуация еще больше осложнилась с появлением нового поколения вредоносных ботов (т.н. человекоподобные боты), которые могут имитировать поведение человека/реального пользователя и с легкостью обходить традиционные штатные системы информационной безопасности и защиты от ботов.
Разработка и поддержание штатного решения для противодействия ботам требует огромных ресурсов, включая постоянную настройку, корректировку политик безопасности и управление исключениями для снижения процента ложных срабатываний – усилия и расходы, которые могут себе позволить только очень крупные компании. Аналитические организации, такие как Forrester Research и Gartner, все больше акцентируют внимание на важности решений для защиты от ботов для бизнесов любого размера. Какими критериями стоит руководствоваться при выборе и сравнении решений для противодействия ботам? Такая информация и тем более единое мнение на этот счёт практически отсутствуют. В данном материале представлен обзор ключевых свойств, которыми должно обладать эффективное решение для защиты веб-сайтов, мобильных приложений и API от атак ботов.
Критерии выбора решения для отслеживания трафика ботов и защиты от бот-атак
Противодействие сложно организованным и автоматизированным атакам ботов требует глубокого анализа намерений злоумышленников и используемых тактик. Согласно исследованию Forrester «The Forrester New Wave™: Bot Management», основными факторами при оценке решений для защиты от ботов являются их способности обнаружения и реагирования на атаки, а также исследования и сбор данных по угрозам ботов. Инструменты для противодействия ботам сильно различаются по методам выявления угроз. Кроме того, многие из этих средств защиты обладают очень ограниченными – или отсутствующими – способностями автоматического реагирования на атаку. Инструменты защиты от ботов должны уметь определять назначение трафика ботов в реальном времени для разграничения трафика хороших и плохих ботов.
При выборе решения для отражения бот-атак и определении наиболее подходящего в каждом случае инструмента важно учитывать представленные далее критерии.
Базовый функционал решения для защиты от ботов
При рассмотрении решений важно сравнить набор возможных действий для реагирования в случае атаки: блокирование, ограничение трафика, возможность «переиграть» конкурента и предоставить фейковую информацию, а также настраиваемые действия с учетом сигнатур и типов ботов. Эффективное решение должно позволять применять различные подходы для различных секции и поддоменов сайта. Дополнительно, решение корпоративного класса должно обеспечивать возможность подключения популярных аналитических инструментов, таких как Adobe или Google Analytics для предоставления отчетов о трафике ботов.
Способность обнаруживать крупномасштабные распределенные атаки человекоподобных ботов (humanlike bot)
При выборе решения для противодействия ботам полезно выяснить, какая технология используется в данном инструменте для определения и отражения изощренных атак с механизмами обхода средств защиты. К таким угрозам относятся крупномасштабные распределенные ботнет-атаки и «медленные маломощные» атаки (low and slow), обнаружить которые традиционными средства безопасности невозможно. Рассмотрим лишь несколько примеров: в случае атаки с использованием динамических IP-адресов бесполезно использовать средства отражение атак на основе списков IP-адресов; настройка пределов скорости (rate-limiting) без использования механизмов поведенческого анализа означает нарушение работы реальных пользователей во время атаки. Некоторые брандмауэры или средства rate-limiting в составе сервисов сетей доставки контента (CDN) не способны выявлять атаки сложных ботов, имитирующих поведение человека/реального пользователя. С учетом наблюдающегося резкого роста трафика искусно организованных человекоподобных ботов, для их обнаружения и отражения нужны значительно более продвинутые технологии. Фокус при выборе и оценке решения для защиты от ботов должен быть на различных методологиях обнаружения ботов, например: создание цифровых отпечатков (fingerprinting) устройств и браузеров, анализ поведения и намерений, сбор данных по сигнатурам ботов (collective bot intelligence) и проведение собственных исследований угроз ботов, — а также другие фундаментальные технологии.
Возможности непрерывной адаптации механизма обнаружения ботов для отражения новых угроз
Насколько продвинута технология обнаружения ботов?
Использует ли она методы создание цифровых отпечатков (fingerprinting) устройств и браузера?
Используется ли анализ намерений (модели обнаружения атак на основе машинного обучения, которые устанавливают намерения каждого посетителя сайта и обеспечивают гораздо более высокую точность выявления атаки по сравнению с простым поведенческим анализом) в дополнение к анализу пользовательского поведения, сборy данных по ботам (collective bot intelligence), динамическим тестам Тьюринга и др.?
Насколько продвинуты и эффективны модели цифровых отпечатков (fingerprinting) и пользовательского поведения?
Используются ли в этих моделях накопленные данные (collective intelligence) по угрозам?
Любая система противодействия ботам должна выполнять перечисленным выше требованиям в дополнение к сбору сотни параметров браузеров и устройств пользователей для их идентификации и анализа их поведения. Она также должна быть способна обнаруживать ботов нового поколения, которые умеют искусно маскироваться под поведение живого человека. Нужно спросить производителей о примерах сложных автоматизированных атак, которые система смогла выявить и заблокировать.
Влияние на работу пользователей – задержка, точность и масштабируемость
Задержка в работе сайта и приложений снижает качество сервиса для пользователей. Решение для защиты от бот-атак должно не увеличивать эту задержку, а, напротив, выявлять причины и способствовать ее устранению.
Точность в обнаружении ботов имеет критически важное значение. Решение для отражения атак ботов должно не только отличать полезных от вредоносных ботов, но также способствовать повышению качества сервиса для пользователей и разрешать доступ авторизованным ботам партнеров и поисковым роботам. Поддержание стабильного качества сервисов для пользователей на таких сайтах как, например, розничные порталы e-commerce в пиковые часы, – задача непростая. Решение безопасности должно быть масштабируемо для работы в условиях всплесков трафика и пиковых нагрузок.
Не менее важно сохранять минимальный уровень ошибочных срабатываний (false positives), чтобы не нарушалась работа и качество сервисов для пользователей. Реальные пользователи никогда не должны решать тесты CAPTCHA или доказывать, что они не являются ботом. Механизм обнаружения ботов корпоративного класса должен обладать методами глубокого обучения и автоматической оптимизации. Это необходимые условия для выявления и блокировки непрерывно эволюционирующих ботов, которые постоянно меняют свои признаки для обхода средств обнаружения базовых систем защиты.
Возможность расширения и гибкость
Серьезный подход к защите от ботов не ограничивается только защитой веб-сайта. Решение для противодействия ботам корпоративного класса должно обеспечивать безопасность всех онлайн-ресурсов, включая веб-сайт, мобильные приложения и API. Защита мобильных приложений и API имеет не меньшее значение. Также необходима возможность интеграции решения с партнерскими системами и важными партнерскими API.
Гибкие варианты развертывания
Решение для защиты от атак ботов должно легко развертываться и работать совместно с существующей инфраструктурой с сервисами, такими как сети доставки контента и брандмауэры (CDN и WAF), а также различными технологическими стеками и серверами приложений. Предпочтительно решение, которое предлагает различные варианты интеграции, включая плагины для веб-серверов / сетей управления контентом (CDN) / систем управления сайтом (CMS), наборы средств разработки (SDK) для Java, PHP, .NET, Python, ColdFusion, Node.js и др., а также через теги JavaScript и виртуальные устройства.
Важным преимуществом является возможность интеграции по API – такое решение окажет минимальное воздействие на ваши онлайн-ресурсы.
Наконец, и в идеале, поставщик решения для отражения бот-атак должен иметь множество распределенных точек присутствия для обеспечения максимальной доступности сервисов и минимальной задержки.
Автоматическое отражение бот-атак или ручная настройка политик
Запросы страницы для популярных веб-сайтов могут исчисляться миллионами в минуту, а обработка информации для обнаружения ботов должна происходить в реальном времени. Это означает невозможность ручной подстройки решения – даже добавление подозрительных диапазонов IP-адресов бесполезно для выявления ботов, которые циркулируют между огромным числом адресов с целью обхода средств обнаружения. Кючевой вопрос, на который нужно получить ответ, — потребуется ли отдельная специализированная команда для управления инструментом защиты от ботов, или это решение способно работать автономно после первоначальной настройки?
Механизмы противодействия ботам, снабженные продвинутыми технологиями, такими как машинное обучение, помогают автоматизировать процесс управления ими и существенно сокращают время команды, требуемое на отслеживание трафика ботов и отражения бот-атак. Автоматическое реагирование на угрозы ботов, а также отсутствие необходимости ручной подстройки системы значительно снижают её совокупную стоимость владения.
Разработка или покупка специализированного решения
Крупные организации обладают ресурсами для разработки собственного штатного решения для защиты от ботов, но у большинства компаний нет ни времени, ни ресурсов, ни денежных средств на эту задачу. Построение адаптивного и высокотехнологичного решения для защиты от бот-атак, которое способно противостоят непрерывно эволюционирующим ботам, может занять годы специализированной разработки.
С финансовой точки зрения, для минимизации капитальных издержек имеет смысл приобрести облачное решение для противодействия ботам на основе подписки. В данном варианте компании получают все преимущества защиты своих онлайн-ресурсов без необходимости инвестиций и предоплаты.
Защита информации, персональных данных и соблюдение законодательства
С целью соблюдения конфиденциальности данных и соблюдения законодательства решение должно гарантировать, что данные не покинут границы сети организации, кроме как в зашифрованном и хешированном формате. Решение для защиты от ботов должно соответствовать действующему законодательству – это поможет избежать утечки персональных данных, а также рисков финансовых и юридических последствий.
Заключение
Как крупным, так и небольшим организациям для защиты их информационных ресурсов требуется специализированное решение противодействия ботам. Вне зависимости от размера компании, интенсивный рост трафика ботов и разрушительность последствий бот-атак означает, что решения для предотвращение таких сложных автоматизированных атак имеют критически важное значение для непрерывности и успешности бизнеса. Для борьбы с ботами нового поколения, имитирующими поведение человека, требуются продвинутые технологии машинного обучения, способные «распознать волка в овечьей шкуре».
Источник