Captcha: коды, изображения и головоломки для защиты от спама

«Спам уйдет в прошлое через два года!» — заявил Билл Гейтс на Всемирном экономическом форуме в Давосе в 2004 году. Ложное заявление, которое и сегодня вызывает смех у интернет-сообщества и, вероятно, означает, что имя соучредителя Microsoft войдет в список самых впечатляюще неверных заявлений в области информационных технологий всех времен.

Даже Гейтс не имел представления о том, как сильно будет развиваться спам в течение следующих 13 лет. Даже сегодня не проходит и дня, чтобы пользователи Интернета не сталкивались с автоматически сгенерированным рекламным контентом: будь то в их почтовых ящиках, на их любимых блогах, в разделе комментариев интернет-магазина или в гостевой книге их сайта.

Более того, спам-боты становятся все умнее. Эти в целом автономные компьютерные программы ищут в Интернете формы и другие интерактивные элементы веб-страниц, чтобы разместить рекламу — и даже преодолеть сложные процедуры защиты от спама.

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

Что такое капча?

Каптча — это метод, используемый для защиты веб-сайтов от спама. Его цель — предотвратить спам на интерактивных веб-сайтах путем фильтрации автоматически генерируемого ввода. Аббревиатура CAPTCHA расшифровывается как «Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей». Еще в 1950 году компьютерный ученый Алан Тьюринг предложил метод проверки интеллектуальных способностей искусственного интеллекта. По мнению пионера компьютерной техники, машина способна имитировать человеческий разум, когда ей удается общаться с людьми в чате, не осознавая при этом, что она компьютер.

Тест Тьюринга вошел в историю исследований ИИ (искусственного интеллекта) и был впервые пройден компьютерной программой в 2014 году: Первой в мире машине, чатботу Юджину Густману, удалось обмануть более 30 процентов независимого жюри в течение не менее 5 минут. Юджин притворился украинским подростком с морскими свинками, который также был большим поклонником Эминема.

То, что звучит как научная фантастика, сегодня является одной из основных проблем Интернета. Интерактивные веб-сайты должны уметь отличать человеческих посетителей сайта от компьютерных программ в рамках верификации человека. Для предотвращения автоматического спама и кликов роботов (ботов) разрабатываются все более сложные капчи.

Каково назначение каптч?

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

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

Со временем были разработаны различные методы для проведения верификации человека. Однако, в принципе, ни одна из установленных процедур не обеспечивает 100% защиту от спама, а технология captcha часто ассоциируется с пониженным удобством для пользователя.

Какие существуют типы капч?

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

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

Капчи на основе текста

Самой старой формой верификации человека является текстовая капча. Известные слова или случайные комбинации букв и цифр отчуждаются. Чтобы продолжить, пользователь должен расшифровать код, представленный в поле капчи, и ввести решение в текстовое поле. Классические методы, используемые для создания текстовых капч, — Gimpy, ez-Gimpy, Gimpy-r и HIP Симарда.

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

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

Это можно продемонстрировать на следующих примерах. Если вы хотите создать бесплатную учетную запись в Microsoft, вам сначала нужно ввести буквы в поле, поэтому пользователь напишет ‘SGPKDL’. Спамботы, с другой стороны, не смогут распознать эти искаженные буквы.

Правильная последовательность здесь — ‘1VYEJX’, хотя последний символ трудно прочитать, так как он может быть либо буквой ‘X’, либо знаком плюс ‘+’. Если первый пример может создать проблемы для зрелых программ распознавания, но не для людей, то приведенный выше пример еще более искажен, так что его может быть трудно решить даже человеку. Многие хорошо реализованные коды captcha предлагают возможность перехода к следующему коду, если первый код оказался слишком сложным для прочтения. В приведенном выше примере пользователь может нажать на «Обновить код подтверждения», и ему будет представлена следующая последовательность, которая, как мы надеемся, будет легче расшифрована. Несмотря на эту возможность, многие посетители считают коды капчи сложными.

