Как настроить смартфоны и ПК. Информационный портал

Как решить капчу если она не загружается. Что делать если не открывается капча

Капча (англ. captcha) - аббревиатура от «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» (полностью автоматический тест Тьюринга для отличния компьютеров от людей). По сути, это защита от заполнения и отправки любых форм ботами и спамерами в автоматическом режиме, будь то запрос в поисковой системе или регистрация в каком-либо сервисе, отправка комментария под статьёй или заполнение анкеты на сайте. Как правило, представляет собой картинку с со случайным текстом, цифрами, буквами, значение которой нужно записать в специальную форму.

Эффект рассчитан на то, что боты картинку не распознают, а человек - сможет. Соответственно, спамеры в автоматическом режиме и боты проверку не пройдут, и спам тоже.

Виды капчи, какая она бывает

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

Бывают такие, что приходится выбирать картинки по какому-то признаку. Например, подобная схема реализована на сайте МТС в разделе отправки бесплатных сообщений SMS.
Собственно, видов превеликое множество. Как же выбрать то, что нужно? Лично я рекомендую пользоваться самописными вариантами, ибо тут всё будет зависеть от фантазии вашей или ваших программистов. Если капча получится оригинальной, то такую вещь обойти спамерам будет намного сложнее. Но, так как это довольно накладно либо по времени, либо по деньгам, советую воспользоваться сервисом

Google ReCaptcha — как установить и настроить

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

На изображении вы видите промо Google reCAPTCHA Invisible — нового вида рекапчи (невидимая), который только проходит бета-тестирование. Соответственно, пока что пользоваться им я не рекомендую, лучше отдать предпочтение классической проверенной рекапче .

  1. Как установить Google Recaptcha в WordPress

    Чтобы установить Google Recaptcha в WordPress, самым удобным будет сделать это через плагин Google Captcha (reCAPTCHA) by BestWebSoft

    Устанавливаете плагин, в поля вводите ключи для домена, которые мы приготовили по инструкции выше — и готово.

    Как защитить комментарии от спама без капчи

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

    Как обойти капчу

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


    Суть сервиса заключается в том, что он за небольшую плату предоставляет сервис распознавания капчи. Капчу распознают люди, готовые это делать за копейки.
    Такой сервис может пригодиться, скажем, для парсера поисковой выдачи (например, KeyCollector). Поисковые системы Google или Yandex при слишком частых запросах к ним начнут подозревать автоматические запросы и будут просить вводить капчу. Тут и пригодится сервис автоматического распознавания капчи. Сам сервис предоставляет API для взаимодействия с ним. Многие программы — парсеры, имеют встроенный функционал для взаимодействия с антикапчей (тот же KeyCollector имеет его), вам будет достаточно только пополнить баланс и прописать ключи API сервиса в программе, остальное — дело техники.

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

Новая надежда

Капча (CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart) - это автоматизированный публичный тест Тьюринга, направленный на выявление компьютеров среди посетителей сайтов. Этот механизм защиты должен оградить сайты от спама, автоматических регистраций, накруток и прочих нелицеприятных дел, которыми обычно занимаются боты.

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

Пользователю нужно выполнить простейшее действие - отметить галочкой утверждение «Я не робот». В этот момент специальный скрипт оценивает косвенные параметры, указывающие на возможного бота: информация о времени, проведенном на странице, IP-адрес и прочее. Если же у No CAPTCHA закрадываются сомнения в том, что пользователь - человек, то она предложит выполнить простое задание, вроде поиска определенного объекта на картинках или ввода стандартной капчи.

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

Рассказывая о No CAPTCHA, разработчики ограничиваются лишь ссылками на машинное обучение и продвинутый анализ рисков, адаптируемый к новым угрозам. И их можно понять: не зная принципа работы системы, взломщики не смогут ее обойти.

Рождение легенды

