Капче: Заработок на капче, распознавание, заработать на антикапче

Содержание

Заработок на капче, распознавание, заработать на антикапче

Captcha

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

Также важен регистр — большие и маленькие буквы нужно соблюдать.

Все пробелы между символами и словами важны.

Вводить нужно все слова через пробел, русские слова — в русской раскладке, английские — в английской.

Отказ от разгадывания по любой причине уменьшает КПД.

Оплачиваются все правильно введенные капчи, начисление вознаграждения — 1 раз в час.

Описание сервиса

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

Как заработать на капче

Правила очень просты – нажмите «Получить капчу» и введите по буквам все слова, изображенные на картинках, обычно их два, но может быть больше. Также нужно набирать все знаки препинания и символы – проценты, доллары, звездочки и т. п. Все отдельные слова нужно разделять пробелами, в том числе слова из разных картинок.

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

Кому подойдет эта работа

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

Сколько можно заработать

Ваш заработок на вводе капчи (антикапче) ограничен лишь временем – в среднем за час начинающий наборщик разгадывает до 300 капч, более опытный – до 500 и больше. За рабочий день можно заработать до 2-3 долларов, а за месяц – до 100 долларов.

Чем больше процент правильных разгадываний – тем выше оплата за 1000 капч, поддерживайте свой КПД выше 90%, чтобы получать максимальный доход.

Рекомендации при распознавании капч:

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

Как заработать на разгадывании капчи

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

Пошаговая инструкция по заработку на разгадывании капчи для новичков

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

  • Найти подходящий сервис, предлагающий данный вид получения дохода онлайн. Например, Адвего. Это удачный выбор, ведь биржа обладает безупречной репутацией, существует много лет, пользуется авторитетом. Цена на разгаданные капчи на Адвего будет зависеть от вашего КПД, чтобы получать максимально высокий доход нужно поддерживать его на уровне выше 90%;
  • Выбрав сервис, необходимо зарегистрироваться на нём. Предварительно заведите себе электронный кошелёк и банковскую карту. Адвего предлагает выводить полученные деньги на кошельки в Webmoney, Qiwi и карты различных банков;
  • На соответствующей странице сервиса нажимаем кнопку «Получить капчу»;
  • Вот тут вам потребуются внимательность, усидчивость и умение быстро находить нужную клавишу на клавиатуре! Перед вами будут появляться картинки с различными комбинациями букв, цифр, специальных символов. Причём зачастую в сложно различимом, размытом виде. Вводить все знаки нужно правильно, без ошибок;
  • Разгадали, ввели, отправили капчу — получаете следующую. И так, пока глаза не устанут и внимание не притупится;
  • Каждый час средства за разгаданные капчи будут поступать на ваш счёт, откуда вы сможете вывести их на свой кошелёк или карту.

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

На Адвего подсчитали, сколько можно заработать на капче. 100 ye в месяц. Немного, признаём, но ведь и работа считается одной из самых простых. Для студентов и школьников — неплохой вариант получить карманные деньги. На Адвего, кстати, ввод капчи может приносить бесплатные символы для проверки текстов на уникальность онлайн. Некоторые копирайтеры биржи пользуются такой возможностью.

9 альтернатив капче, которые не испортят ваш UX

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

С 2000 года капча — это что-то раздражающее, при этом очень надежное. Но сегодня это уже не так (по крайней мере «надежная» часть). Один стар-ап из Сан Франциско утверждает, что изобрел алгоритм, который может взломать капчу с 90% результатом. Алгоритм Google Maps по распознаванию адреса, привлек взлом капчи с 99,8% точностью. Роботы могут победить.

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

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

Капча, как предмет искусства

Важный, но мало обсуждаемый вопрос, это как подойти к решению такой веб-дилеммы. В то время, как некоторые фокусируются в основном на том, что не так с системой, мы предпочтем путь Уинстона Черчилля, который однажды написал: «Пессимист видит трудности при каждой возможности, оптимист в каждой трудности видит возможности.». Если бы он реинкарнировался в UX дизайнера, бывший премьер-министр Великобритании и лауреат Нобелевской премии по литературе, наверняка использовал бы этот подход с рациональным позитивом, подчеркивая хорошо-разработанную победу пользователю.

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

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

Вот 9 альтернатив капче для лучшего UX

1. Милая капча

Милая капча смело превращает текст в более интересную (хорошо, немного слащавую) игру.

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

2. Игровая капча

Попадите в список проверенных людей. Вы же человек, правда?

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

3. Биометрическая безопасность

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

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

4. Подтверждение по СМС

Двух — ступенчатая аутентификация эффективна против взломов, однако требует второго устройства, с не всегда хорошим UX.

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

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

5. Капча, в зависимости от активности пользователя

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

В ответ на проблемы UX традиционной капчи, такая капча задает вопрос: «Сколько будет стоит отказ пользователя вашей компании?». Ее адаптивная аутентификация отслеживает активность пользователей. Например, пользователь, который ведет себя как спам-робот получит сложную капчу, а пользователь, который больше напоминает человека, более простую. Умная и простая, но при этом все та же капча.

6. Метод ловушки

Скрытые поля обманывают роботов при заполнении того, чего обычные пользователи не видят. Я использовал это на Digital Telepathy в некоторых проектах с успехом.

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

7. Математическая капча

Оказывается, спам-боты не так уж сильны в математике. Простые вопросы, типа этих, могут помочь вычислить спамеров, сохраняя UX на уровне.

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

8. Взаимодоверяющая капча

Как быстро вы разглядите птицу на этой картинке? Вот настолько быстро эта капча может работать!

Это еще одно распознавание человека на основе изображения. Это дает 96% точности, что очень неплохо, к тому же работает в два раза быстрее, чем классическая капча. Взаимодоверяющая капча действует по такому принципу: показывает около девяти картинок и затем спрашивает три вопроса об этих картинках. Например, когда я первый раз попробовал, у меня спросили: «Найдите среди картинок напиток, деньги и космос». После того, как я успешно нашел их, мне сказали, что я хомосапиенс. Ура!

9. NoCAPTCHA от reCAPTCHA

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

NoCAPTCHA чуть больше года. Это следующий шаг от reCAPTCHA от Google. На самом деле, это копает канаву всему замыслу капчи.

Их решение? Показатели. Отслеживание данных пользователя покажет, человек он или нет, и просто предложит отметить это галочкой. UX в том, что NoCAPTCHA просит вас отметить галочку в поле «Я не робот». После этого — все, готово. Быстрый вариант еще проще. Он покажет вам изображение, скажем, кошки. Затем панель с изображениями под картинкой кошки. Нужно будет найти все картинки, связанные с кошкой (котята, тигры, львы, подумать только!) и тогда он поймет, да, вы человек.

Очевидность — лучшее решение

Открытая Аутентификация (OAuth) работает со сторонними организациями (думаю, Facebook, LinkedIn, Twitter), и проверяет вашу личность с помощью существующего профиля, который требует проверки подлинности, например, с помощью капчи, при самом первом использовании им вами. Результатом OAuth, как известно разработчикам, является «безопасный доступ», и наблюдается тенденция к распространению.

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

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

Текстовые капчи легко распознаются нейронными сетями глубокого обучения / Хабр

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

Что такое текстовая капча?

Капча (англ. “CAPTCHA”) — это тест на “человечность”. То есть задача, которую легко решает человек, в то время как для машины эта задача должна быть сложной. Зачастую используется текст со слипшимися буквами, пример на картинке ниже, также картинку дополнительно подвергают оптическим искажениям.

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

Полносверточная нейронная сеть

Если буквы “слиплись”, то их обычно очень трудно разделить эвристическими алгоритмами. Следовательно, нужно искать каждую букву в каждом месте картинки. С этой задачей справится полносверточная нейронная сеть. Полносверточная сеть — сверточная сеть без полносвязного слоя. На вход такой сети подается изображение, на выходе она выдает тоже изображение или несколько изображений (карты центров).

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

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

