Каптча это: Капча — что это такое и зачем она нужна

Содержание

Капча: зачем мы вписываем эти буквы и отмечаем мосты?

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

Что такое капча

Капча — это русское произношение английского CAPTCHA, что расшифровывается как Completely Automated Public Turing test to tell Computers and Humans Apart. В переводе на русский — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей.

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

Как это выглядит

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

Самый простой пример капчи — разобрать слова на картинке и ввести их в форму:

Ещё популярная тема — найти пешеходные переходы, светофоры или автобусы:

Зачем она нужна

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

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

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

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

Как технически это устроено

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

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

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

С развитием нейросетей капча поменялась: теперь алгоритмы используют человека как бесплатный инструмент распознавания сложного текста. Так появился проект reCaptcha компании Google — алгоритм знает, как распознаётся первое слово, а второе берёт из оцифрованных старых книг и газет. Человек его, получается, размечает и помогает «Гуглу» дообучиться:

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

Сейчас нейросети шагнули дальше и предлагают просто поставить галочку «Я не робот»:

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

Самое интересное, что здесь она тоже будет оценивать не только правильность, но и скорость выбора нужных объектов и поведение на странице. А выбор нужных объектов, в свою очередь, помогает дообучать модели компьютерного зрения того же «Гугла».

Минусы капчи

У современной капчи есть два больших минуса:

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

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

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

Что дальше

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

P. S. Капча-арт

На Реддите добрые люди уже много лет как создают произведения искусства, навеянные словами из капчи:

Источник: Math Fatality от prodlly

CAPTCHA: убивая конверсию / Хабр

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


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

Маркетинговые

Бесит!

Капчу необходимо внимательно разглядывать и периодически вводить несколько раз. Исследование Стэнфорда говорит о том, что их испытуемые в среднем тратили 9.8 секунд, чтобы распознать и ввести визуальную капчу и 28.4 секунды на аудио-версию, причем 50% пользователей отказались ее решать. В 2018 году Baymard Institute, который проводит различные исследования на тему UX, подсчитал, что пользователи не могут решать текстовые CAPTCHA примерно в 8% случаев. Эта цифра увеличивается до 29%, если CAPTCHA чувствительна к регистру.

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

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

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

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

Плохо влияет на конверсию

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

Капчи стали сложнее

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

Еще в далеком 2014-м Google стравила между собой свой лучший алгоритм по разгадыванию самых искажённых текстов и людей: компьютер правильно распознал текст в 99,8% случаев, а люди всего в 33%.

Технические

Капчу легко обойти

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

Системы распознавания и нейросети

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

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

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

Есть и другие способы обхода проверки:

  • Генераторы чисел и другие системы перебора. Например, если есть один и тот же набор из 10 картинок, которые просто переставляются случайным образом, и нужно на них найти что-то определенное, то есть всего лишь 1024 возможных вариаций
  • Восстановление символов по данным логов
  • “Подглядывание” в скрипты для вызова капч, к примеру, <img scr=”/captcha.php?code = 1234”/>
  • Повторное применение идентификаторов сессий пользователей
  • Наконец, спамеры подключают последние версии распознавалок типа FineReader к своим самообучаемым спам-ботам.
Бизнес по разгадыванию

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

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

Наконец, существуют онлайн-ресурсы с “интересным” содержанием типа игр или контентом для взрослых. Прежде чем пользователи смогут увидеть следующую порцию контента, система сделает бэкэнд запрос к Yahoo или Google, захватит оттуда капчу и подсунет её пользователю. И как только пользователь ответит на вопрос, хакер отправит разгаданную капчу на целевой сайт. Популярный сайт с востребованным контентом сделать несложно, если парсить (или попросту красть) интересный контент с целого ряда “легальных” порталов (мы в своей работе часто сталкиваемся с такими “копипастерами”). А хакер в итоге получает большую аудиторию, которая разгадывает чужие капчи, не подозревая об этом.

Не различает плохих и хороших ботов

Помимо плохих ботов, существуют и хорошие — это роботы поисковых систем и браузеров, полезные корпоративные боты разных сервисов, которые ищут или размещают информацию или предлагают пользователю помощь, автоматизируя работу техсаппорта компании или продажи ее услуг. Например, по данным GlobalDots, на текущий момент человеческий трафик составляет 62.1%, плохие боты 20.4%, а хорошие 17.5% (то есть отставание от плохих не такое уж и критичное). К сожалению, метод капчи не различает плохих и хороших ботов, не пропуская равно всех, хотя “хорошие” боты могли бы быть полезны.