Оригинальная версия капчи была разработана в 2000 году специалистами американского университета Карнеги - Меллон. Команда под руководством Луиса Фон Ана (Luis von Ahn) поставила перед собой цель создать защиту, устойчивую к распознанию и угадыванию. Это значит, что капча должна быть нерешаемой для систем распознавания текстов и прочих алгоритмов, а также ее нельзя угадать за малое число попыток (менее 1000). Но для человека она не представляет никакой трудности.

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

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

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

Когда с помощью reCAPTCHA были расшифрованы архивные номера , на авторов этой системы обратили внимание в Google. В итоге «корпорация добра» купила сервис (в 2009 году) и взялась за расшифровку старых книг, а потом и за распознавание фрагментов снимков из Google Street View. Благодаря сервису в день оцифровывалось примерно 100 миллионов слов, что давало более двух миллионов книг в год.

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

Бесполезная защита

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

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

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

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

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

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

Что такое капча и виды этой защиты против автоматического спама

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

Итак, попробуем сразу же внести ясность. Русскоязычное слово «капча» происходит от сложной английской аббревиатуры CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart), что в полном переводе на русский означает «полностью автоматизированный публичный тест Тьюринга для распознания компьютеров и людей».

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

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

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

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

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

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

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

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

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

Какие виды капчи бывают

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

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

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

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

Итак, зная, для чего используется данная защита от спама, мы можем сформулировать базовые условия, которые должны лечь в основу создания идеальной капчи (идеал, как известно, недостижим в реальной жизни, но к нему надо стремиться):

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

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

1. Ввод текста в форме букв, цифр, слов или словосочетаний:


Проблема данного вида в том, что слишком сильно искаженные текстовые символы будут усложнять их ввод не только ботам, но и простым смертным вроде нас с вами.

2. Действия с изображениями . Например, выбор подходящих картинок (картинки) из нескольких предложенных, которые бы соответствовали определенным критериям. Скажем, чтобы разгадать капчу, приведенную в качестве примера ниже, следует выбрать все изображения, где присутствует трава:

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

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


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

3. Применение арифметических или математических действий для ввода CAPTCHA:


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

4. ReCAPTCHA . Этот вид теста Тьюринга более привлекателен для широкого круга юзеров, поскольку учитывает интересы людей с ограниченными возможностями (смотрите список условий для достижения "идеальной капчи", расположенный несколькими абзацами выше), предлагая наряду с визуальным вариантом аудио-воспроизведение расположенного на картинке текста:

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

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

В таком виде, конечно, капча более привлекательна и не вызывает явного отторжения.

Наряду с лидером мирового поиска стоит упомянуть и Яндекс, который является его главным конкурентом на просторах рунета () и тоже использует оригинальную защиту против спамеров (YaCAPTCHA), где кодовое слово или простой набор букв может быть предложен на кириллице:

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

Для тех, кто предпочитает видеоматериалы текстовой информации, можете посмотреть весьма популярный ролик о разнообразных видах капчи:

");">

Ввод капчи и оценка возможностей ее обхода

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

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

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

«Captcha test failed» в переводе с английского на русский означает «тест капчи не удался». Также могут присутствовать следующие выражения (с правой стороны их перевод на русский):

  • «CAPTCHA error please try again» — ошибка ввода капчи, пожалуйста, попробуйте снова;
  • «please complete the CAPTCHA correctly» — пожалуйста, заполните правильно капчу.

В этом случае необходимо просто повторить попытку.

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

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

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

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

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

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

Оптимальное решение для сайтов — установка reCAPTCHA

Ну и в конце публикации я не могу не затронуть вопрос использования на своем сайте или блоге () наиболее эффективной капчи. Ведь все вебмастера не понаслышке знают всю "прелесть" общения со спамерами.

Пожалуй, именно на данном этапе появилось довольно продуктивное средство в лице последней версии reCAPTCHA (упоминание о ней чуть выше), которое уже используют крупные мировые сервисы, включая, естественно, Google. Отличие от старого варианта в том, что пользователю достаточно поставить галочку напротив надписи «Я не робот» :