Для проверки применялась небольшая сеть с 2мя пуллингами, натреннированная на CPU. Убедившись, что идея хоть как то работает, я приобрел б/у видеокарту Nvidia GTX 760, 2GB. Это дало мне возможность тренировать более крупные сети для всех символов алфавита, а также ускорило обучение (примерно в 10 раз). Для тренировки сети использовалась библиотека Theano, на текущий момент уже не поддерживаемая.

Тренировка на генераторе

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

Финальная точность тренировки на сгенерированных капчах, как оказалось, в 2 раза ниже, по сравнению с тренировкой на реальных капчах. Вероятно, такие нюансы как степень пересечения символов, масштаб, толщина линий символов, параметры искажения и т. п., важны, и в генераторе эти нюансы воспроизвести не удалось. Сеть тренированная на сгенерированных капчах давала точность на реальных капчах около 10%, точность — какой процент капч распознался правильно. Капча считается распознанной, если все символы в ней распознаны правильно. В любом случае этот эксперимент показал, что метод рабочий, и требуется повысить точность распознавания.
Тренировка на реальном датасете

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

Здесь кружочки можно расставлять и двигать мышкой. Кружочком отмечается центр символа. Ручная разметка занимала 5-15 часов, однако есть сервисы, где за не большую плату размечают вручную датасеты. Однако, как оказалось, сервис Amazon Mechanical Turk не работает с российскими заказчиками. Разместил заказ на разметку датасета на известном сайте фриланса. К сожалению, качество разметки было не идеальным, поправлял разметку самостоятельно. Кроме того, поиск исполнителя занимает время (1 неделя) и также это показалось дорого: 30 долларов за 560 размеченных капч. От данного способа отказался, в итоге пришел к использованию сайтов ручного распознавания капч, где самая низкая стоимость 1 доллар за 2000 капч. Но полученный ответ там — это строка. Таким образом, ручной расстановки центров избежать не удалось. Более того, исполнители в таких сервисах допускают ошибки или вовсе действуют недобросовестно, печатая произвольную строку в ответе. В итоге приходилось проверять и исправлять ошибки.

Более глубокая сеть

Очевидно точность распознавания была недостаточна, поэтому возник вопрос подбора архитектуры. Меня интересовал вопрос “видит” ли один пиксель на выходном изображении весь символ на входном изображении:

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


Форма данного пятна близка к форме гауссовой функции. Форма получившегося пятна вызывает вопрос, почему пятно круглое, тогда как ядра сверток в сверточных слоях квадратные? (В сети использовались ядра сверток 3x3 и 5x5). Мое объяснение такое: это похоже на центральную предельную теорему. В ней, как и здесь, присутствует стремление к гауссовому распределению. Центральная предельная теорема утверждает, что для случайных величин, даже с разными распределениями, распределение их суммы равно свертке распределений. Таким образом, если мы сворачиваем любой сигнал сам с собой много раз, то по центральной предельной теореме результат стремится к гауссовой функции, а ширина гауссовской функции растет как корень из количества сверток (слоев). Если для такой же сети с константными весами посмотреть, где в выходном изображении значения пикселей больше нуля, то получается все таки квадратная область (см. рисунок ниже), размер этой области пропорционален сумме размеров сверток в сверточных слоях сети.


Раньше думал, что из-за ассоциативного свойства свертки две последовательные свертки 3x3 эквивалентны свертке 5x5 и потому, если свернуть 2 ядра 3x3 получится одно ядро 5x5. Однако, потом пришел к выводу, что это не эквивалентно хотя бы потому, что у двух сверток 3x3 9*2=18 параметров, а у одной 5x5 25 параметров, таким образом, у свертки 5x5 больше степеней свободы. В итоге, на выходе сети получается гауссова функция с шириной меньше суммы размеров сверток в слоях. Здесь ответил на вопрос какие пиксели на выходе подвержены влиянию одного пикселя на входе. Хотя изначально вопрос ставился обратный. Но оба вопросы эквивалентны, что можно понять из рисунка:


На рисунке можно представить, что это вид на изображения с боку или, что у нас высота изображений равна 1. Каждый из пикселей A и B имеет свою зону влияния на выходном изображении (обозначены синим цветом): для А это D-C, для B это C-E, на значения пикселя C влияют значения пикселей A и B и значения всех пикселей между A и B. Расстояния равны: AB = DC = CE (с учетом масштабирования: в сети присутствуют пуллинг слои, поэтому входное и выходное изображения имеют разные разрешения). В итоге, получается следующий алгоритм нахождения размера области видимости:

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

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

Здесь — входное изображение сети, — выходные изображения сети, — некоторая константа, которая подбирается экспериментально (). При такой минимизации вход и выход сети считаются переменными, а веса сети константами. Начальное значение переменной это изображение капчи, является начальной точкой оптимизации алгоритма градиентного спуска. При такой минимизации мы уменьшаем значения пикселей на входе изображения, при этом сдерживаем значения пикселей на выходном изображении, в результате оптимизации на входном изображении остаются только те пиксели, которые сеть использует в распознавании символа.
Что получилось:
Для символа “2”:

Для символа “5”:

Для символа “L”:

Для символа “u”:

Изображения слева — исходные изображения капч, изображения справа — это оптимизированное изображение . Квадратом на изображениях обозначена область видимости output>0, окружности на рисунке — это линии уровня Гауссовой функции области видимости. Малая окружность — уровень 35% от максимального значения, большая окружность — уровень 3%. Примеры показывают, что сеть видит в пределах своей области видимости. Однако, у символа “u” наблюдается выход за область видимости, возможно это частичное ложное срабатывание на символ “n”.

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

Синим цветом, поверх стрелок, показано количество изображений (feature maps). c- сверточный слой, p — max-pooling слой, зеленым цветом внизу показаны размеры ядер. В сверточных слоях используются ядра 3x3 и 5x5 без strade, пуллинг слой имеет патч 2x2. После каждого сверточного слоя есть ReLU слой (на рисунке не показан). На вход подается одно изображение, на выходе получется 24 (количество символов в алфавите). В сверточных слоях паддинг подобран таким образом, чтобы на выходе слоя размер изображения был таким же как и на входе. Паддинг добавляет нули, однако это никак не влияет на работу сети, потому что значение фонового пикселя капчи — 0, так как всегда берется негативное изображение (белые буквы по черному фону). Паддинг лишь незначительно замедляет работу сети. Так как в сети 2 пуллинг слоя, то разрешение изображения на выходе в 4 раза меньше разрешения изображения на входе, таким образом каждый пуллинг уменьшает разрешение в 2 раза, например, если на входе у нас капча размером 216x96 то на выходе будет 24 изображения размером 54x24.

Улучшения

Переход от решателя SGD к решателю ADAM дал заметное ускорение обучения, и финальное качество стало лучше. Решатель ADAM импортировал из модуля lasagne и использовал внутри theano-кода, параметр learning rate ставил 0.0005, регуляризация L2 была добавлена через градиент. Было замечено, что от тренировки к тренировке результат получается разный. Объясняю это так: алгоритм градиентного спуска застревает в недостаточно оптимальном локальном минимуме. Частично поборол это следующим образом: запускал тренировку несколько раз и выбирал несколько самых лучших результатов, затем продолжал их тренировать еще несколько эпох, после из них выбирал один лучший результат и уже этот единственный лучший результат долго тренировал. Таким образом удалось избежать застревания в недостаточно оптимальных локальных минимумах и финальное значение функции ошибок (loss) получалась достаточно малым. На рисунке показан график — эволюция значения функции ошибок:

По оси x — число эпох, по оси y — значение функции ошибок. Разными цветами показаны разные тренировки. Порядок обучения примерно такой:

1) запускаем 20 тренировок по 10 эпох
2) выбираем 10 лучших результатов (по наименьшему значению loss) и тренируем их еще 100 эпох
3) выбираем один лучший результат и продолжаем тренировать его еще 1500 эпох.

Это занимает около 12 часов. Конечно, для экономии памяти, данные тренировки проводились последовательно, например, в пункте 2) 10 тренировок проводились последовательно одна за другой, для этого провел модификацию решателя ADAM от Lasagne, чтобы иметь возможность сохранять и загружать состояние решателя в переменные.