Поэтому в настоящее время существует множество альтернатив технологии текстовых капч для решения этой проблемы. Google предлагает отличную версию классической текстовой капчи под названием reCAPTCHA. Вместо того чтобы генерировать случайные слова, reCAPTCHA берет контент из различных проектов оцифровки, таких как Google Books или Google Street View. Например, пользователи получают названия улиц, номера домов, дорожные знаки и фрагменты отсканированных участков текста, которые затем нужно расшифровать и ввести в текстовое поле. Программа всегда предлагает два элемента — один, который уже подтвержден, и один, который еще нет. В принципе, для успешного прохождения капчи пользователям необходимо распознать только первый элемент. Пользователи, которые расшифровывают и второй элемент, затем принимают участие в проекте Google «Цифровизация». Вводимые данные проверяются на статистической основе. Элементы, которые необходимо расшифровать, всегда представлены нескольким пользователям. Правильным считается тот ответ, который дается чаще всего.

В следующем примере показаны два по-разному оформленных запроса reCAPTCHA, с которыми пользователи сталкиваются, например, в рамках приложений сообщества.

Каптчи на основе изображений

Альтернативой текстовым каптчам является метод, основанный на изображениях. Вместо того чтобы предлагать пользователям отчужденное решение, состоящее из цифр и букв, каптчи на основе изображений основаны на быстро узнаваемых графических элементах. Как правило, несколько фотографий повседневных предметов отображаются рядом. Пользователь должен нажать на те изображения, которые похожи на оригинальное изображение, или показать, какие из них представляют смысловое содержание.

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

В качестве альтернативы Google использует капчи из Google Street View, где пользователей просят ввести номер дома или знак улицы в текстовое поле.

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

Аудиокапча

Текстовые и графические капчи могут быть отнесены к графическому процессу верификации человека. Сможет ли пользователь легко пройти этот этап, зависит от того, насколько хорошо он способен распознать отображаемую текстовую или графическую информацию. Как человек с ослабленным зрением сможет прочитать капчу? Операторы сайтов должны убедиться, что выбранный ими метод captcha имеет несколько решений для повышения удобства использования сайта.

Чтобы слабовидящие люди также могли успешно разгадывать коды капчи, методы проверки на основе текста или изображения обычно сочетаются с так называемыми звуковыми капчами. Часто имеется дополнительная кнопка, нажав на которую пользователь может услышать аудиозапись, например, короткую последовательность цифр, которая затем вводится в поле ввода.

На примере ниже справа от текстового поля вы видите кнопку регулировки громкости:

Чтобы капча была максимально удобной для пользователя, записанная аудиозапись должна быть понятной и адаптированной к языку пользователя.

Математические задачи и логические капчи

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

Эти математические уравнения просты для решения, но проблема в том, что они не слишком мешают компьютерам, поскольку компьютерщики хорошо умеют работать с числами. Поэтому этот тип капчи часто сочетается с различными видами отчуждения текста, чтобы читатели экрана не могли разобраться в нем. Гораздо сложнее для программ, если результатом является не цифра, а слово, или если нужно ввести только одну цифру результата (например, вычислите 7 x 7 и введите в поле только первую цифру результата. Результат будет равен 49, поэтому решением капчи будет 4).

Помимо вычислительных задач, в качестве капчи также используются логические задачи и вопросы на общие знания. Часто с тематической ссылкой на соответствующий сайт. На форуме, посвященном программному обеспечению SMF (Simple Machines Forum), посетитель должен ответить на два вопроса по теме, прежде чем он сможет продолжить регистрацию.

Логические капчи состоят из вопросов, которые могут показаться тривиальными для пользователей-людей. Однако классические спам-боты обычно не в состоянии понять контекст в следующих примерах.

Назовите все цвета в списке: яблоко, зеленый, банан, помидор, желтый (ответ: зеленый, желтый)

Укажите пятое слово в этом предложении (ответ: в)

Какая третья буква в предпоследнем слове (ответ: н)

Сколько вымени у коровы? (ответ: одно)

Подобные капчи обычно разрабатываются таким образом, чтобы было возможно несколько вариантов ответа (например, прописные и строчные буквы).

Игровые капчи

Операторы сайтов, которые опасаются отпугнуть своих посетителей загадочными текстовыми каптчами или сложными математическими задачами, должны воспользоваться тенденцией геймификации. Такие поставщики, как SweetCaptcha и FunCaptcha, предлагают развлекательные мини-игры, которые известны как геймифицированные капчи.

SweetCaptcha полагаются на способность людей к ассоциациям и представляют посетителям сайта простые задания. Следующий пример требует от пользователя перетащить барабанные палочки на барабан, чтобы доказать, что он действительно человек.

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