Я также установил reCAPTCHA на некоторые из своих онлайн проектов. На сайт пока данное средство антиспама отсутствует по той простой причине, что меня в общем устраивает работа , который подходит для моей структуры комментариев.

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


CAPTCHA: люди против компьютеров

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

Такой тест называется CAPTCHA (Completely Automated Public Turing Test to Tell Humans and Computers Apart), и он используется в Интернете повсеместно. Веб-сайт по продаже билетов Ticketmaster – это отличный пример использования CAPTCHA: без такого теста «робот» потенциально мог бы купить миллионы билетов на какой-нибудь концерт или мероприятие, а после этого перепродать их по более высокой цене.

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


CAPTCHA мешает кибер-преступникам

Луис Фон Ан, один из создателей CAPTCHA, продолжает развивать данный тест уже в рамках Google, его нового разработчика. Этот проект был возрожден в reCAPTCHA, расширение теста Captcha, который берет слова с отсканированных страниц старых книг (такие слова компьютеру сложнее распознать). Защищая нашу безопасность, проект одновременно помогает « оцифровывать тексты, аннотации к изображениям, и строить наборы данных для машинного обучения »… теперь хотя бы эти 10 драгоценных секунд используются для чего-то более стоящего.


Здорово, что мы помогаем оцифровывать книги, но когда речь заходит об Интернет-безопасности, но эффективна ли CAPTCHA?


Можно слишком легко обойти Google CAPTCHA

Трио исследователей из Университета Колумбия (Нью-Йорк) доказали, как легко можно обойти некоторые CAPTCHA . Подобные программы значительно затрудняют хакерам использовать запрограммированные боты для автоматического и массового сбора адресов электронной почты, которые потом используются для спамовых кампаний. Но они не являются абсолютно надежными. Такие процессы могут быть автоматизированы, а в результате этого компьютеры смогут проходить тесты reCAPTCHA также эффективно, как мы с Вами.

Есть разные способы для обхода CAPTCHA, которыми защищены сайты. Во-первых, существуют специальные сервисы, которые используют дешевый ручной труд и буквально за $1 предлагают решить 1000 капч. В качестве альтернативы можно попробовать написать интеллектуальную систему, которая по определенным алгоритмам будет сама выполнять распознавание. Последнее теперь можно реализовать с помощью специальной утилиты.

Решить CAPTCHA

Распознавание CAPTCHA - задача чаще всего нетривиальная. На изображение необходимо накладывать массу различных фильтров, чтобы убрать искажения и помехи, которыми разработчики желают укрепить стойкость защиты. Зачастую приходится реализовывать обучаемую систему на основе нейронные сетей (это, к слову, не так сложно, как может показаться), чтобы добиться приемлемого результата по автоматизированному решению капч. Чтобы понять, о чем я говорю, лучше поднять архив и прочитать замечательные статьи «Взлом CAPTCHA: теория и практика. Разбираемся, как ломают капчи» и «Подсмотрим и распознаем. Взлом Captcha-фильтров» из #135 и #126 номеров соответственно. Сегодня же я хочу рассказать тебе о разработке TesserCap, которую автор называет универсальной решалкой CAPTCHA. Любопытная штука, как ни крути.

Первый взгляд на TesserCap

Что сделал автор программы? Он посмотрел, как обычно подходят к проблеме автоматизированного решения CAPTCHA и попробовал обобщить этот опыт в одном инструменте. Автор заметил, что для удаления шумов с изображения, то есть решения самой сложной задачи при распознавании капч, чаще всего применяются одни и те же фильтры. Получается, что если реализовать удобный инструмент, позволяющий без сложных математических преобразований накладывать фильтры на изображения, и совместить его с OCR-системой для распознавания текста, то можно получить вполне работоспособную программу. Это, собственно, и сделал Гурсев Сингх Калра из компании McAfee. Зачем это было нужно? Автор утилиты решил таким образом проверить, насколько безопасны капчи крупных ресурсов. Для тестирования были выбраны те интернет-сайты, которые являются самыми посещаемыми по версии известного сервиса статистики . Кандидатами на участие в тестировании стали такие монстры, как Wikipedia, eBay, а также провайдер капч reCaptcha.