Разбиение датасета на 3 части позволяло отслеживать переобучение сети:

1 часть: тренировочный датасет — исходный, на котором сеть обучается
2 часть: тестовый датасет, на котором сеть проверяется в процессе тренировки
3 часть: отложенный датасет, на нем проверяется качество обучения после тренировки

Датасеты 2 и 3 небольшие, в моем случае было по 160 капч в каждом, также по датасету 2 определяется оптимальный порог срабатывания, порог который устанавливается на выходное изображение. Если значение пикселя превышает порог, то в данном месте обнаружен соответствующий символ. Обычно оптимальное значение порога срабатывания находится в диапазоне 0.3 — 0.5. Если точность на тестовом датасете значительно ниже, чем точность на тренировочном датасете — это значит что произошло переобучение и тренировочный датасет необходимо увеличить. В случае, если эти точности примерно одинаковы, но не высокие, то архитектуру нейронной сети нужно усложнять, а тренировочный датасет увеличивать. Усложнять архитектуру сети можно двумя путями: увеличивать глубину или увеличивать ширину.

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

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

Эти искажения необходимо компенсировать.

Неудачные идеи

Всегда интересно почитать про чужие неудачи, опишу их здесь.

Существовала проблема малого датасета: для качественного распознавания требовался большой датасет, который требовалось разметить вручную (1000 капч). Мной предпринимались различные попытки каким-то образом обучить сеть качественно на малом датасете. Делал попытку обучать сеть на результатах распознавания другой сети. при этом выбирал только те капчи и те места изображений, в которых сеть была уверена. Уверенность определял по значению пикселя на выходном изображении. Таким образом можно увеличить датасет. Однако идея не сработала, после нескольких итераций обучения качество распознавания сильно ухудшилось: сеть не распознавала некоторые символы, путала их, то есть ошибки распознавания накапливались.

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

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

Пример работы автоэкодера:

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

Также был пример капчи, которая использовала цвет:

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

Результат

Примеры Точность Коментарий


42 % Капча Микрософт
, jpg
61 %
63 %
93 % капча mail.ru, 500x200, jpg
87 % капча mail.ru, 300x100, jpg
65 % Капча Яндекс, русские слова, gif
70 % капча Steam, png
82 % капча World Of Tanks, цифры, png

Что еще можно было бы улучшить

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

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

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

О капче и человечности — android.mobile-review.com

19 апреля 2019

Константин Иванов

Facebook

Twitter

Вконтакте

По материалам The Verge

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

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

Капча является изящным инструментом для обучения искусственного интеллекта, и потому любой тест может использоваться ограниченное время – что и предполагали его изобретатели с самого начала. Поскольку миллиарды таких загадок на грани возможностей ИИ постоянно решаются исследователями, мошенниками и самыми обычными людьми, в какой-то момент машинам суждено превзойти нас на этом поприще. Так, в 2014 году Google столкнула человеческий разум и один из своих алгоритмов машинного обучения в попытке разгадать один из примеров капчи с наиболее искаженными символами. Компьютер давал правильный результат в 99.8% случаев, а люди – лишь в 33%.

Затем Google перешла к использованию NoCaptcha ReCaptcha, механизма, который анализирует данные и поведение пользователя и дает ряду людей доступ просто по клику «Я не робот», а части из них приходится кликать на картинки. Но машины вновь дышат людям в затылок. Вот эти навесы над окнами – это витрины или нет? На самом деле они – финальный аккорд в битве людей против машин.

Джейсону Полакису, профессору Университета Иллинойса в Чикаго, принадлежит личная заслуга в недавнем повышении сложности капчи. В 2016 году он опубликовал доклад, в котором использовал доступные инструменты распознавания, включая собственный обратный поиск по изображениям Google, чтобы разгадать капчу от Google с 70-процентной точностью. Другие исследователи выбрали объектом аудиокапчу от Google, применив к ней собственные программы распознавания аудиоинформации от компании.

Машинное обучение в настоящее время немногим хуже людей справляется с базовыми задачами распознавания текста, изображений и голоса, как говорит Полакис. На самом деле, возможно, алгоритмы даже опережают нас: «Мы находимся на той стадии, когда усложнение задачи для программы ведет к тому, что она становится слишком сложной для многих людей. Нам нужны какие-то альтернативы, но конкретного плана еще нет».

Литература, посвященная капче, пестрит ложными посылками и странными попытками найти альтернативу распознаванию текста или изображений, в которой люди одинаково преуспевали бы, а машины терпели неудачу. Ученые пытались предложить пользователям распределить изображения людей по выражению лица, полу и этнической принадлежности (можно представить, чем это кончилось). Предлагались варианты капчи-викторины и даже капчи, основанной на детских стишках, популярных там, где якобы вырос тот или иной пользователь. Такие «культурологические» варианты нацелены на противостояние не только ботам, но и людям, работающим на удаленных «фермах», разгадывая капчу за копейки. Люди пытались обмануть распознавание изображений, например, предлагая пользователям распознать свиней, но предлагая им мультяшные изображения хрюшек в солнечных очках. Исследователи просили людей распознать изображения в наборе пятен – наподобие игры, которую мы помним из детства. Самый занятный вариант – это, наверное, тот, что в 2010 году использовал для капчи древние изображения на камне – петроглифы. Компьютерам не очень хорошо удавалось распознать жестовые наброски оленей, нацарапанных на стенах пещеры.

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

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

«Ограничителем для тестов выступают человеческие возможности, — говорит Полакис. – И речь не только о физических возможностях, тесты должны быть универсальными в плане языка и культуры. Задание должно быть равно выполнимо для живущего в Греции, в Чикаго, в Южной Африке, в Иране и в Австралии. И оно не должно зависеть от культурных особенностей и различий. И это серьезно ограничивает вас в том, что вы можете сделать. И нужно, чтобы человек мог решить задачу быстро, чтобы она не была слишком надоедлива».

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

Может быть, наша человечность не определяется тем, как мы решаем задачу – но тем, как мы существуем в этом мире – или в данном случае в Интернете. «Игровая капча, видео-капча, любой вид капчи, который можно придумать, в конце концов будет взломан», — говорит Шуман Гоземаджумдер, который вначале работал в Google на поприще борьбы с автоматизацией кликов, а ныне стал главным техническим директором компании Shape Security, занимающейся борьбой с ботами. Тестам он предпочитает то, что называется «постоянной аутентификацией», по сути, наблюдением за поведением пользователя в поисках признаков действий машины. «Реальный человек недостаточно хорошо контролирует свои моторные функции, он не может двигать  мышкой одинаково, совершая это действие снова и снова, даже если очень постарается, — говорит Гоземаджумдер. – В то время как бот будет действовать на сайте без применения мыши или будет двигать мышь очень выверенным образом, действиям человека присуща «энтропия», которую очень трудно имитировать».

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

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

В своей книге «Самый человечный человек» Брайан Кристиан проходит тест Тьюринга в качестве «подставного человека» и обнаруживает, насколько трудно в разговоре доказать свою человеческую природу.  С другой стороны, создатели ботов выяснили, что тесты легко пройти не за счет демонстрации ума или красноречия, а отшучиваясь невпопад вместо ответов на вопросы или делая опечатки. Бот, который выиграл конкурс Тьюринга в 2014 году, изображал украинского подростка с плохим знанием английского. В конце концов, человеку свойственно ошибаться. Возможно, что похожее будущее ждет и капчу – самый распространенный тест Тьюринга в мире.  Новые противники человека будут пытаться превзойти его не в распознавании текста и изображений, а в совершении ошибок, попадании мимо кнопок, они будут отвлекаться и переключаться между вкладками. «Думаю, народ начинает понимать, где может пригодиться приложение, имитирующее среднестатистического пользователя… или глупого пользователя», — говорит Гоземаджумдер.

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

«Ломай меня полностью!» Как одни алгоритмы генерируют капчу, а другие её взламывают

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

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

1.1. Текстовая капча

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

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