В FunCaptcha, с другой стороны, все вращается по кругу. Используйте стрелки, чтобы правильно расположить собаку, а затем нажмите «Готово». Если собака расположена правильно, программа позволит вам перейти к следующему шагу.

Конечно, это не самое веселое развлечение, но капча с геймификацией выглядит лучше, чем искаженный фрагмент текста.

Преимущества и недостатки капчи

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

Исследования в области искусственного интеллекта постоянно прогрессируют. Специализированные программы становятся все лучше в чтении искаженных текстов и решении логических задач. В 2014 году исследовательская группа Google опубликовала концепцию, с помощью которой можно было автоматически решить 99,8% классических reCAPTCHA. В базе данных использовалось 10 миллионов аннотированных номеров домов, сгенерированных с помощью Google Street View.

Многие поставщики captcha пытаются компенсировать прогресс в машинном обучении, делая тесты еще более сложными. Однако на практике капчи оказываются неразрешимыми.

В 2010 году исследователи из Стэнфордского университета обнаружили, что многие капчи представляют собой большую проблему для пользователей Интернета. В ходе исследования более 1100 человек попросили решить более 318 000 капч из наиболее распространенных на тот момент схем.

В среднем испытуемые справились с графическими капчами за 9,8 секунды. На аудиокапчи испытуемым потребовалось в три раза больше времени — в среднем 28,4 секунды. Когда одна и та же графическая капча была показана трем разным людям, они пришли к одинаковому выводу только в 71% случаев. При использовании звуковых капч это число снизилось до 31%. Кроме того, исследователи зафиксировали показатель отказов в 50% при использовании аудиокапчи. Используется ли человеческая верификация и как она реализована, влияет на то, как посетитель воспринимает сайт и насколько он решает взаимодействовать с ним.

В 2009 году компания MOZ, специализирующаяся на SaaS, опубликовала в своем блоге статью о том, насколько сильно капчи влияют на конверсию веб-форм. В ходе исследования автор YouMoz Кейси Генри изучил более 50 различных веб-сайтов компаний в течение 6 месяцев и пришел к выводу, что коэффициент конверсии онлайн-форм (например, для подписки на рассылку) упал в среднем на 3,2%, когда были активированы капчи. Однако количество спама сократилось на 88%.

В частности, компании, получающие доход от взаимодействия с пользователями на своем сайте, должны задуматься о том, является ли такой высокий показатель отказов приемлемым. Затраты на альтернативные методы борьбы со спамом должны быть компенсированы потерями дохода от использования капчи.

Каптчи и доступность

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

Интернет может принести облегчение многим пользователям, живущим с ограничениями. Несмотря на это, многие онлайн-сервисы не являются на 100% доступными для всех. Каптчи могут усложнить ситуацию, например, если пользователь не может их решить из-за ограниченного зрения или слуха.

Руководство по доступности веб-контента (WCAG) от Инициативы по доступности веб-контента (WAI) Консорциума Всемирной паутины (W3C) рассматривает проблему доступности капч и определяет следующие пункты как минимальные требования к доступным капчам:

  • Если для отличия пользователей от компьютерных программ используется нетекстовое содержимое (например, графика), необходимо предоставить текстовую альтернативу, объясняющую назначение нетекстового содержимого.
  • Если используется технология captcha, она должна быть разработана таким образом, чтобы были доступны альтернативные решения, учитывающие различные формы нарушений.

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

Кроме того, капчи никогда не должны быть единственным способом использования сайта. В качестве альтернативы вы всегда должны предоставлять пользователю возможность связаться с администратором или службой поддержки. Также рекомендуется свести использование капчи к минимуму. Если пользователь уже успешно вошел в систему, никаких дополнительных капч для проверки не требуется.

Существуют ли альтернативы капчам?