Если рассматривать в общих чертах принцип функционирования программы, то он достаточно прост. Исходная капча поступает в систему предварительной обработки изображений, очищающей капчу от всяких шумов и искажений и по конвейеру передающей полученное изображение OCR-системе, которая старается распознать текст на нем. TesserCap имеет интерактивный графический интерфейс и обладает следующими свойствами:

  1. Имеет универсальную систему предварительной обработки изображений, которую можно настроить для каждой отдельной капчи.
  2. Включает в себя систему распознавания Tesseract , которая извлекает текст из предварительно проанализированного и подготовленного CAPTCHA-изображения.
  3. Поддерживает использование различных кодировок в системе распознавания.

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


Предварительная обработка изображений и извлечение
текста из капчи

About

Мы не могли не сказать хотя бы пары слов об авторе замечательной утилиты TesserCap. Его зовут Гурсев Сингх Калра. Он работает главным консультантом в подразделении профессиональных услуг Foundstone, которое входит в состав компании McAfee. Гурсев выступал на таких конференциях, как ToorCon, NullCon и ClubHack. Является автором инструментов TesserCap и SSLSmart. Помимо этого, разработал несколько инструментов для внутренних нужд компании. Любимые языки программирования - Ruby, Ruby on Rails и C#. Подразделение профессиональных услуг Foundstone®, в котором он трудится, предлагает организациям экспертные услуги и обучение, обеспечивает постоянную и действенную защиту их активов от самых серьезных угроз. Команда подразделения профессиональных услуг состоит из признанных экспертов в области безопасности и разработчиков, имеющих богатый опыт сотрудничества с международными корпорациями и государственными

Интерфейс. Вкладка Main

После запуска программы перед нами предстает окно с тремя вкладками: Main, Options, Image Preprocessing. Основная вкладка содержит элементы управления, которые используются для запуска и остановки теста CAPTCHA-изображения, формирования статистики теста (сколько отгадано, а сколько нет), навигации и выбора изображения для предварительной обработки. В поле для ввода URL-адреса (элемент управления № 1) должен быть указан точный URL-адрес, который веб-приложение использует для извлечения капч. URL-адрес можно получить следующим образом: кликнуть в правой части CAPTCHA-изображения, скопировать или просмотреть код страницы и извлечь URL-адрес из атрибута src тега изображения ..сайт/common/rateit/captcha.asp?. Рядом со строкой адреса находится элемент, задающий количество капч, которые нужно загрузить для тестирования. Так как приложение может одновременно показывать только 12 изображений, в нем предусмотрены элементы управления для постраничного пролистывания загруженных капч. Таким образом, при масштабном тестировании мы сможем пролистывать загруженные капчи и просматривать результаты их распознавания. Кнопки Start и Stop запускают и останавливают тестирование соответственно. После тестирования нужно оценить результаты распознавания изображений, отметив каждый из них как корректный или некорректный. Ну и последняя, наиболее значимая функция служит для передачи любого изображения в систему предварительной обработки, в которой задается фильтр, удаляющий с изображения шумы и искажения. Чтобы передать картинку в систему предварительной обработки, надо щелкнуть на требуемом изображении правой кнопкой мыши и в контекстном меню выбрать пункт Send To Image Preprocessor.

Интерфейс. Вкладка Options

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