Рис. 1. Способы защиты капчи

1.1.1. Полые символы

В случае стратегии создания капчи «полые символы» для формирования каждого символа используются контурные линии.

Рис. 2. Полая капча

Такие символы трудно сегментировать, но они легко видны людям. К сожалению, этот механизм не так безопасен, как ожидалось. В исследованиях Гао [1] сверточная нейронная сеть успешно распознает от 36% до 89% изображений (в зависимости от типа искажений и обучающей выборки).

1.1.2. Перекрытие символов

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

Рис. 3. Перекрытие и CCT

Исследователям из Китая и Пакистана удалось взломать CTT с вероятностью от 27.1% до 53.2% [2].

1.1.3. Фоновые шумы

Рис. 4. Фоновые шумы

Google's reCAPTCHA, использующая изображения из Street View, ломается в 96% случаев [3].

1.1.4. Двухуровневая структура

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

Рис. 5. Двухуровневая структура

Гао [4] предложил подход к сегментации для разделения изображения капчи как по вертикали, так и по горизонтали, и добился успеха в 44.6% (9 с на изображение), используя свёрточную нейронную сеть.

1.2. Капча-изображение

1.2.1. Капча на основе отбора

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

Рис. 6. Различные примеры капчи на основе отбора

Голль [5] предложила использовать метод опорных векторов (SVM) для различения изображений кошек и собак в капче Asirra с вероятностью успешного распознавания 82.7%.

Команда Гао [6] использовала OpenCV для обнаружения лиц во FR-CAPTCHA. Удалось получить вероятность обнаружения от 8% до 42% с обработкой изображения менее, чем за 14 секунд. FaceDCAPTCH была распознана с вероятностью 48% в среднем за 6.2 секунды.

Сотрудники Колумбийского университета обошли reCAPTCHA и Facebook CAPTCHA с вероятностью 70.78% и 83.5% соответственно.

1.2.2. Капча на основе кликов

В 2008 году Ричард Чоу с коллегами [7] впервые предложили капчу, основанную на кликах. Она требует от пользователей нажимать на символы, находящиеся на сложном фоне в соответствии с подсказкой, как показано на Рис. 7.

Рис. 7. Капчи на основе кликов

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

1.2.3. Капча на основе перетаскивания

Капча на основе перетаскивания определяет, является ли пользователь человеком, через трек мыши, скорость перемещения указателя и время отклика.

Рис. 8. Капча на основе перетаскивания

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

1.3. Аудио/видеокапчи

1.3.1 Аудиокапча

Эта капча обычно рассматривается как альтернатива зрительной в случае пользователей с ослабленным зрением. Слушателям предлагается выполнить задание исходя из того, что они услышали, например, определить конкретный звук, например, звук колокольчика или фортепиано [8].

Рис. 9. Аудиокапча

Существует еще один тип капчи на основе аудио, в котором от пользователей требуется не просто слушать, а произносить. Например, Гао [9] предложил звуковую капчу (Рис. 9), в которой пользователь должен зачитать предложение, выбираемое случайным образом из книги. Сгенерированный аудиофайл анализируется, чтобы определить, является ли пользователь человеком.

Но и аудиокапча взламывается: ученые из Стэнфордского университета научились взламывать аудиокапчу с вероятностью 75%.

1.3.2 Видеокапча

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

Рис. 10. Сводная таблица. Типы капч

Японские исследователи использовали решение на базе HMM (скрытой марковской модели) и получили точность 31.75%.

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

В 2017 году Гао Хуан, Чжуан Лю и другие [10] построили 4 глубоких свёрточных нейронных сети с архитектурой, называемоей теперь DenseNet. Плотные блоки нейронных сетей чередовались со слоями skip-connection (Рис. 10). Вход каждого слоя в блоке являлся объединением выхода всех предыдущих слоев. Это отличало новую архитектуру от традиционных на тот момент нейросетей, где слои были соединены последовательно.

Рис. 11. DenseNet с тремя плотными блоками [11]

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

Примером вариации архитектуры DenseNet является нейросеть DFCR. Исходные изображения капчи размером 224x224 проходили через слой свертки и объединялись в пулы для вывода изображений размером 56x56. После этого поочередно соединялись 4 «плотных» блока, чередуясь с переходными слоями (Рис. 11). Структура переходного слоя позволяла уменьшить размерность карты признаков и ускорить вычисления.

Рис. 12: Архитектура DFCR на примере распознавания изображения с символами «W52S» [11]

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

Эксперименты показывают, что DFCR не только сохраняет основные преимущества DenseNet, но и снижает потребление памяти. Кроме того, точность распознавания капчи с фоновым шумом и наложенными друг на друга символами выше 99.9% [11].

Рис. 13. Процесс обучения генератора текстовых капч на GAN [12]

Генератор капч на GAN (генеративно-состязательная сеть) cостоит из двух частей: 1) сеть, создающая капчи, приближенные к оригинальным; 2) нейросеть, отличающая искусственную капчу от настоящей (солвер).

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

Рис. 14. Схема алгоритма. Сначала используется небольшой датасет реальных капч для обучения синтезатора капчи (1). Далее генерируются искусственные капчи (2) для обучения солвера (3). Совершенствование солвера (4) [12]

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

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

Рис. 15: Алгоритм тренировки солвера [12]

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

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

Результаты вероятности взлома :

  • Перекрытие (в зависимости от сложности) – от 25.1% до 65%
  • Поворот (15°, 30°, 45°, 60°) – 100%, 100%, 99.85%, 99.55%
  • Искажение – 92.9%
  • Эффект волны – 98.85%
  • Комбинация вышеперечисленных – 46.30%

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

Рис. 16. Обзор архитектуры

Свёрточная нейронная сеть представляет собой энкодер, извлекающий признаки из капчи. Исходное изображение представляется в виде линейного векторного пространства. Созданный энкодером вектор признаков обозначается fijc, где i и j – индексы местоположения на карте признаков, c – индекс каналов.

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

В традиционной модели sequence-to-sequence на каждом временном шаге на вход передается вектор f. Но узким местом стандартной модели является то, что вход является постоянным. Механизм внимания позволяет декодеру игнорировать неактуальную информацию, сохраняя при этом наиболее значимую информацию о векторе f. Различным частям вектора признаков присваиваются различные веса, так что модель может фокусироваться на каждом шаге на определенной части вектора, делая прогнозы более точными. Это является основной причиной того, что предложенный метод может распознавать отдельные символы без сегментации.

В экспериментах для декодирования использовалась сокращенная модель Inception-v3. Декодер состоял из LTSM-ячеек, каждая из которых содержала 256 скрытых нейронов. Количество ячеек LSTM равнялось максимальной длине строки капчи. Для всей структуры число обучаемых параметров составило 9 млн. В зависимости от исходного размера каждая капча масштабировалась так, чтобы короткая сторона находилась в диапазоне от 100 до 200 пикселей. На тренировочном этапе модель тренировалась по стохастическому градиентному спуску с использованием момента 0.9. Скорость обучения равнялась 0.004. На обучение было потрачено 200 эпох с размером батча 64.

Рис. 17. CCT-капчи

После каждой эпохи происходила проверка модели. Если производительность модели была лучше, чем у текущей лучшей модели, веса лучшей модели обновлялись. В качестве данных для эксперимента были собраны CCT-капчи (текст с перекрытием) (Рис. 17).

Для образца капчи в тестовом наборе полная прогнозируемая последовательность символов считалась правильно определенной только в том случае, если она была идентична ответу, помеченному вручную. Для выборки в 10 000 образцов (обучающая и тестовая в соотношении 3:1) вероятность успешного распознавания составила 42.7%. По мере увеличения количества образцов до 50 000, 100 000, 150 000 и 200 000 вероятность увеличилась до 87.9%, 94.5%, 97.4% и 98.3% соответственно.

Обучение с подкреплением использовалось для обхода Google reCAPTCHA v3 [14].

