Капча: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
отмена правки 34728940 участника 91.215.122.20 (обс) википедия не каталог ссылок. в dmoz добавляйте
Причем тут DMOZ? Почему нельзя оставить ссылку на пример исходника капчи? Человеку будет полезно знать, о том, где для своего сайта можно вз
Метка: добавление ссылки
Строка 62: Строка 62:


== Ссылки ==
== Ссылки ==
* [http://www.captcha.ru/kcaptcha/ Бесплатная капча на php]
* {{dmoz|World/Russian/Компьютеры/Интернет/Злоупотребления/CAPTCHA/}}
* {{dmoz|World/Russian/Компьютеры/Интернет/Злоупотребления/CAPTCHA/}}
* [http://www.w3.org/TR/turingtest/ Inaccessibility of CAPTCHA / W3C] {{ref-en}}
* [http://www.w3.org/TR/turingtest/ Inaccessibility of CAPTCHA / W3C] {{ref-en}}

Версия от 20:53, 26 мая 2011

Искаженная строка «smwm»

CAPTCHA ([ˈkæptʃə]; от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» — «полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей») — товарный знак Университета Карнеги — Меллона, в котором разработали компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. В Рунете часто транскрибируется как «капча». Термин появился в 2000 году. Основная идея теста: предложить пользователю такую задачу, которую с лёгкостью может решить человек, но которую несоизмеримо сложнее решить компьютеру. В основном это задачи на распознавание символов.

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

Варианты реализации

  • В наиболее распространённом варианте CAPTCHA от пользователя требуется ввести символы, изображённые на предлагаемом ему рисунке (как правило, в искажённом виде, иногда с добавлением помех или полупрозрачности).
  • Реже применяются CAPTCHA, основанные на распознавании речи (в основном — как альтернатива первому варианту для людей с нарушениями зрения).
  • Могут также применяться другие плохо алгоритмизуемые задачи, например: узнать, что находится на картинке, отметить все картинки с кошками или ответить на вопрос, связанный со знаниями или менталитетом людей (например, «висит груша, нельзя скушать»).
  • Встречаются CAPTCHA, где предлагается ввести ответ на простое арифметическое действие.
  • Разработана технология Video-CAPTCHA, в которой фон и символы, которые необходимо распознать, постоянно двигаются.

Методы противодействия

Уязвимости защиты

При недостаточной квалификации веб-программиста бот может пройти CAPTCHA, не распознавая изображённых символов. Есть три способа это сделать.

  1. Повторное использование идентификаторов сессии. В этом случае человек вручную проходит CAPTCHA. Идентификатор сессии и ответ на CAPTCHA передаются боту, и тот фабрикует большое количество запросов с этим идентификатором (а значит, и с тем же ответом на CAPTCHA). В идеале идентификатор сессии должен быть одноразовым и ограниченным по сроку действия.
  2. По какой-либо информации, содержащейся на странице, восстановить изображённые на картинке символы.
  3. Из-за особенностей генератора псевдослучайных чисел может выдаваться небольшое ограниченное число картинок, для которых можно создать базу данных. Если пользователь должен опознать картинку или ответить на вопрос, картинки/вопросы, естественно, подготавливаются администратором — а значит, для них тоже можно собрать базу.

Угадывание

Если количество вариантов ответов невелико, компьютер или ботнет может попытаться угадать ответ. Например, если задача — среди 10 картинок отметить животных, получается всего 210=1024 варианта ответа. Значит, в среднем один из 1024 запросов пройдёт CAPTCHA. То есть, даже при производительности 1 запрос в секунду (реальное значение, например, для ADSL) можно производить 86400/1024 ≈ 84 успешных запроса в сутки. Боты используют несколько параллельно выполняющихся потоков, благодаря чему производительность бота зависит только от полосы пропускания, отданной ему в распоряжение.

Автоматизированное распознавание

Существуют программы (к примеру, PWNtcha), распознающие конкретные реализации CAPTCHA. Кроме того, существует возможность подключать модули из программ распознавания текста общего назначения (например, FineReader, OmniPage) в программы сторонних разработчиков для распознавания картинок CAPTCHA.

По отношению к автоматизированному распознаванию существуют понятия «слабая CAPTCHA» и «сильная CAPTCHA». В числе «слабостей» — фиксированный шрифт, фиксированное положение символов, отсутствие искажений, отделение символов от фона с использованием цветового ключа или размытия по Гауссу, лёгкое отделение символов друг от друга и т. д. Впрочем, иногда бывает, что сильная CAPTCHA оказывается труднораспознаваемой и для человека. Изредка встречается CAPTCHA, легко прочитываемая компьютером и с большими трудностями — человеком (например, с неконтрастной картинкой).

Ручное распознавание

Есть способ «распознавания», использующий человеческий ресурс и ресурс высокопосещаемых сайтов, например, сайтов порно-тематики. Робот скачивает CAPTCHA с интернет-сервиса и показывает его пользователю порносайта, с просьбой ввести код, который он видит на картинке. Взамен пользователь получает доступ к ресурсу, а робот узнаёт код, изображённый на картинке («метод леммингов»). Пользователь может и не подозревать, что каждый просмотренный порноролик оборачивается регистрацией нового почтового ящика для рассылки спама.

Вариантом этого метода является сервис Captcha Exchange Server, запущенный в марте 2007 года и направленный на обход картинок CAPTCHA, используемых файлообменниками. Принцип работы сервиса основан на системе баллов, которые пользователь может заработать, распознав картинки для других пользователей, и позже потратить, запустив программу автоматического скачивания с файлообменников, при этом картинки будут распознаны другими пользователями сервиса. Таким образом, пользователь может оптимизировать затраты своего времени и денег, набирая баллы, когда он всё равно находится у компьютера, и тратя их, когда ему более удобно скачивать (например, в случае, если ночью доступ в Интернет обходится дешевле).

Несмотря на уязвимости, это не означает, что любая CAPTCHA-защита бессмысленна. Тут наблюдается известный принцип соревнования оружия и защиты (снаряда и брони). Гораздо хуже, если данная защита не используется.

Известные CAPTCHA-службы

reCAPTCHA

reCAPTCHA — проект, использующий в роли рабочего элемента для ответов пользователей на CAPTCHA-запрос неразборчивое для OCR слово, являющееся одним из множества искажённых фрагментов сканированных книг в дополнение к слову, сгенерированному компьютером. Этот сервис учитывает приёмы использования и возможности программ оцифровки текста книг. Для надёжности одно и то же слово предлагается нескольким пользователям различных сайтов. Когда разные пользователи одинаково ответили на CAPTCHA-запрос, предполагается, что они ввели правильное слово.

Примечания

Ссылки