Теперь о каждой опции поподробней. Прежде всего, можно выбрать OCR-систему. По умолчанию доступна только одна - Tesseract-ORC, так что заморачиваться с выбором тут не придется. Еще одна очень интересная возможность программы - выбор диапазона символов. Возьмем, например, капчу с сайт - видно, что она не содержит ни одной буквы, а состоит только из цифр. Так зачем нам лишние символы, которые только увеличат вероятность некорректного распознавания?. Но что если выбрать Upper Case? Сможет ли программа распознать капчу, состоящую из заглавных букв любого языка? Нет, не сможет. Программа берет список символов, используемых для распознавания, из конфигурационных файлов, находящихся в \Program Files\Foundstone Free Tools\TesserCap 1.0\tessdata\configs. Поясню на примере: если мы выбрали опции Numerics и Lower Case, то программа обратится к файлу lowernumeric, начинающемуся с параметра tesseditchar whitelist. За ним следует список символов, которые будут использоваться для решения капчи. По умолчанию в файлах содержатся только буквы латинского алфавита, так что для распознавания кириллицы надо заменить или дополнить список символов.

Теперь немного о том, для чего нужно поле Http Request Headers. Например, на некоторых веб-сайтах нужно залогиниться, для того чтобы увидеть капчу. Чтобы TesserCap смогла получить доступ к капче, программе необходимо передать в запросе HTTP такие заголовки, как Accept, Cookie и Referrer и т. д. Используя веб-прокси (Fiddler, Burp, Charles, WebScarab, Paros и т. д.), можно перехватить посылаемые заголовки запроса и ввести их в поле ввода Http Request Headers. Еще одна опция, которая наверняка пригодится, - это Follow Redirects. Дело в том, что TesserCap по умолчанию не следует переадресации. Если тестовый URL-адрес должен следовать переадресации для получения изображения, нужно выбрать эту опцию.

Ну и осталась последняя опция, включающая/отключающая механизм предварительной обработки изображений, который мы рассмотрим далее. По умолчанию предварительная обработка изображений отключена. Пользователи сначала настраивают фильтры предварительной обработки изображений согласно тестируемым CAPTCHA-изображениям и затем активируют этот модуль. Все CAPTCHA-изображения, загружаемые после включения опции Enable Image Preprocessing, проходят предварительную обработку и уже затем передаются в OCR-систему Tesseract для извлечения текста.

Интерфейс. Вкладка Image Preprocessing

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

Этап 1. Инверсия цвета

На данном этапе инвертируются цвета пикселей для CAPTCHA-изображений. Код, представленный ниже, демонстрирует, как это происходит:

For(each pixel in CAPTCHA) { if (invertRed is true) new red = 255 – current red if (invertBlue is true) new blue = 255 – current blue if (invertGreen is true) new green = 255 – current green }

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

Этап 2. Изменение цвета

На данном шаге можно изменить цветовые компоненты для всех пикселей изображения. Каждое числовое поле может содержать 257 (от  1 до 255) возможных значений. Для RGB-компонентов каждого пикселя в зависимости от значения в поле выполняются следующие действия:

  1. Если значение равно -1, соответствующий цветовой компонент не меняется.
  2. Если значение не равно -1, все найденные компоненты указанного цвета (красный, зеленый или синий) меняются в соответствии с введенным в поля значением. Значение 0 удаляет компонент, значение 255 устанавливает его максимальную интенсивность и т. д.

Этап 3. Градация серого (Шкала яркости)

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

  1. Average -> (Red + Green + Blue)/3.
  2. Human -> (0.21 * Red + 0.71 * Green + 0.07 * Blue).
  3. Average of minimum and maximum color components -> (Minimum (Red + Green + Blue) + Maximum (Red + Green + Blue))/2.
  4. Minimum -> Minimum (Red + Green + Blue).
  5. Maximum -> Maximum (Red + Green + Blue).

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


Этап 4. Сглаживание и резкость