Взаимодействие бота со средой было смоделировано как марковский процесс принятия решений (MDP). MDP задавался кортежем (S, A, P, r), где S – конечное множество состояний, A – конечное множество действий, P – вероятность перехода между состояниями P(s, a, s'), r – вознаграждение, получаемое после перехода в состояние s' из состояния s с вероятностью P.

Целью похода было найти оптимальное правило π*, которое максимизирует ожидаемые вознаграждения в будущем. Предположим, что правило параметризируется набором весов w, таким, что π = π(s, w). Затем задача задается как

где γ – некоторая константа (discount factor), rt – вознаграждение в момент времени t.

Обучение с подкреплением оценивает градиенты по формуле

Для прохождения reCAPTCHA пользователь перемещает курсор, пока не установит флажок reCAPTCHA. В зависимости от этого взаимодействия система reCAPTCHA «наградит» пользователя баллом. Этот процесс был смоделирован как MDP, где пространство состояний S – это возможные позиции курсора на веб-странице, а пространство действий A = {вверх, влево, вправо, вниз}. Такой подход делает задачу похожей на задачу grid world.

Как показано на Рис. 18, отправной точкой является начальная позиция курсора, а целью является позиция reCAPTCHA. Для каждого теста отправная точка выбирается случайным образом из верхней правой или верхней левой области. Затем строится сетка, где каждый пиксель между начальной и конечной точками является возможным положением курсора. Размер ячейки c – количество пикселей между двумя последовательными позициями. Например, если курсор находится на позиции (x0, y0) и совершает действие влево, то следующей позицией будет (x0 – c, y0).

Рис. 18. Сетка в MDP [14]

В каждом тесте позиция курсора случайная, бот выполняет последовательность действий до достижения reCAPTCHA или предела T, где a и b – это высота и ширина сетки соответственно.

По окончании теста бот получает обратную связь от reCAPTCHA, как и любой обычный пользователь.

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

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

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

В экспериментах с discount factor γ = 0.99, скоростью обучения – 10-3 и размером батча 2000. капча взламывалась с вероятностью 97.4%.

Как можно заметить уже из этой статьи, машинное обучение имеет высокий порог вхождения, а ведь все, что было описано в публикации – только вершина айсберга. Если копать глубже, то скоро можно претендовать на звание джуниора по нейронным сетям =)

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

Среди подобных сервисов выделяется ruCaptcha. На сервисе есть тонкая настройка солвера: количество слов, регистр, цифры и/или буквы, язык (55 на выбор), математические действия и т. д.

Решаются следующие виды капч: обычная текстовая, ReCaptcha версий 2 и 3, GeeTest, hCaptcha, ClickCaptcha, RotateCaptcha, FunCaptcha, KeyCaptcha.

Взаимодействие с сервером происходит через API, то есть можно встроить решение в собственный продукт. Есть функция возврата за неправильное распознавание, а на возникшие вопросы отвечает техподдержка (адекватная в сравнении с конкурентами).

Конечно, за решение капч, сервис платит конкретным людям, готовым решать задания за небольшую плату. Соответственно эти деньги сервис берёт у клиентов, которым не приходится заниматься рутиной. Расценки на момент написания статьи были следующие: 1000 капч взламывались не более, чем за 44 ₽ (в среднем 7.5 с на капчу), 1000 рекапч за 160 ₽ (в среднем 32 с на капчу). То есть единая цена независимо от нагрузки и от того, сколько заплатили другие заказчики.

Для сравнения: один мидл-специалист по машинному обучению обойдется на рынке минимум в 150 000 ₽/мес.

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

Источники

[1] Gao, H., Wang, W., Qi, J., Wang, X., Liu, X., & Yan, J. (2013, November). The robustness of hollow CAPTCHAs. In Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security (pp. 1075-1086). ACM.

[2] Hussain, R., Gao, H., & Shaikh, R. A. (2017). Segmentation of connected characters in text-based CAPTCHAs for intelligent character recognition. Multimedia Tools and Applications

[3] Goodfellow, I. J., Bulatov, Y., Ibarz, J., Arnoud, S., & Shet, V. Multitdigit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks.

[4] Gao, H., Tang, M., Liu, Y., Zhang, P., & Liu, X. (2017). Research on the Security of Microsoft’s Two-Layer Captcha. IEEE Transactions on Information Forensics and Security, 12(7), 1671-1685.

[5] Golle, P. (2008, October). Machine learning attacks against the Asirra CAPTCHA. In Proceedings of the 15th ACM conference on Computer and communications security (pp. 535-542). ACM.

[6] The robustness of face-based CAPTCHAs. Haichang Gao, Lei Lei, Xin Zhou, Jiawei Li, Xiyang Liu. Institute of Software Engineering, Xidian University.

[7] Chow, R., Golle, P., Jakobsson, M., Wang, L., & Wang, X. (2008, February). Making captchas clickable

[8] The SoundsRight CAPTCHA: an improved approach to audio human interaction proofs for blind users. Jonathan Lazar, Jinjuan Heidi Feng, Tim Brooks, Genna Melamed, Jon Holman, Abiodun Olalere, Nnanna Ekedebe, and Brian Wentz

[9] Gao, H., Liu, H., Yao, D., Liu, X., & Aickelin, U. (2010, July). An audio CAPTCHA to distinguish humans from computers.

[10] G. Huang, Z. Liu, L. V. D Maaten, et al., Densely connected convolutional networks, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, (2017), 2261–2269

[11] CAPTCHA recognition based on deep convolutional neural network

[12] Yet Another Text Captcha Solver: A Generative Adversarial Network Based Approach Guixin

[13] An end-to-end attack on text CAPTCHAs

[14] Hacking Google reCAPTCHA v3 using Reinforcement Learning

Пример взлома простой капчи за 15 минут с помощью машинного обучения | by NeuroHive Ru

У меня нет времени разрезать каждую из 10,000 картинок в фотошопе. Это бы заняло несколько дней, а у меня осталось всего 10 минут. И нельзя просто автоматически разделить все картинки на 4 одинаковых куска. Потому что алгоритм задает символам случайное горизонтальное положение:

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

К счастью, это всё же можно автоматизировать. При обработке изображений часто приходится находить связные области из пикселей одного цвета. Границы таких областей называют контурами. В OpenCV есть встроенная функция findContours(), которую мы используем, чтобы найти связные области.

Итак, начнем с изображения капчи:

Преобразуем изображение в бинарное (это называется thresholding), чтобы было легче найти связные области:

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

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

Погодите-ка! Тут есть проблемка! Буквы в капче иногда накладываются друг на друга:

И наш алгоритм отмечает их как одну:

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

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

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

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

Вот так выглядит моя папка с буквой “W” после того, как я запустил свой алгоритм:

Капча - Руководство заказчика. Справка

Капча, вместе с правилом быстрые ответы, обеспечивают высокий уровень защиты от роботов.

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

В Яндекс.Толоке капчу обычно показывают раз на 10 страниц с заданиями, как правило, этого достаточно. Если задания выполняются быстро и капча мешает исполнителям, её можно показывать через каждые 20 страниц.

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

Не используйте, если:
  • в пулах мало заданий. Например, если задание — опрос на одну страницу, то капча не поможет контролировать качество, так как минимальная частота показа капчи — каждые 10 страниц заданий;

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

Внимание.

Поля Если и то в этом правиле — обязательные. Если не заполнить хотя бы одно, правило сохранить не получится.

Поле

Описание

Сколько последних значений учитывать

Количество последних раз, когда исполнителю была предложена капча.

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

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

Если

Условие, при котором выполняется действие в поле то:
  • количество ответов — количество вводов капчи (меньше или равно количеству в поле Сколько последних значений учитывать).

  • процент правильных ответов — доля правильных ответов (от 0 до 100).

  • процент неправильных ответов — доля неправильных ответов (от 0 до 100).

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

то