Несмотря на то, что капчи сегодня встречаются повсеместно, методы, основанные на тесте Тьюринга, не являются единственным способом защиты интерактивных веб-сайтов от спама. Еще в 2005 году WAI разработала каталог предложений без капчи: ‘Недоступность CAPTCHA — альтернативы визуальным тестам Тьюринга в Интернете’ с примечанием рабочей группы 23. Со временем было создано множество методов для выявления автоматических запросов и вводов.

  • Черные списки: Если вы заметили, что из определенного источника приходит много спама или автоматических запросов, вы можете заблокировать IP-адрес, добавив его в черный список, который можно создать вручную с помощью .htaccess. Всем IP-адресам из черного списка будет запрещено связываться с вами в будущем. Кроме того, существуют различные антиспамовые сети, а также профессиональные поставщики услуг, которые предоставляют централизованные, постоянно обновляемые черные списки.
  • Медовые точки: Некоторые операторы веб-сайтов раскрывают потенциальных кандидатов в черный список, устанавливая онлайн-формы для заманивания кибер-злоумышленников. Такие приманки называются «медовыми точками» и работают путем создания полей ввода, скрытых от пользователей с помощью CSS или JavaScript. Простые спам-боты, с другой стороны, обычно только читают HTML-код сайта и заполняют скрытые поля автоматически сгенерированным контентом. Это явный признак того, что взаимодействие с сайтом происходит не через веб-браузер и, следовательно, не человеком.
  • Фильтр контента: Одним из способов предотвращения спама в комментариях на блогах, в интернет-магазинах и на форумах является использование контент-фильтра. Они также работают с черными списками. Для этого операторам сайта необходимо определить «горячие слова», которые часто используются в спамерском контенте, чтобы записи автоматически идентифицировались как созданные компьютером. Однако при использовании контент-фильтров существует риск того, что вклад пользователей-людей также будет заблокирован, если использованные ими слова окажутся в черном списке.
  • Фильтрация на стороне сервера: Большинство веб-серверов используют программное обеспечение для фильтрации, которое позволяет обнаруживать аномальные взаимодействия с определенными областями веб-сайта, что ограничивает ущерб, который могут нанести спам-боты. Фильтры спама основаны на статическом, эвристическом и поведенческом анализе, чтобы иметь возможность выявлять необычные характеристики и известные закономерности. Анализ спам-фильтров основан на технических характеристиках агента пользователя. Анализируется объем запрашиваемых данных, IP-адрес, используемые методы ввода данных, а также сигнатурные данные и ранее посещенные веб-сайты. Кроме того, с помощью временных меток можно рассчитать, сколько времени прошло между первым появлением онлайн-формы и ее заполнением. В отличие от пользователей-людей, спам-боты особенно быстро заполняют формы.

Широко используемая альтернатива классической капче, основанная на поведенческом анализе, также была создана компанией Google. С 2013 года Google предлагает услугу Human Verification под названием «No CAPTCHA reCaptcha». Она надежно защищает интерактивные сайты от спама и в большинстве случаев не требует ввода капчи. Вместо того чтобы предоставлять пользователям визуальный, слуховой или логический контекст, новая reCAPTCHA от Google представляет собой простой флажок.

Если пользователь устанавливает флажок рядом с надписью «Я не робот», программное обеспечение запускает проверку в фоновом режиме, чтобы определить вероятность того, что это автоматический ввод, используя расширенный анализ рисков. Компания не раскрывает, какие этапы проверки включает в себя данный алгоритм тестирования. Однако обсуждались следующие особенности:

  • Cookies
  • IP-адреса
  • Движения мыши в области флажка
  • Продолжительность пребывания

Если программа делает вывод, что это пользователь-человек, она позволяет ему продолжить без проблем. Если результат анализа показывает, что существует высокий риск спама, необходимо заполнить капчу. Таким образом, No CAPTCHA — это метод предварительного тестирования, который решает, необходима ли проверка тестом Тьюринга или ее можно пропустить. Удобство использования повышается, но это может привести к проблемам с защитой данных.

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

Google определяет общие условия использования, а также глобальную декларацию о защите данных для нового reCAPTCHA. Так же обстоит дело и с другими сервисами Google. Поэтому нельзя исключать, что Google не будет использовать собранные данные для оптимизации собственных сервисов, например, в рекламе. Этот вопрос обсуждается в статье онлайн-журнала Business Insider.

На текущем сайте проекта reCAPTCHA (по состоянию на январь 2017 года) Google анонсировал Invisible reCAPTCHA, которая является развитием No CAPTCHA reCAPTCHA, но без интерактивного флажка.

В теории Invisible reCAPTCHA работает следующим образом: если пользователь заполняет онлайн-форму, в фоновом режиме происходят различные процессы анализа, но Google не раскрывает, какие именно.

Оцените статью
cdelat.ru
Добавить комментарий