Чтобы усложнить извлечение текста из CAPTCHA-изображений, в них добавляют шум в форме однопиксельных или многопиксельных точек, посторонних линий и пространственных искажений. При сглаживании изображения возрастает случайный шум, для устранения которого потом используются фильтры Bucket или Cutoff. В числовом поле Passes следует указать, сколько раз нужно применить соответствующую маску изображения перед переходом на следующий этап. Давай рассмотрим компоненты фильтра для сглаживания и повышения резкости. Доступны два типа масок изображения:

  1. Фиксированные маски. По умолчанию TesserCap имеет шесть наиболее популярных масок изображения. Эти маски могут сглаживать изображение или повышать резкость (преобразование Лапласа). Изменения отображаются сразу же после выбора маски с помощью соответствующих кнопок.
  2. Пользовательские маски изображения. Пользователь также может настроить пользовательские маски обработки изображений, вводя значения в числовые поля и нажимая кнопку Save Mask. если сумма коэффициентов в этих окошках меньше нуля, выдается ошибка и маска не применяется. При выборе фиксированной маски кнопку Save Mask использовать не требуется.

Этап 5. Вводим оттенки серого

На этом этапе обработки изображения его пиксели могут быть окрашены в широкий диапазон оттенков серого. Этот фильтр отображает распределение градаций серого в 20 бакетах (bucket)/диапазонах. Процент пикселей, окрашенных в оттенки серого в диапазоне от 0 до 12, указан в бакете (bucket) 0, процент пикселей, окрашенных в оттенки серого в диапазоне от 13 до 25, - в бакете (bucket) 1 и т. д. Пользователь может выбрать одно из следующих действий для каждого диапазона значений, соответствующих оттенкам серого:

  1. Оставить без изменения (Leave As Is).
  2. Заменить белым (White).
  3. Заменить черным (Black).

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

Этап 6. Настройка отсечения (cutoff)

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

If (pixel’s grayscale value <= Cutoff) pixel grayscale value = (0 OR 255) -> в зависимости, от того какая опция выбрана (<= или => : Set Every Pixel with value <=/=> Threshold to 0. Remaining to 255)

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

Этап 7: Обтесывание (chopping)

После применения сглаживающего, отсекающего, bucket- и других фильтров CAPTCHA-изображения все еще могут быть зашумлены однопиксельными или многопиксельными точками, посторонними линиями и пространственными искажениями. Принцип работы фильтра обтесывания заключается в следующем: если количество смежных пикселей, окрашенных в данный оттенок серого, меньше величины в числовом поле, фильтр обтесывания присваивает им значение 0 (черный) или 255 (белый) по выбору пользователя. При этом CAPTCHA анализируется как в горизонтальном, так и в вертикальном направлении.

Этап 8: Изменение ширины границы

Как утверждает автор утилиты, в ходе первоначальных исследований и разработки TesserCap он неоднократно отмечал, что, когда CAPTCHA-изображения имеют толстую граничную линию и ее цвет отличается от основного фона CAPTCHA, некоторые системы OCR не могут распознать текст. Данный фильтр предназначен для обработки граничных линий и их изменения. Граничные линии с шириной, которая указана в числовом поле, окрашиваются в черный или белый по выбору пользователя.

Этап 9: Инверсия серого оттенка

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

For(each pixel in CAPTCHA) new grayscale value = 255 – current grayscale value

Этап 10: Проверка распознавания капчи

Цель данного этапа - передать предварительно обработанное CAPTCHA-изображение OCR-системе для распознавания. Кнопка Solve берет изображение после фильтра инверсии серого, отправляет в OCR-систему для извлечения текста и отображает возвращенный текст в графическом интерфейсе. Если распознанный текст совпадает с текстом на капче, значит, мы правильно задали фильтр для предварительной обработки. Теперь можно перейти на вкладку опций и включить опцию предварительной обработки (Enable Image Preprocessing) для обработки всех последующих загруженных капч.

Распознаем капчи

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


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

