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

Реклама
Грандмастер

Так же, как все, «капча», «капча»,
Я по Сети хожу, хожу,
И у нее, «капча», «капча»,
Файлов себе прошу…
(Песенка про CAPTCHA)

Пользователи Интернета часто сталкиваются с «капчой».
Например, вы регистрируете свой сайт в Google. Кроме URL и краткого описания вашего сайта, вам нужно — перед завершением регистрации — в специальное текстовое поле ввести цифры, изображенные на рисунке.

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

Что такое CAPTCHA?
CAPTCHA (от англ. Completely Automated Public Turing test to tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) — компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Термин появился в 2000 г.

Реклама

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

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

Что интересно: хотя CAPTCHA предназначена для «отсеивания» компьютеров, тест проводит компьютер (точнее, программа, которая сравнивает ответ с правильным).

Варианты CAPTCHA
В наиболее распространенном варианте CAPTCHA от пользователя требуется ввести символы, изображенные на предлагаемом рисунке в искаженном виде (с добавлением «шума» или полупрозрачности).

Реклама

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

Могут также применяться другие плохо алгоритмизуемые задачи, например: узнать, что находится на картинке, отметить все картинки с животными или ответить на вопрос, связанный со знаниями или менталитетом людей (например, «Сколько ног у курицы?» или «Как зовут российского президента?»).

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

Реклама

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

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

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

Реклама
и т. д.

Иногда бывает, что «сильная» CAPTCHA оказывается труднораспознаваемой и для человека. Иногда встречается CAPTCHA, легко прочитываемая компьютером и нечитаемая человеком (например, CAPTCHA с сильно размытой или неконтрастной картинкой).

Одним из методов обхода CAPTCHA является сервис Captcha Exchange Server (запущен в марте 2007 г.). Этот сервис направлен на «обход» картинок CAPTCHA, используемых файлообменными серверами. Принцип работы сервиса основан на системе баллов, которые пользователь может заработать, распознавая — в свободное время — картинки для других пользователей. Набранные баллы пользователь может потратить позже, запустив программу автоматического скачивания файлов с файлообменного сервера (при этом текущие «картинки» будут распознаны другими пользователями сервиса). Таким образом, пользователь может оптимизировать затраты своего времени (и денег), тратя набранные баллы в удобное время.

Несмотря на уязвимости, CAPTCHA-защита очень популярна в Интернете.

Ну, а если мы проходим CAPTCHA, значит, мы не роботы!..

Реклама