Действие, выполняемое при условии:

  • установить значение навыка из поля — сохранить долю правильных ответов исполнителя на капчу как значение навыка.

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

    Если доступ к заданиям блокируется на ограниченный срок (например, на 7 дней), после снятия блокировки история ответов исполнителя не сохраняется. Навык рассчитывается на основании новых ответов.

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

  • принять ответы пользователя в пуле — требует настройки отложенной приемки;

    Пригодится, если исполнитель выполняет большинство заданий качественно. Пример: толокер выполнил больше 80% заданий правильно и вас устраивает такой результат. Правило сработает автоматически — все ответы в пуле будут приняты.

  • установить значение навыка — присвоить навыку фиксированное значение;

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

Блокировка за неправильные ответы на капчу

Если исполнитель ввел капчу не меньше 5 раз и доля правильных ответов меньше 65%, он будет заблокирован и не сможет выполнять ваши задания 10 дней.


Исполнитель будет заблокирован после первого ввода капчи.

Официальный сайт CAPTCHA

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

Термин CAPTCHA (полностью автоматизированный общедоступный тест Тьюринга для различения компьютеров и людей) был придуман в 2000 году Луисом фон Ан, Мануэлем Блюмом, Николас Хоппер и Джон Лэнгфорд из Университета Карнеги-Меллон.

Бесплатная, безопасная и доступная реализация CAPTCHA доступна в проекте reCAPTCHA . Простые в установке плагины и элементы управления доступно для WordPress, MediaWiki, PHP, ASP.NET, Perl, Python, Java и многие другие среды. reCAPTCHA также поставляется с аудиотестом, чтобы убедиться, что слепые пользователи могут свободно перемещаться по вашему сайту. reCAPTCHA официально рекомендована Реализация CAPTCHA.

  • reCAPTCHA . Остановите спам и помогите оцифровывать книги одновременно! Показанные слова взяты непосредственно из старых книг, которые переводятся в цифровую форму.

  • СКВИГЛ-ПИКС . Наша новейшая CAPTCHA!

  • ESP-PIX . Скрипт CAPTCHA, который нам близок. Вместо того, чтобы вводить письма, вы подтверждаете себя как человек распознавая, какой объект является общим в наборе изображений. Это был первый пример CAPTCHA, основанного на распознавании изображений.

Наш новый сайт duolingo.com предлагает вам возможность изучать языки на 100% бесплатно, помогая переводить Интернет.

У

CAPTCHA есть несколько приложений для практической безопасности, включая (но не ограничиваясь):

  • Предотвращение спама в комментариях в блогах. Большинство блоггеров знакомы с программами, которые отправляют фальшивые комментарии, обычно с целью повышение рейтинга некоторых веб-сайтов в поисковых системах (например, «купите здесь копеечные акции»). Это называется спамом в комментариях. Используя CAPTCHA, только люди могут войти комментарии в блоге. Нет необходимости заставлять пользователей регистрироваться до того, как они введут комментарий, и никакие законные комментарии не принимаются. когда-либо потеряно!

  • Защита регистрации на сайте. Несколько компаний (Yahoo !, Microsoft и др.) Предлагают бесплатные услуги электронной почты. Еще несколько лет назад большинство этих сервисов подвергалось атакам определенного типа: «боты», которые подписывались на тысячи учетных записей электронной почты каждую минуту. Решением этой проблемы было использование CAPTCHA, чтобы гарантировать, что только люди получить бесплатные аккаунты. Как правило, бесплатные сервисы должны быть защищены CAPTCHA, чтобы предотвратить злоупотребления со стороны автоматизированные скрипты.

  • Защита адресов электронной почты от парсеров. Спамеры сканируют Интернет в поисках адресов электронной почты, размещенных в открытом виде. CAPTCHA - это эффективный механизм, позволяющий скрыть ваш адрес электронной почты от веб-парсеров. Идея состоит в том, чтобы потребовать от пользователей решите CAPTCHA, прежде чем показывать свой адрес электронной почты. Бесплатную и безопасную реализацию, использующую CAPTCHA для обфускации адреса электронной почты, можно найти на reCAPTCHA. ПочтаСкрыть.

  • Онлайн-опросы. В ноябре 1999 г. сайт http://www.slashdot.org опубликовал онлайн-опрос, в котором лучшая аспирантура по информатике (опасный вопрос в сети!).Как и в случае с большинством онлайн-опросы IP-адреса избирателей записывались, чтобы отдельные пользователи не могли проголосовать более одного раза. Однако студенты Карнеги-Меллона нашли способ набить бюллетени с помощью программ, которые голосовали за CMU тысячами раз. Оценка CMU начала быстро расти. На следующий день студенты Массачусетского технологического института написали свою программу, и результаты опроса стали соревнование между голосующими «ботами». Массачусетский технологический институт закончил с 21 156 голосами, Карнеги-Меллон с 21 032 голосами и все остальные школы. с менее чем 1000.Можно ли доверять результату любого онлайн-опроса? Нет, если только опрос не подтвердит, что только люди могут голосование.

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

  • Поисковые боты. Иногда желательно, чтобы веб-страницы оставались неиндексированными, чтобы другие не могли их найти их легко. Существует тег html для предотвращения чтения веб-страниц роботами поисковых систем. Однако тег не гарантировать, что боты не будут читать веб-страницу; он служит только для того, чтобы сказать «пожалуйста, никаких ботов». Боты поисковых систем, так как они обычно принадлежат крупным компаниям, уважайте веб-страницы, которые не хотят их впускать. Однако для того, чтобы по-настоящему гарантия того, что боты не зайдут на сайт, необходимы CAPTCHA.

  • Черви и спам. CAPTCHA также предлагают надежное решение против почтовых червей и спама: «Я принимайте электронные письма только в том случае, если я знаю, что за другим компьютером стоит человек ». Некоторые компании уже продвигают эту идею.

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

  • Доступность. CAPTCHA должны быть доступны. CAPTCHA, основанные исключительно на чтении текста или других задачи визуального восприятия - предотвращение доступа слабовидящих пользователей к защищенному ресурсу. Такие капчи может сделать сайт несовместимым с Разделом 508 в США. Любая реализация CAPTCHA должна позволять слепой пользователей, чтобы обойти барьер, например, разрешив пользователям выбирать звуковую или звуковую CAPTCHA.

  • Безопасность изображения. CAPTCHA изображения текста должны быть случайным образом искажены перед показом пользователю.Многие реализации CAPTCHA используют неискаженный текст или текст с незначительными искажениями. Эти реализации уязвимы для простых автоматических атак.

  • Безопасность скриптов. Создать безопасный код CAPTCHA непросто. Помимо того, что изображения не читаются компьютеров, система должна гарантировать, что не существует простых способов обойти это на уровне сценария. Общие примеры К уязвимостям в этом отношении относятся: (1) системы, которые передают ответ на CAPTCHA в виде обычного текста как часть сети форма.(2) Системы, в которых решение одной и той же CAPTCHA может использоваться несколько раз (это делает CAPTCHA уязвимым для так называемые «атаки повторного воспроизведения»). Большинство скриптов CAPTCHA, которые можно найти в свободном доступе в Интернете, уязвимы для этих типов атак.

  • Безопасность даже после широкого распространения. Существуют различные "CAPTCHA", которые будут небезопасными, если значительное количество сайтов начали их использовать. Примером такой головоломки является задание текстовых вопросов, таких как математический вопрос («что такое 1 + 1»).Поскольку можно легко написать парсер, который позволил бы ботам обойти это проверки, такие "CAPTCHA" основаны на том факте, что их используют немногие сайты, и поэтому у автора бота нет стимула для запрограммируйте своего бота на решение этой задачи. Настоящие CAPTCHA должны быть безопасными даже после значительного количества веб-сайтов. принять их.

  • Стоит ли делать собственную капчу? В общем, создание собственного сценария CAPTCHA (например, с использованием PHP, Perl или .Net) - плохая идея, так как есть много ошибок. режимы.Мы рекомендуем вам использовать хорошо протестированная реализация, такая как reCAPTCHA.