Итак, запускаем утилиту и идем на сайт журнала. Видим список свежих новостей, заходим в первую попавшуюся и пролистываем до места, где можно оставить свой комментарий. Ага, коммент так просто не добавить (еще бы, а то бы давно уже всё заспамили) - нужно вводить капчу. Ну что ж, проверим, можно ли это автоматизировать. Копируем URL картинки и вставляем его в адресную строку TesserCap. Указываем, что нужно загрузить 12 капч, и нажимаем Start. Программа послушно загрузила 12 картинок и попыталась их распознать. К сожалению, все капчи оказались либо не распознаны, о чем свидетельствует надпись -Failed- под ними, либо распознаны неправильно. В общем, неудивительно, так как посторонние шумы и искажения не были удалены. Этим мы сейчас и займемся. Жмем правой кнопкой мыши на одну из 12 загруженных картинок и отправляем ее в систему предварительной обработки (Send To Image Preprocessor). Внимательно рассмотрев все 12 капч, видим, что они содержат только цифры, поэтому идем на вкладку опций и указываем, что распознавать нужно только цифры (Character Set = Numerics). Теперь можно переходить на вкладку Image Preprocessing для настройки фильтров. Сразу скажу, что поигравшись с первыми тремя фильтрами («Инверсия цвета», «Изменение цвета», «Градация серого») я не увидел никакого положительного эффекта, поэтому оставил там всё по дефолту. Я выбрал маску Smooth Mask 2 и установил количество проходов равным одному. Фильтр Grayscale buckets я пропустил и перешел сразу к настройке отсечения. Выбрал значение 154 и указал, что те пиксели, которых меньше, нужно установить в 0, а те, которых больше, в 255. Чтобы избавиться от оставшихся точек, включил chopping и изменил ширину границы до 10. Последний фильтр включать не было смысла, поэтому я сразу нажал на Solve.

На капче у меня было число 714945, но программа распознала его как 711435. Это, как видишь, совершенно неверно. В конечном итоге, как я ни бился, нормально распознать капчу у меня так и не получилось. Пришлось экспериментировать с pastebin.com, которые без проблем удалось распознать. Но если ты окажешься усидчивее и терпеливее и сумеешь получить корректное распознавание капч с сайт, то сразу заходи на вкладку опций и включай предварительную обработку изображений (Enable Image Preprocessing). Затем переходи на Main и, кликнув на Start, загружай свежую порцию капч, которые теперь будут предварительно обрабатываться твоим фильтром. После того, как программа отработает, отметь корректно/некорректно распознанные капчи (кнопки Mark as Correct/Mark as InCorrect). С этого момента можно посматривать сводную статистику по распознаванию с помощью Show Statistics. В общем-то, это своеобразный отчет о защищенности той или иной CAPTCHA. Если стоит вопрос о выборе того или другого решения, то с помощью TesserCap вполне можно провести свое собственное тестирование.

Результат проверки CAPTCHA на популярных сайтах

Веб-сайт и доля распознанных капч:

  • Wikipedia > 20–30 %
  • Ebay > 20–30 %
  • reddit.com > 20–30 %
  • CNBC > 50 %
  • foodnetwork.com > 80–90 %
  • dailymail.co.uk > 30 %
  • megaupload.com > 80 %
  • pastebin.com > 70–80 %
  • cavenue.com > 80 %

Заключение

CAPTCHA-изображения являются одним из самых эффективных механизмов по защите веб-приложений от автоматизированного заполнения форм. Однако слабые капчи смогут защитить от случайных роботов и не устоят перед целенаправленными попытками их решить. Как и криптографические алгоритмы, CAPTCHA-изображения, тщательно протестированные и обеспечивающие высокий уровень безопасности, являются самым лучшим способом защиты. На основе статистики, которую привел автор программы, я выбрал для своих проектов reCaptcha и буду рекомендовать ее всем своим друзьям - она оказалось самой стойкой из протестированных. В любом случае не стоит забывать, что в Сети есть немало сервисов, которые предлагают полуавтоматизированное решение CAPTCHA. Через специальный API ты передаешь сервису изображение, а тот через непродолжительное время возвращает решение. Решает капчу реальный человек (например, из Китая), получая за это свою копеечку. Тут уже никакой защиты нет. 🙂

Лучшие статьи по теме