Ресурс для атак

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

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

Впрочем, эта проблема решаема:

  1. Нужно выбрать определенный тип капчи, который этой проблемы лишен
  2. Расположить капчу на отдельном ресурсе
Вопрос только в том, есть ли у владельца сайта ресурсы, чтобы нанять разработчика, который сделает это качественно.

Замедляет работу сайта

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

Как капча может влиять на скорость?

  • Генерация сложного изображения достаточно ресурсоемкая операция с учетом того, что не все показанные коды используются. Поэтому сервисы капчи и сопутствующие им логи и куки могут замедлять работу онлайн-ресурса.
  • Проверка кода и ключа осуществляется бэкендом, где могут возникнуть сложности с передачей больших файлов. Одноразовые ссылки также требуют проверки на уровне бэкенда, создавая лишнюю нагрузку. Капча может зацикливаться и замусоривать backend и тогда требуется создать механизм кеширования неиспользованных изображений для возможности их показа для других пользователей.
  • Кроме того, у многих капч-сервисов неудобный API как самого виджета капчи, так и сервера, и с этим разработчику тоже придется помучиться.
Это все?

Увы, нет. Есть еще несколько моментов.

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

Во-вторых, давайте подумаем о поисковых системах. Если поисковые системы “обеляются” по user-agent, то капча неэффективна. Если капча показывается всем — то может показаться и поисковикам, и сайт будет иметь проблемы с индексацией.

Не капчей единой

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

На сетевом уровне это могут быть обфускация или шифрование HTML, блокирование определённых user-agent и различные ловушки со стороны веб-сервера: например, создание невидимых разделов сайта, куда попадают только роботы и позже банятся по IP, или фильтрация анонимных прокси.

И, наконец, есть метод, который мы применяем в Variti — это полная фильтрация трафика, который мы считаем единственным полноценным подходом в защите от ботов и DDoS-атак. Мы пропускаем через свои кластеры весь трафик, который идет на сайт или приложение клиентов, а специально настроенные и самообучающиеся алгоритмы определяют и пропускают дальше легитимный трафик от живых пользователей и “хороших” ботов, причем блокировки IP в этом процессе также не требуется. Впрочем, о том, почему мы считаем еще и метод блокировки IP вредоносным, мы поговорим в следующих статьях.

Объяснение функций

CAPTCHA: надежно ли это?

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

Содержание

  • Что такое CAPTCHA?
  • Как работает CAPTCHA?
  • Особенности CAPTCHA
  • Угрозы CAPTCHA

Что такое CAPTCHA?

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

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

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

Термин «тест Тьюринга» занимает центральное место в CAPTCHA. Тест Тьюринга оценивает способность компьютера моделировать поведение человека. В 1950 году Алан Тьюринг, пионер вычислительной техники и искусственного интеллекта (ИИ), создал тест Тьюринга. Компьютерная программа «проходит» тест Тьюринга, если ее действия на протяжении теста нельзя отличить от действий человека, т. е. если она ведет себя так, как вел бы себя человек. Тест Тьюринга не основан на правильных ответах на вопросы; скорее, это связано с тем, насколько «человеческими» кажутся ответы, независимо от того, точны ли они.

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

Подробнее: Что такое социальная инженерия? Определение, типы, методы атак, воздействие и тенденции

Понимание значения CAPTCHA

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

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

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

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

Исследователи из Университета Карнеги-Меллона разработали технологию reCAPTCHA, которую Google приобрела в 2009 году.

Подробнее: Что такое безопасный веб-шлюз? Определение, преимущества и передовой опыт

Эволюция CAPTCHA

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

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

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

Применение CAPTCHA

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

  • Защита онлайн-опросов : Проверяя, что каждый голос подан человеком, CAPTCHA помогает предотвратить искажение результатов опроса. Хотя это не ограничивает общее количество голосов, оно увеличивает время, необходимое для каждого голоса, препятствуя повторному голосованию.
  • Ограничение регистрации для реальных пользователей : Сервисы могут использовать CAPTCHA для предотвращения затопления регистрационных систем ботами и создания поддельных учетных записей. Ограничение создания учетных записей позволяет избежать траты ресурсов службы и снижает риск мошенничества.
  • Защита систем ценообразования на основе спроса : Используя CAPTCHA, системы продажи билетов могут запрещать спекулянтам приобретать большое количество пропусков или билетов для перепродажи, что приводит к росту цен. Его также можно использовать для предотвращения мошеннических регистраций событий.
  • Аутентификация комментариев : CAPTCHA может помешать ботам заполнять интернет-форумы, формы обратной связи и сайты отзывов. Дополнительный элемент, необходимый для CAPTCHA, также может помочь в сдерживании онлайн-злоупотреблений, создавая неудобства для таких субъектов киберугроз.]

