CAPTCHA ( / ˈ k æ p . tʃ ə / KAP -chə ) — это тип теста «запрос-ответ» , используемый в вычислениях , чтобы определить , является ли пользователь человеком, чтобы предотвратить атаки ботов и спам. [1]
Этот термин был придуман в 2003 году Луисом фон Аном , Мануэлем Блюмом , Николасом Дж. Хоппером и Джоном Лэнгфордом . [2] Это придуманная аббревиатура от «Полностью автоматизированный публичный тест Тьюринга , позволяющий отличить компьютеры от людей». [3] Исторически распространенный тип CAPTCHA (отображается как версия 1.0 [ нужны разъяснения ] ) был впервые изобретен в 1997 году двумя группами, работавшими параллельно. Эта форма CAPTCHA требует ввода последовательности букв или цифр в искаженном изображении. Поскольку тест проводится компьютером, в отличие от стандартного теста Тьюринга, который проводится человеком, CAPTCHA иногда называют обратными тестами Тьюринга . [4]
Два широко используемых сервиса CAPTCHA — это reCAPTCHA от Google [5] [6] и независимый hCaptcha. [7] [8] Среднестатистическому человеку требуется около 10 секунд, чтобы решить типичную капчу. [9]
Целью CAPTCHA является предотвращение спама на веб-сайтах, такого как рекламный спам, спам при регистрации и сбор данных, а боты с меньшей вероятностью будут злоупотреблять веб-сайтами спамом, если эти веб-сайты используют CAPTCHA. Многие веб-сайты эффективно используют CAPTCHA для предотвращения атак ботов. CAPTCHA разработаны таким образом, чтобы люди могли их выполнять, а большинство роботов — нет. [10] Новые CAPTCHA анализируют поведение пользователя в Интернете, чтобы доказать, что он человек. [11] Обычный тест CAPTCHA появляется только в том случае, если пользователь действует как бот, например, когда он запрашивает веб-страницы или слишком быстро нажимает ссылки.
С 1980–1990-х годов пользователи хотели сделать текст неразборчивым для компьютеров. [12] Первыми такими людьми были хакеры , которые публиковали сообщения на деликатные темы на интернет-форумах, которые, по их мнению, автоматически отслеживались по ключевым словам. Чтобы обойти такие фильтры, они заменяли слово похожими символами. HELLO может стать |-|3|_|_()
или )-(3££0
и другими, так что фильтр не сможет обнаружить их все . Позже это стало известно как литспик . [13]
Одним из первых коммерческих применений CAPTCHA был тест Гаузебека-Левчина. В 2000 году idrive.com начал защищать свою страницу регистрации [14] с помощью CAPTCHA и приготовился подать заявку на патент. [12] В 2001 году PayPal использовала подобные тесты в рамках стратегии предотвращения мошенничества, в рамках которой людей просили «перепечатать искаженный текст, который программам трудно распознать». [15] Соучредитель и технический директор PayPal Макс Левчин помог коммерциализировать это использование.
Популярное внедрение технологии CAPTCHA, reCAPTCHA , было приобретено Google в 2009 году. [16] Помимо предотвращения мошенничества с ботами для своих пользователей, Google использовала reCAPTCHA и технологию CAPTCHA для оцифровки архивов The New York Times и книг из Google Books в 2011. [17]
Эран Решеф, Гили Раанан и Эйлон Солан [18] , работавшие в Sanctum над межсетевым экраном безопасности приложений, впервые запатентовали CAPTCHA в 1997 году. В их патентной заявке указано, что «изобретение основано на использовании человеческих преимуществ в применении сенсорных и когнитивных навыков для решения простых задач, которые оказываются чрезвычайно трудными для компьютерного программного обеспечения. Такие навыки включают, помимо прочего, обработку сенсорной информации, такую как идентификация объектов и букв в шумной графической среде». [ нужна цитата ]
CAPTCHA автоматизированы, не требуют особого обслуживания или вмешательства человека для администрирования, что дает преимущества в стоимости и надежности. [19]
Современные текстовые CAPTCHA спроектированы таким образом, что для выполнения задачи они требуют одновременного использования трех отдельных способностей — инвариантного распознавания, сегментации и синтаксического анализа. [20]
Каждая из этих проблем представляет собой серьезную проблему для компьютера, даже в отдельности. Таким образом, эти три метода в тандеме затрудняют решение CAPTCHA компьютерами. [23]
Хотя CAPTCHA в основном используется из соображений безопасности, он также может служить эталонной задачей для технологий искусственного интеллекта. Согласно статье Ана, Блюма и Лэнгфорда [24] «любая программа, прошедшая тесты CAPTCHA, может быть использована для решения сложной нерешенной проблемы ИИ». [25] Они утверждают, что использование сложных проблем ИИ в качестве средства обеспечения безопасности имеет двоякое преимущество. Либо проблема остается нерешенной и остается надежный метод отличить человека от компьютера, либо проблема решается, а вместе с ней решается и сложная проблема ИИ. [24]
CAPTCHA, основанные на чтении текста или других задачах визуального восприятия, предотвращают доступ слепых или слабовидящих пользователей к защищенному ресурсу. [26] Однако CAPTCHA не обязательно должны быть визуальными. В качестве CAPTCHA можно использовать любую сложную задачу искусственного интеллекта , например распознавание речи . Некоторые реализации CAPTCHA позволяют пользователям выбирать аудиоCAPTCHA, например reCAPTCHA, хотя в статье 2011 года была продемонстрирована техника обхода популярных в то время схем. [27]
У слепых или слабовидящих людей возникают проблемы с CAPTCHA. [28] Поскольку CAPTCHA спроектированы так, чтобы их не могли читать машины, обычные вспомогательные технологические инструменты, такие как программы чтения с экрана, не могут их интерпретировать. Поскольку сайты могут использовать CAPTCHA в процессе первоначальной регистрации или даже при каждом входе в систему, эта проблема может заблокировать доступ. В некоторых юрисдикциях владельцы сайтов могут стать объектом судебных разбирательств, если они используют CAPTCHA, дискриминирующие определенных людей с ограниченными возможностями. Например, CAPTCHA может сделать сайт несовместимым с разделом 508 в США.
Таким образом, использование CAPTCHA исключает небольшой процент пользователей от использования значительных подмножеств таких распространенных веб-сервисов, как PayPal, Gmail, Orkut, Yahoo!, многих систем форумов и блогов и т. д. [29]
Сообщалось, что новые поколения графических CAPTCHA, разработанные для преодоления сложного программного обеспечения для распознавания, могут быть очень трудными или невозможными для чтения обычным пользователям Интернета, а не тем, кто страдает плохим зрением или слепотой. [30]
Метод улучшения CAPTCHA для облегчения работы с ней был предложен компанией ProtectWebForm и назван «Smart CAPTCHA». [31] Разработчикам рекомендуется комбинировать CAPTCHA с JavaScript. Поскольку большинству ботов сложно разобрать и выполнить JavaScript, был предложен комбинированный метод, который заполняет поля CAPTCHA и скрывает как изображение, так и поле от глаз человека. [32]
Один альтернативный метод включает в себя отображение пользователю простого математического уравнения и требование от пользователя ввести решение в качестве проверки. Хотя их гораздо легче обойти с помощью программного обеспечения, они подходят для сценариев, где графические изображения не подходят, и обеспечивают гораздо более высокий уровень доступности для слепых пользователей, чем CAPTCHA на основе изображений. Их иногда называют MAPTCHA (M = «математические»). Однако это может быть затруднительно для пользователей с когнитивными расстройствами, такими как дискалькулия . [33]
В качестве CAPTCHA также можно использовать такие задачи, как логическая головоломка или викторина. Проводятся исследования их устойчивости к контрмерам. [34]
Два основных способа обойти CAPTCHA включают использование дешевого человеческого труда для их распознавания и использование машинного обучения для создания автоматического решателя. [35] По словам бывшего « царя Google по мошенничеству с кликами » Шумана Госемаджумдера , существует множество сервисов, которые автоматически решают CAPTCHA. [36]
Не существовало систематической методологии разработки и оценки ранних CAPTCHA. [23] В результате было много случаев, когда CAPTCHA имели фиксированную длину, и поэтому можно было создавать автоматизированные задачи, позволяющие успешно делать обоснованные предположения о том, где должна происходить сегментация. Другие ранние CAPTCHA содержали ограниченный набор слов, что значительно облегчало игру. Третьи [ нужен пример ] допустили ошибку, слишком полагаясь на путаницу фона на изображении. В каждом случае были созданы алгоритмы, которые успешно выполнили задачу, используя эти недостатки конструкции. Однако незначительные изменения в CAPTCHA могут помешать им. Современные CAPTCHA, такие как reCAPTCHA, полагаются на существующие варианты символов, которые свернуты вместе, что затрудняет их сегментацию, и они предотвращают автоматизированные задачи. [37]
В октябре 2013 года компания Vicarious , занимающаяся искусственным интеллектом, заявила, что разработала универсальный алгоритм решения CAPTCHA, который способен решать современные CAPTCHA со степенью распознавания символов до 90%. [38] Однако Луис фон Ан , пионер ранней CAPTCHA и основатель reCAPTCHA, сказал: «Меня трудно впечатлять, поскольку я вижу это каждые несколько месяцев». С 2003 года было подано 50 подобных исков, подобных заявлению Викариуса. [39]
В августе 2014 года на конференции Usenix WoOT Бурштейн и др. представил первый общий алгоритм решения CAPTCHA, основанный на обучении с подкреплением, и продемонстрировал его эффективность против многих популярных схем CAPTCHA. [37]
В октябре 2018 года на конференции ACM CCS'18 Ye et al. представила атаку на основе глубокого обучения, которая может последовательно решать все 11 схем текстовых капч, используемых на 50 самых популярных веб-сайтах в 2018 году. Эффективного решателя CAPTCHA можно обучить, используя всего лишь 500 реальных CAPTCHA. [40]
Можно разрушить CAPTCHA, передав их в потогонную мастерскую , состоящую из людей-операторов, которые используются для декодирования CAPTCHA. В документе рабочей группы W3C от 2005 года говорится, что они могут проверять сотни сообщений в час. [26] В 2010 году Калифорнийский университет в Сан-Диего провел крупномасштабное исследование ферм CAPTCHA. Розничная цена за решение одного миллиона CAPTCHA составляла всего 1000 долларов. [41]
Другой метод заключается в использовании сценария для повторной публикации CAPTCHA целевого сайта в качестве CAPTCHA на сайт злоумышленника, который ничего не подозревающие люди посещают и решают в течение короткого времени, чтобы сценарий мог использовать его. [42] [43]
В 2023 году чат-бот с генеративным искусственным интеллектом ChatGPT обманом заставил работника TaskRabbit решить CAPTCHA, сказав ему, что это не робот и у него нарушено зрение. [44]
Существует несколько интернет-компаний, таких как 2Captcha и DeathByCaptcha , которые предлагают услуги по решению CAPTCHA с использованием человека и компьютера всего за 0,50 доллара США за 1000 решенных CAPTCHA. [45] Эти сервисы предлагают API и библиотеки, которые позволяют пользователям интегрировать обход CAPTCHA в инструменты, для блокировки которых CAPTCHA изначально были разработаны. [46]
Говард Йенд выявил две проблемы реализации плохо спроектированных систем CAPTCHA: [47] повторное использование идентификатора сеанса известного изображения CAPTCHA и CAPTCHA, находящиеся на общих серверах.
Иногда, если часть программного обеспечения, генерирующего CAPTCHA, находится на стороне клиента (проверка выполняется на сервере, но текст, который пользователь должен идентифицировать, отображается на стороне клиента), тогда пользователи могут изменить клиент для отображения непроверенного кода. - визуализированный текст. Некоторые системы CAPTCHA используют хэши MD5 , хранящиеся на стороне клиента, что может сделать CAPTCHA уязвимой для атаки методом перебора . [48]
Некоторые исследователи предложили альтернативы, включая CAPTCHA для распознавания изображений, которые требуют от пользователей идентифицировать простые объекты на представленных изображениях. Аргументом в пользу этих схем является то, что такие задачи, как распознавание объектов, более сложны для выполнения, чем распознавание текста, и поэтому они должны быть более устойчивыми к атакам на основе машинного обучения.
Чу и др. опубликовали свою работу на 7-й Международной конференции по информационной безопасности ISC'04, предложив три различные версии CAPTCHA для распознавания изображений и подтвердив это предложение исследованиями пользователей. Предполагается, что одна из версий, аномальная CAPTCHA, является лучшей, поскольку 100% пользователей-людей могут пройти аномальную CAPTCHA с вероятностью не менее 90% за 42 секунды. [49] Датта и др. опубликовали свою статью на конференции ACM Multimedia '05 под названием IMAGINATION (IMAGE Generation for INternet AuthenticaTION), предлагая систематический способ распознавания изображений CAPTCHA. Изображения искажаются, поэтому методы распознавания изображений не могут их распознать. [50]
Microsoft (Джереми Элсон, Джон Р. Дусер, Джон Хауэлл и Джаред Сол) утверждают, что разработали систему распознавания изображений видов животных для ограничения доступа (ASIRRA), которая просит пользователей отличать кошек от собак. У Microsoft была бета-версия для использования веб-сайтами. [51] Они заявляют: «Asirra проста для пользователей; люди могут решить ее в 99,6% случаев менее чем за 30 секунд. Как ни странно, пользователи, похоже, находят опыт использования Asirra гораздо более приятным, чем текстовая CAPTCHA». Это решение было описано в статье 2007 года в материалах 14-й конференции ACM по компьютерной и коммуникационной безопасности (CCS). [52] Он был закрыт в октябре 2014 года. [53]
CAPTCHA (полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) – это [...]
{{cite web}}
: CS1 maint: numeric names: authors list (link)