Иногда слухи, что спамеры используют порнографические сайты для решения CAPTCHAs: капча изображения отправляются на порносайт, и порно пользователи сайта спросил решить CAPTCHA, прежде чем он сможет увидеть порнографические изображения. Это не проблема безопасности для CAPTCHA . Хотя может случиться так, что некоторые спамеры используют порно сайтов для атаки CAPTCHA, ущерб, который это может нанести, крошечный (настолько крошечный, что мы даже не заметили вмятины!).В то время как написать бота, который миллионы раз в день злоупотребляет незащищенным сайтом, перенаправляя CAPTCHA для решения людьми, просматривающими порнография только позволит спамерам злоупотреблять системы несколько тысяч раз в день. Экономика этой атаки просто не складывается: каждый раз, порно шоу сайта проверки по слову перед порно изображения, они рискуют потерять клиента на другой сайт, который не делает этого.

Тесты

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

  • Луис фон Ан, Бен Маурер, Колин Макмиллен, Дэвид Абрахам и Мануэль Блюм. reCAPTCHA: распознавание персонажей с помощью средств веб-безопасности.В г. Наука.

  • Дженнифер Там, Иржи Симса, Шон Хайд и Луис фон Ан. Взлом аудио CAPTCHA. В достижениях в системах обработки нейронной информации (НИПС).

  • Луис фон Ан, Мануэль Блюм и Джон Лэнгфорд. Рассказывая Люди и компьютеры автоматически разделяются. В Связь с ACM .

  • Луис фон Ан, Мануэль Блюм, Николас Хоппер и Джон Лэнгфорд. CAPTCHA: Использование сложных задач искусственного интеллекта для обеспечения безопасности.В Еврокрипт .

  • Кумар Челлапилла и Патрис Ю. Симард. Использование машинного обучения, чтобы сломать человека Доказательства взаимодействия (HIP). В NIPS . (Объясняет, как разбить простые CAPTCHA, для которых сегментирование символов несложно.)

  • Грег Мори и Джитендра Малик. Распознавание объектов в состязательном беспорядке: нарушение визуального восприятия CAPTCHA. В CVPR . (Объясняет, как взломать простую CAPTCHA.)

  • Google Tech Talk о CAPTCHA и человеческих вычислениях.

Что такое капча? - Dictionary.com

Везде, где мы идем в Интернет, мы встречаем CAPTCHA, те искаженные слова, которые блокируют или разрешают запись на веб-сайтах. Вам нужно разместить объявление на Craigslist или войти в электронную почту с нового устройства? Вы можете встретить CAPTCHA. Хотите прокомментировать статью или сообщение в блоге? CAPTCHA.

Итак, почему они у нас?

Как работают капчи?

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

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

Почему они называются CAPTCHA ?

Термин CAPTCHA впервые был использован компьютерными учеными в Университете Карнеги-Меллона в начале 2000-х годов. CAPTCHA на самом деле является аббревиатурой от «Полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить компьютеры от людей.«Это полный рот.

Это также довольно простое название, за исключением части теста Тьюринга. Что такое тест Тьюринга ? Алан Тьюринг (1912–54) был влиятельным английским компьютерным теоретиком, который изобрел своего тезку, тест Тьюринга, который люди используют, чтобы проверить, может ли машина разговаривать как человек. CAPTCHA на самом деле является перевернутым тестом Тьюринга, с помощью которого машина проверяет, являетесь ли вы человеком или нет, но основной принцип остается.

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

Как вы думаете, боты будут улавливать следующие шаги в технологии CAPTCHA?

Почему CAPTCHA стали такими сложными

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

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

Все эти навесы, которые могут быть, а могут и не быть витринами? Это финал гонки вооружений человечества с машинами.

Поскольку CAPTCHA - такой элегантный инструмент для обучения ИИ, любой конкретный тест может быть только временным, что изначально признали его изобретатели. Со всеми этими исследователями, мошенниками и обычными людьми, решающими миллиарды головоломок на пороге возможностей ИИ, в какой-то момент машины должны были пройти мимо нас. В 2014 году Google противопоставил один из своих алгоритмов машинного обучения людям при решении самых искаженных текстовых CAPTCHA: компьютер прошел тест правильно 99.8 процентов времени, в то время как люди получали всего 33 процента.

Затем Google перешел на NoCaptcha ReCaptcha, которая отслеживает пользовательские данные и поведение, позволяя некоторым людям пройти через них, нажав кнопку «Я не робот», и предоставляет другим метки изображений, которые мы видим сегодня. Но машины снова догоняют. Все эти навесы, которые могут быть витринами, а могут и не быть? Это финал гонки вооружений человечества с машинами.

Джейсон Полакис, профессор информатики в Университете Иллинойса в Чикаго, лично отмечает недавнее увеличение сложности CAPTCHA.В 2016 году он опубликовал статью, в которой использовал стандартные инструменты распознавания изображений, включая собственный поиск Google по обратным изображениям, для решения CAPTCHA Google с изображениями с точностью 70%. Другие исследователи справились с задачами Google Audio CAPTCHA, используя собственные программы распознавания звука.

По словам Полакиса, сегодня машинное обучение

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

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

Литература по CAPTCHA изобилует фальстартами и странными попытками найти что-то, кроме текста или распознавания изображений, в чем люди универсально хороши, а машины с которыми борются. Исследователи пытались попросить пользователей классифицировать изображения людей по выражению лица, полу и этнической принадлежности.(Вы можете себе представить, насколько хорошо это прошло.) Были предложения по викторинам CAPTCHA и CAPTCHA, основанным на детских стишках, распространенных в той местности, где якобы вырос пользователь. Такие культурные CAPTCHA нацелены не только на ботов, но и на людей, работающих на зарубежных фермах CAPTCHA, решающих головоломки за доли цента. Люди пытались заблокировать распознавание изображений, прося пользователей идентифицировать, скажем, свиней, но при этом создавая карикатуры на свиней и давая им солнцезащитные очки. Исследователи попросили пользователей идентифицировать объекты в пятнах, похожих на Magic Eye.В 2010 году исследователи предложили использовать CAPTCHA для индексации древних петроглифов, поскольку компьютеры не очень хорошо расшифровывают жесты оленей, нацарапанные на стенах пещер.

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

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

«Тесты ограничены человеческими возможностями», - говорит Полакис. «Дело не только в наших физических возможностях, вам нужно что-то, что [может] кросс-культурное, кросс-языковое. Вам нужно что-то вроде задачи, которая подходит для кого-то из Греции, кого-то из Чикаго, кого-то из Южной Африки, Ирана и Австралии одновременно. И он должен быть независимым от культурных сложностей и различий. Вам нужно что-то, что легко для обычного человека, это не должно быть привязано к определенной подгруппе людей, и в то же время это должно быть сложно для компьютеров.Это очень ограничивает то, что вы на самом деле можете сделать. И это должно быть что-то, что человек может делать быстро, и это не слишком раздражает ».

Выяснение того, как исправить эти викторины с расплывчатыми изображениями, быстро вводит вас в область философии: какое универсальное человеческое качество можно продемонстрировать машине, но которое никакая машина не может имитировать? Что значит быть человеком?

Но, возможно, наша человечность измеряется не тем, как мы выполняем задачу, а тем, как мы перемещаемся по миру - или, в данном случае, через Интернет.Игровые CAPTCHA, видео CAPTCHA, любой тест CAPTCHA, который вы придумаете, в конечном итоге будет сломан, говорит Шуман Гхосемаджумдер, который ранее работал в Google по борьбе с мошенничеством с кликами, прежде чем стать техническим директором компании Shape Security, занимающейся обнаружением ботов. Вместо тестов он предпочитает так называемую «непрерывную аутентификацию», по сути наблюдая за поведением пользователя и ища признаки автоматизации. «Настоящий человек не очень хорошо контролирует свои двигательные функции, поэтому он не может двигать мышью одним и тем же способом более одного раза при нескольких взаимодействиях, даже если они очень стараются», - говорит Гхосемаджумдер.«Хотя бот будет взаимодействовать со страницей, не двигая мышью или очень точно перемещая мышь, человеческие действия имеют« энтропию », которую трудно подделать, - говорит Гхосемаджумдер.