Недостатки CAPTCHA

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

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

Подробнее: Dark Web и Deep Web: 5 ключевых отличий

Как работает CAPTCHA?

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

Как работает CAPTCHA

Реальность такова, что не все «пользователи» в Интернете являются подлинными; иногда они могут быть ботами. Чтобы ограничить доступ только авторизованным лицам, было разработано и реализовано несколько механизмов безопасности. Наиболее часто используется метод аутентификации при входе, который использует текстовые пароли для проверки законности пользователей.

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

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

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

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

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

1. Текстовые CAPTCHA работают с искаженным текстом

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

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

2. Аудио CAPTCHA основаны на трудно интерпретируемом, шумном звуке

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

3. CAPTCHA с изображениями используют контекстное распознавание

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

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

4. Видео CAPTCHA преобразует текст или изображения в движущиеся изображения

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

5. Головоломка CAPTCHA требует от пользователей как интерпретации, так и вычисления

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

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

Подробнее: 10 лучших антивирусных программ в 2022 году

Возможности CAPTCHA

Аутентификация пользователей на основе CAPTCHA имеет несколько характеристик; это будет:

  • Автоматизировано : По определению, CAPTCHA автоматизированы и требуют минимального обслуживания или вмешательства человека для администрирования. Это дает очевидные преимущества в стоимости и надежности.
  • Контекстный : Контекст также является важным компонентом CAPTCHA. Для точного определения каждого символа CAPTCHA следует понимать комплексно. Например, в одной части CAPTCHA буква может отображаться как «m». Только после рассмотрения всего слова становится очевидным, что это буквы «у» и «н».
  • Доступный : Доступ к защищенному ресурсу ограничен слепыми и слабовидящими пользователями с помощью CAPTCHA на основе понимания текста или других проблем визуального восприятия. Однако визуальные CAPTCHA не требуются. CAPTCHA может быть основана на любом сложном приложении искусственного интеллекта, таком как распознавание речи. Некоторые решения CAPTCHA позволяют пользователям выбирать аудио CAPTCHA. Другие решения не требуют от пользователей добавления слов, а вместо этого требуют от них выбора фотографий с общими идеями из рандомизированной выборки.
  • Построен на общедоступном алгоритме : Алгоритм CAPTCHA должен быть публично раскрыт по определению; однако он может быть защищен патентом. Это сделано для того, чтобы показать, что его взлом включает в себя ответ на сложную головоломку, основанную на искусственном интеллекте (ИИ), а не просто обнаружение (секретного) алгоритма с помощью обратного проектирования или других методов взлома кода.
  • На основе сегментации : Сегментация, или способность отличать одно слово от другого, затруднена из-за отсутствия пробелов между буквами в CAPTCHA.
  • Зависит от распознавания инвариантов : Распознавание инвариантов — это способность идентифицировать буквы, форма которых существенно различается. Человеческий мозг может эффективно распознавать практически неограниченное количество вариантов каждого символа. Этого нельзя сказать о машине, и научить ее распознавать все эти уникальные структуры сложно.

Подробнее: Что такое ботнет? Определение, методы, примеры атак и рекомендации по предотвращению на 2022 год

Угрозы CAPTCHA

Как упоминалось ранее, CAPTCHA не является надежной и может быть «обманута» передовыми угрозами и атаками кибербезопасности. Три типа угроз могут использовать уязвимости CAPTCHA. Существуют также риски, связанные с плагинами CAPTCHA, которые можно использовать. Угрозы и риски:

Угрозы CAPTCHA

1.

ИИ, обученный решать проблемы так, как это сделал бы пользователь-человек

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

2. Инструменты автоматизации браузера, которые автоматически имитируют поведение человека

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

3. Фермы по заполнению CAPTCHA, которые решают проблемы в пакетном режиме

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

4. Риски, содержащиеся в плагинах CAPTCHA

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

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

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

Подробнее: Что такое фильтрация содержимого? Определение, типы и передовой опыт

Вывод

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

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

Эта статья помогла вам понять, как работает CAPTCHA? Расскажите нам в FacebookОткрывается новое окно