CAPTCHA - CAPTCHA

Эта CAPTCHA (версия 1) smwm скрывает свое сообщение от компьютерной интерпретации, скручивая буквы и добавляя небольшой градиент цвета фона.

CAPTCHA , ( / к æ стр . ə / , надуманный акроним для «Полностью автоматизированной Public Turing теста сказать компьютерам и людям») представляет собой тип запрос-ответ тест , используемый в вычислении , чтобы определить , является ли пользователь человек .

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

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

История

С первых дней Интернета пользователи хотели сделать текст неразборчивым для компьютеров. Первыми такими людьми были хакеры , которые писали о деликатных темах на интернет-форумах, которые, как им казалось, автоматически отслеживались по ключевым словам. Чтобы обойти такие фильтры, они заменяли слово похожими символами. HELLO может стать |-|3|_|_()или )-(3££0, как и многие другие варианты, так что фильтр не сможет обнаружить их все . Позже это стало известно как leetspeak .

Одно из первых коммерческих применений CAPTCHA было в тесте Гаузебека – Левчина . В 2000 году idrive.com начал защищать свою страницу регистрации с помощью CAPTCHA и подготовился подать патент на эту, казалось бы, новую технологию. В 2001 году PayPal использовала такие тесты как часть стратегии предотвращения мошенничества, в которой они просили людей «перепечатать искаженный текст, который программы трудно распознать». Соучредитель PayPal и технический директор Макс Левчин помог коммерциализировать это раннее использование.

Популярная технология CAPTCHA, reCAPTCHA , была приобретена Google в 2009 году. Помимо предотвращения мошенничества с ботами для своих пользователей, Google использовал технологии reCAPTCHA и CAPTCHA для оцифровки архивов The New York Times и книг из Google Книг в 2011 году.

Заявления об авторстве

Две команды заявили, что первыми изобрели CAPTCHA, широко используемые сегодня в сети. Первая команда, состоящая из Марка Д. Лиллибриджа, Мартина Абади , Кришны Бхарата и Андрея Бродера , в 1997 году использовала CAPTCHA в AltaVista, чтобы помешать ботам добавлять унифицированный указатель ресурсов (URL) в свою поисковую систему . В поисках способа сделать свои изображения устойчивыми к атакам оптического распознавания символов (OCR), команда изучила руководство к своему сканеру Brother , в котором были рекомендации по улучшению результатов OCR (аналогичные шрифты, простой фон и т. Д.). Команда создавала головоломки, пытаясь смоделировать то, что, по утверждению руководства, могло вызвать плохое распознавание текста.

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

Споры об изобретательстве были разрешены существованием заявки на патент с датой приоритета 1997 года, поданной Эраном Решефом, Гили Раананом и Эйлоном Соланом (вторая группа), которые работали в Sanctum над брандмауэром безопасности приложений . В их патентной заявке подробно говорится, что «Изобретение основано на применении человеческого преимущества в применении сенсорных и когнитивных навыков для решения простых задач, которые оказываются чрезвычайно сложными для компьютерного программного обеспечения. Такие навыки включают, но не ограничиваются обработкой сенсорной информации, такой как идентификация. объектов и букв в шумной графической среде ". Лиллибридж, Абади, Бхарат и Бродер (первая группа) опубликовали свой патент в 1998 году. Оба патента предшествуют другим публикациям на несколько лет, хотя в них не используется термин CAPTCHA, они подробно описывают идеи и точно отображают графические CAPTCHA, используемые в Интернет сегодня.

Характеристики

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

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

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

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

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

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

Отношение к ИИ

Хотя CAPTCHA используются в основном по соображениям безопасности, они также служат эталонной задачей для технологий искусственного интеллекта. Согласно статье Ана, Блюма и Лэнгфорда, «любую программу, которая проходит тесты, сгенерированные CAPTCHA, можно использовать для решения сложной нерешенной проблемы ИИ».

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

Доступность

Многие веб-сайты требуют ввода CAPTCHA при создании учетной записи, чтобы предотвратить спам.

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

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

Аудиокапча позволяет слепым пользователям читать текст, но все же мешает слепым и глухим. По данным sense.org.uk, около 4% людей старше 60 лет в Великобритании имеют нарушения как зрения, так и слуха . В Великобритании около 23 000 человек с серьезными нарушениями зрения и слуха. По данным Национального консорциума технической помощи для слепоглухих детей и подростков (NTAC), число слепоглухих детей в США увеличилось с 9 516 до 10 471 в период с 2004 по 2012 год. Университет Галлодета приводит оценки с 1980 по 2007 год, которые предполагают более 35 000 полностью слепоглухих взрослых в США. Оценки слепоглухих в значительной степени зависят от степени нарушения, использованной в определении.

Таким образом, использование CAPTCHA исключает использование небольшого числа людей значительных подмножеств таких распространенных веб-сервисов, как PayPal, Gmail, Orkut, Yahoo !, многие системы форумов и веб-журналов и т. Д.

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

Метод улучшения CAPTCHA для облегчения работы с ним был предложен ProtectWebForm и назван «Smart CAPTCHA». Разработчикам рекомендуется сочетать CAPTCHA с JavaScript. Поскольку большинству ботов сложно анализировать и выполнять JavaScript, был предложен комбинаторный метод, который заполняет поля CAPTCHA и скрывает изображение и поле от человеческого глаза.

Один альтернативный метод включает отображение пользователю простого математического уравнения и требование от пользователя ввести решение в качестве проверки. Хотя их намного легче победить с помощью программного обеспечения, они подходят для сценариев, в которых графические изображения не подходят, и обеспечивают гораздо более высокий уровень доступности для слепых пользователей, чем CAPTCHA на основе изображений. Иногда их называют MAPTCHA (M = «математический»). Однако это может быть затруднительно для пользователей с когнитивным расстройством.

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

Обход

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

Атаки на основе машинного обучения

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

Пример запроса reCAPTCHA от 2007 года, содержащий слова «после обнаружения». Волнистость и горизонтальный ход были добавлены, чтобы повысить сложность взлома CAPTCHA с помощью компьютерной программы.
CAPTCHA обычно имеет текстовое поле прямо под ним, где пользователь должен заполнить текст, который он видит. В данном случае «sclt ..was here».

В октябре 2013 года компания искусственного интеллекта Vicarious заявила, что она разработала общий алгоритм решения CAPTCHA, который позволяет решать современные CAPTCHA со скоростью распознавания символов до 90%. Однако Луис фон Ан , пионер ранней CAPTCHA и основатель reCAPTCHA, выразил скептицизм, заявив: «Мне сложно произвести впечатление, так как я вижу их каждые несколько месяцев». Он отметил, что с 2003 года было сделано 50 заявлений, аналогичных заявлению Vicarious.

В августе 2014 года на конференции Usenix WoOT Bursztein et al. представил первый общий алгоритм решения CAPTCHA, основанный на обучении с подкреплением, и продемонстрировал его эффективность по сравнению со многими популярными схемами CAPTCHA. Они пришли к выводу, что схемы CAPTCHA, основанные на искажении текста, следует считать небезопасными при продвижении вперед.

В октябре 2018 года на конференции ACM CCS'18 Ye et al. представили атаку, основанную на глубоком обучении, которая может успешно решить все 11 текстовых схем капчи, которые использовались на топ-50 популярных веб-сайтах в 2018 году, с высоким показателем успеха. Их работа показывает, что эффективный решатель CAPTCHA можно обучить, используя всего 500 реальных CAPTCHA, показывая, что можно быстро запустить атаку с использованием новой схемы текстовой CAPTCHA.

Дешевый или невольный человеческий труд

Можно подорвать CAPTCHA, передавая их в потогонную мастерскую людей-операторов, которые наняты для декодирования CAPTCHA. В документе от 2005 года рабочей группы W3C говорится, что такой оператор может проверять сотни данных в час. В 2010 году Калифорнийский университет в Сан-Диего провел крупномасштабное исследование ферм CAPTCHA и обнаружил, что розничная цена решения одного миллиона CAPTCHA составляет всего 1000 долларов.

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

Аутсорсинг платных услуг

Есть несколько интернет-компаний, таких как 2Captcha и DeathByCaptcha, которые предлагают услуги по решению CAPTCHA, поддерживаемые человеком и машиной, по цене от 0,50 доллара США за 1000 решенных CAPTCHA. Эти службы предлагают API-интерфейсы и библиотеки, которые позволяют пользователям интегрировать обход CAPTCHA в инструменты, которые CAPTCHA были разработаны для блокировки в первую очередь.

Небезопасная реализация

Ховард Йенд выявил две проблемы реализации плохо спроектированных систем CAPTCHA:

  • Некоторые системы защиты CAPTCHA можно обойти без использования OCR, просто повторно используя идентификатор сеанса известного изображения CAPTCHA.
  • CAPTCHA, размещенные на общих серверах, также представляют проблему; проблема безопасности на другом виртуальном хосте может сделать сайт эмитента CAPTCHA уязвимым.

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

Известные атаки

Некоторые известные атаки на различные схемы CAPTCHA включают:

  • Mori et al. опубликовал статью в IEEE CVPR'03, в которой подробно описывается метод защиты от одной из самых популярных CAPTCHA, EZ-Gimpy, которая оказалась на 92% точной. Было также показано, что тот же метод побеждает более сложную и менее широко используемую программу Gimpy в 33% случаев. Однако существование реальных реализаций их алгоритмов в настоящее время неизвестно.
  • PWNtcha добилась значительного прогресса в борьбе с часто используемыми CAPTCHA, что способствовало общему переходу к более сложным CAPTCHA.
  • Podec, троян, обнаруженный охранной компанией Kaspersky, пересылает запросы CAPTCHA в онлайн-службу перевода, которая преобразует изображение в текст, обманывая систему. Podec нацелен на мобильные устройства Android.

Альтернативные схемы CAPTCHA

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

  • Chew et al. опубликовали свою работу на 7-й Международной конференции по информационной безопасности, ISC'04, предложив три различные версии CAPTCHA для распознавания изображений и подтвердив это предложение с помощью исследований пользователей. Предполагается, что одна из версий, аномальная CAPTCHA, лучше всего подходит для 100% пользователей-людей, которые могут пройти аномальную CAPTCHA с вероятностью не менее 90% за 42 секунды.
  • Datta et al. опубликовали свою статью на конференции ACM Multimedia '05 под названием IMAGINATION (Генерация IMAge для аутентификации в Интернете), предлагая систематический способ распознавания изображений CAPTCHA. Изображения искажаются таким образом, что современные подходы к распознаванию изображений (которые являются потенциальными технологиями атаки) не могут их распознать.
  • Microsoft (Джереми Элсон, Джон Р. Дусер, Джон Хауэлл и Джаред Сол) утверждает, что разработала распознавание изображений видов животных для ограничения доступа (ASIRRA), в котором пользователям предлагается отличать кошек от собак. У Microsoft была бета-версия для использования на веб-сайтах. Они утверждают, что «Asirra проста для пользователей; люди могут решить ее в 99,6% случаев менее чем за 30 секунд. Как ни странно, пользователям казалось, что использование Asirra намного приятнее, чем текстовая CAPTCHA». Это решение было описано в статье 2007 года на 14-й конференции ACM по компьютерной и коммуникационной безопасности (CCS). Однако этот проект был закрыт в октябре 2014 года и больше не доступен.

Смотрите также

использованная литература

Дальнейшие ссылки

внешние ссылки