Команда Google, занимающаяся CAPTCHA, думает в том же духе. Последняя версия reCaptcha v3, анонсированная в конце прошлого года, использует «адаптивный анализ рисков» для оценки трафика в зависимости от того, насколько он кажется подозрительным; Затем владельцы веб-сайтов могут решить бросить вызов сомнительным пользователям, например запрос пароля или двухфакторную аутентификацию.Google не сказал бы, какие факторы влияют на эту оценку, кроме того, что Google наблюдает, как выглядит группа «хорошего трафика» на сайте, по словам Сай Хормаи, менеджера по продукту в команде CAPTCHA, и использует это для определения « плохое движение. " Исследователи безопасности говорят, что это, скорее всего, сочетание файлов cookie, атрибутов браузера, шаблонов трафика и других факторов. Одним из недостатков новой модели обнаружения ботов является то, что она может сделать навигацию в Интернете, сводя к минимуму слежку, раздражающим занятием, поскольку такие вещи, как VPN и расширения для защиты от отслеживания, могут пометить вас как подозрительные и затруднительные.

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

Аарон Маленфант, руководитель группы инженеров Google CAPTCHA, говорит, что отказ от тестов Тьюринга призван обойти конкуренцию, которую люди продолжают проигрывать. «По мере того как люди вкладывают все больше и больше средств в машинное обучение, эти задачи будут становиться все сложнее и сложнее для людей, и именно поэтому мы запустили CAPTCHA V3, чтобы опередить эту кривую.Маленфант говорит, что через пять-десять лет проблемы с CAPTCHA, скорее всего, вообще не будут жизнеспособны. Вместо этого большая часть Интернета будет иметь постоянный секретный тест Тьюринга, работающий в фоновом режиме.

В своей книге The Most Human Human Брайан Кристиан принимает участие в конкурсе по тесту Тьюринга в качестве человеческого противника и обнаруживает, что на самом деле довольно сложно доказать свою человечность в разговоре. С другой стороны, создатели ботов обнаружили, что это легко пройти, не будучи самым красноречивым или умным собеседником, а уклоняясь от вопросов, шутками без смысла, допуская опечатки или в случае с ботом, который выиграл соревнование Тьюринга в 2014 году. , утверждающий, что он 13-летний украинский мальчик, плохо владеющий английским языком.В конце концов, человеку свойственно ошибаться. Возможно, подобное будущее ожидает CAPTCHA, наиболее широко используемый тест Тьюринга в мире - новая гонка вооружений, чтобы не создавать ботов, которые превосходят людей по маркировке изображений и синтаксическому анализу текста, а ботов, которые делают ошибки, пропускают кнопки, отвлекаются. и переключать вкладки. «Я думаю, что люди понимают, что существует приложение для моделирования обычного человека-пользователя ... или глупых людей», - говорит Гхосемаджумдер.

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

Что такое капча? - Panda Security

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

Что означает CAPTCHA?

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

Как работает капча?

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

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

Кто использует CAPTCHA?

CAPTCHA используется на различных веб-сайтах, которые хотят убедиться, что пользователь не робот. В первую очередь, CAPTCHA используется для проверки онлайн-опросов. В 1999 году Slashdot провел опрос, в котором посетителям предлагалось выбрать аспирантуру с лучшей программой по информатике.Студенты из университетов Карнеги-Меллона и Массачусетского технологического института создали ботов или автоматизированные программы для многократного голосования за свои школы.

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

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

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

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

У CAPTCHA работает?

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

Вот несколько способов, которыми киберпреступники могут обмануть пользователей Интернета:

  • Афера содержит интригующие сообщения в вашей ленте новостей. Бывший. КИМ КАРДАШЯН НИКОГДА НЕ ПРОСМОТРЕЛА ВИДЕО.После того, как вы нажмете на это сообщение, вам нужно будет ввести поддельный код CAPTCHA и перейти на целевую страницу. В это время ваш аккаунт захватывает вирус.
  • Афера содержит диковинное название ex. ДЕВУШКА СЛУЧАЙНО ПИСЫВАЕТ МАМУ ВМЕСТО ДРУГА, который побуждает пользователей прочитать историю. Ссылка ведет на сайт фейковых новостей, где может начаться взлом программного обеспечения.

Как CAPTCHA предотвращает мошенников

CAPTCHA имеет множество приложений для обеспечения безопасности веб-сайтов и пользователей.К ним относятся, но не ограничиваются:

  • Защита адресов электронной почты от мошенников
  • Защитить регистрации на сайте
  • Защищает онлайн-опрос
  • Защищает от почтовых червей / нежелательной почты
  • Предотвращает атаки по словарю
  • Предотвращает рассылку спама в комментариях в блогах

История CAPTCHA

Термин CAPTCHA впервые был использован компьютерными учеными из Университета Карнеги-Меллона в 2000 году. Хотя аббревиатура имеет смысл (автоматизированный тест для различения компьютеров и людей), часть теста Тьюринга может быть вам незнакома.

Тест Тьюринга

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

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

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

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

Как обеспечить безопасность кодов CAPTCHA

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

.

Защищенные изображения: Изображения должны произвольно искажаться при представлении пользователю.С небольшими искажениями изображение более уязвимо для автоматических атак.

Уникальных CAPTCHA: Если бы каждый сайт использовал одинаковые коды CAPTCHA, хакеры могли бы уловить и создать ботов, которые бы обходили этот тест. Вот почему важно время от времени менять тип CAPTCHA и избегать распространенных математических уравнений, таких как 1 + 1.

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

Сюда входят:

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

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

Если владелец веб-сайта или блога решит отказаться от использования CAPTCHA, у них будут ежедневные серьезные проблемы с зарегистрированными пользователями спама и комментариями. Многие спамеры или программы для рассылки спама ищут в системе взломы, чтобы взломать ваш сайт. Согласно исследованиям экспертов Microsoft Кумару Челлапилле и Патрису Симарду, люди имеют около 80 процентов успеха при решении любой CAPTCHA, но машины имеют только 0.01 процент успеха.

Таким образом, использование CAPTCHA полезно для обеспечения безопасности вашего сайта. Хотя идея создания собственной CAPTCHA кажется идеальной, мы не рекомендуем ее создавать из-за множества режимов сбоя, с которыми вы можете столкнуться. Мы рекомендуем веб-сайт, который создает его для вас, например reCAPTCHA от Google. Чтобы обеспечить безопасность вашего устройства в дополнение к CAPTCHA, обязательно загрузите антивирус, чтобы оставаться в безопасности.

Источники:

Словарь.com | Как работает материал | Digital Unite | Captcha |

Определение Captcha от Merriam-Webster

капт · ча | \ ˈKap-chə \

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

Что это такое и почему в них трудно войти

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

Почему смешное название? CAPTCHA - это аббревиатура от «Полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить компьютеры от людей». Тест Тьюринга - это тест на интеллект в компьютере или программе.

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

Как работают капчи?

Наиболее распространенные CAPTCHA отображают серию искаженных букв и цифр. Участник должен ввести эти буквы и цифры в поле, прежде чем форма будет успешно отправлена.

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

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

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

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

Почему капчи такие хитрые?

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

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

Понимание методов, которые используют спамеры для обхода CAPTCHA, проливает свет на то, почему эти коды CAPTCHA становится все труднее вводить.Вот некоторые из самых распространенных:

Определение CAPTCHA | PCMag

( C полностью A автоматически P ublic T uring test, чтобы определить компьютеры C и H umans A часть) Категория технологий, используемых для проверки того, что человек совершает онлайн-транзакцию, а чем компьютер. Разработанный в Университете Карнеги-Меллона, случайные слова или буквы отображаются в замаскированном и искаженном виде, чтобы их могли расшифровать люди, но не программы.Пользователей просят ввести текст, который они видят, чтобы подтвердить, что они люди.

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

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

Другие подходы были включены для проверки человечности; например, отображение нескольких изображений и вопрос о том, какой объект среди них является общим, например, дерево или собака. Или может отображаться фраза, и пользователя просят повторно ввести слово; например, «Введите второе слово во фразе». См. ReCAPTCHA, Я не робот, атака по словарю и тест Тьюринга.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *