Вы готовы купить билеты на местное шоу. Корзина заполнена. Данные для оплаты введены. И тут возникает преграда.
Это CAPTCHA.
Аббревиатура расшифровывается как Completely Automated Public Turing Test to Tell Computers and Humans Apart (полностью автоматический публичный тест Тьюринга для различения компьютеров и людей). Звучит как что-то из научно-фантастического триллера, но на самом деле это просто цифровой охранник. Этот тест не сложен для людей. Если вы настоящий человек, вы легко пройдете его. Для компьютера? Это должно быть почти невозможно.
Цель проста: выявить вредоносных ботов до того, как они смогут испортить ваши данные или сорвать покупку.
Эти тесты также известны как Human Interaction Proof (HIP) (доказательство человеческого взаимодействия). Вы видели их повсюду. Классическая версия показывает строку искаженных, размытых букв. Вы вводите их. Если совпадение с изображением верно, тест пройден.
Все так просто. Или было раньше.
Эволюция задач на основе изображений
Текстовые CAPTCHA устаревают. Боты становятся умнее. Теперь стандартом стали задачи на основе распознавания изображений.
Вместо ввода букв вам предлагается сетка фотографий. Шоссе. Городские улицы. Парки. Вас просят выбрать изображения, содержащие определенные объекты.
- Уличные фонари
- Пожарные гидранты
- Велосипеды
- Пешеходные переходы
Выберите правильные фотографии. Пройдите тест.
CAPTCHA на основе изображений значительно сложнее для ботов, чем текстовые. Искаженные изображения или размытые сцены затрудняют работу алгоритмов распознавания ботов. Создание теста, который может решить только человек, требует тщательной разработки.
Зачем вообще бороться с ботами?
Зачем создавать тест для разделения людей и машин?
Потому что люди пытаются обмануть систему. Они эксплуатируют уязвимости в компьютерах, управляющих сайтом.
Эти люди составляют меньшинство среди пользователей интернета. Но их действия затрагивают миллионы.
Возьмем в качестве примера бесплатный почтовый сервис. Без CAPTCHA он может быть завален автоматическими запросами на создание аккаунтов. Автоматизированная программа создает тысячи аккаунтов за считанные секунды. Зачем? Чтобы позже рассылать спам миллионам людей.
CAPTCHA останавливает это. Она определяет, какие пользователи являются реальными людьми, а какие — просто компьютерными программами.
Каждый провал — это прорыв в искусственном интеллекте
Вот интересный поворот событий.
Люди, разрабатывающие эти тесты, не всегда расстраиваются, когда они терпят неудачу.
Чтобы тест CAPTCHA потерпел неудачу, кто-то должен найти способ научить компьютер решать его.
Каждый раз, когда бот обходит CAPTCHA, это означает прогресс в области искусственного интеллекта.
Ирония очевидна. Приложение CAPTCHA генерирует тест, который даже оно не может решить, не зная заранее ответа. Оно полагается на человеческое познание как на параметр безопасности.
Мы находимся в гонке вооружений.
Боты становятся умнее. Тесты становятся сложнее. Пользователи раздражаются.
Но пока технологии не догонят людей, мы будем продолжать кликать на светофоры.
Вся система восходит к тесту Тьюринга. Алан Тьюринг, человек, который фактически изобрёл современные вычисления, хотел способ проверить, могут ли машины имитировать человеческое мышление. Схема была простой. Допрашивающий общается с двумя скрытыми участниками. Один из них — человек. Другой — компьютер. Если допрашивающий не может определить, кто есть кто, машина побеждает.
CAPTCHA переворачивает эту логику. Цель состоит в том, чтобы создать тест, который люди проходят легко, а боты терпят неудачу. Он также должен быть динамичным. Если бы каждый пользователь видел одно и то же статичное изображение с одинаковыми буквами, спамеры взломали бы его за считанные минуты. Они просто написали бы скрипт для автоматического ввода ответа.
Большинство таких тестов визуальные. Компьютеры всё ещё плохо справляются с обработкой изображений по сравнению с людьми. Люди мгновенно распознают закономерности. Мы даже иногда их «видим» там, где их нет. Это называется парейдолией. Вы видите лицо в облаках или фигуру на Марсе. Ваш мозг превращает случайный шум в узнаваемую форму. У машин нет такого интуитивного скачка. Им сложно справляться с неоднозначностью.
Но полагаться исключительно на зрение рискованно. Это отталкивает пользователей с нарушениями зрения. Поэтому существуют альтернативы. Аудио-CAPTCHA довольно распространены. Вы слушаете набор цифр или букв. Голос может быть искажён. Часто присутствует фоновый шум. Это блокирует программы распознавания речи.
Затем есть контекстная CAPTCHA. Она предлагает короткий текстовый фрагмент. Пользователь должен интерпретировать его смысл. Алгоритмы могут извлекать ключевые слова. Они терпят неудачу при реальном понимании. Они не улавливают нюансы.
Иногда тест просто сломан. Изображение настолько искажено, что даже люди не могут его прочитать. Именно поэтому появляется кнопка «обновить». Вы пробуете снова. Надеюсь, вторая попытка не будет набором бессмысленных символов.
Кто использует CAPTCHA
В следующем разделе мы рассмотрим, какие сайты на самом деле используют эти проверки, чтобы убедиться, что вы не бот.
Целостность опросов и злоупотребления со стороны ботов
Опрос Slashdot 1999 года о лучшей программе подготовки специалистов в области компьютерных наук служит предостережением. Он наглядно показал, что происходит, когда опросы остаются открытыми для автоматизированных скриптов. Студенты Карнеги-Меллонского университета и Массачусетского технологического института создали ботов, которые затопили их respective университеты тысячами голосов. Тем временем каждый другой университет с трудом набирал несколько сотен голосов.
Если код может отдать голос, результаты оказываются бессмысленными.
Именно поэтому важна проверка. Без фильтра онлайн-опросы превращаются в конкурсы популярности для того, у кого самый быстрый скрипт. CAPTCHA не позволяет программистам манипулировать системой.
Блокировка спамерских ботов при регистрации
Вспомните последний раз, когда вы регистрировались в Hotmail, Yahoo! Mail или Gmail. Вы вводили некоторые личные данные. Сервис не проверял, являются ли они подлинными. Он не звонил вам и не подтверждал вашу личность.
Просто он хотел убедиться, что бот не пытается создать сотни спам-аккаунтов за считанные секунды.
Бесплатные почтовые провайдеры используют CAPTCHA для предотвращения спама. Без него ваша почтовая коробка была бы забита мусором от фейковых аккаунтов еще до того, как вы закончили настройку своего.
Борьба с перекупщиками билетов
Брокеры билетов, такие как TicketMaster, также полагаются на эти фильтры. Почему? Чтобы предотвратить деятельность перекупщиков.
Перекупщики используют ботов для покупки тысяч билетов на крупные мероприятия за считанные секунды. Легитимные поклонники оказываются заблокированными. Мероприятия распродаются мгновенно. Затем перекупщики перепродают эти билеты по завышенным ценам.
CAPTCHA не полностью предотвращает перекупку билетов. Она лишь значительно усложняет массовую автоматизированную покупку. Она замедляет работу ботов. Она дает реальным людям шанс на успех.
Поддержание чистоты форумов
Веб-страницы с контактными формами или форумами сталкиваются с той же угрозой. Лавина спама может заглушить реальные дискуссии.
Программы CAPTCHA фильтруют шум. Они предотвращают автоматическую публикацию ботами оскорбительных сообщений или преследование администраторов. Это не идеальный щит от упорного человеческого тролля. Но она останавливает автоматизированную волну спама.
Двойная задача reCAPTCHA
Стандартная CAPTCHA просит вас ввести искаженные буквы и цифры. Но создатели нашли способ добавить ценность этому заданию. Они использовали его для оцифровки книг.
Это reCAPTCHA. Она использует ваши ответы для проверки отсканированных документов. Компьютерам трудно читать слова из цифровых сканов. Люди справляются с этим хорошо.
Вот процесс:
- Администратор сканирует книгу.
- Программа выбирает два слова из изображения.
- Одно слово уже распознано.
- Если вы вводите его правильно, система предполагает, что ваше второе слово тоже правильное.
- Это второе слово попадает в пул для других пользователей.
- По мере того как больше людей вводят его, система с высокой степенью уверенности подтверждает правильность слова.
Это может показаться утомительным. Но вы выполняете две задачи одновременно. Вы доказываете, что вы человек. Вы также помогаете поисковым системам индексировать отсканированные документы.
Создание проверки
Далее мы рассмотрим процесс создания CAPTCHA.
Проектирование разрыва между человеком и машиной
Вся концепция CAPTCHA основана на фундаментальном разрыве. Люди воспринимают контекст. Машины обрабатывают инструкции. Если данные выходят за рамки жесткого алгоритмического пути, бот спотыкается. Он не импровизирует. Он терпит неудачу.
Дизайнер должен эксплуатировать эту слабость. Рассмотрим метаданные. Они невидимы для вас. Они доступны для чтения скриптом. Если вы создаете визуальное испытание, где ответ скрыт в метаданных файла изображения, вы уже проиграли. Простой скрипт может удалить эти данные и мгновенно раскрыть решение.
Искажение — это неоспоримое требование. Обычный текст является открытым приглашением для программного обеспечения оптического распознавания символов (OCR). Эти программы сканируют формы. Они распознают прямые линии и кривые. Если ваши символы не искажены, наклонены или закрыты, бот прочитает их быстрее, чем человек успеет моргнуть.
Люди должны иметь 80-процентный показатель успешности. Машины должны находиться на уровне 0,01 процента.
Этот стандарт был установлен экспертами Microsoft Research Кумаром Челлапиллой и Патрисом Симардом. Они не просто гадали. Они рассчитали порог между удобством использования и безопасностью.
Существует два основных способа генерации таких испытаний. Первый — статический. Вы заранее определяете изображения и их решения. Для этого вам нужна огромная база данных. Почему? Потому что спамер, укравший эту базу данных, может запустить атаку методом грубой силы. Он просто перебирает все возможные ответы, пока один не сработает. Чтобы оставаться в безопасности, вам понадобится база данных с более чем 10 000 уникальных CAPTCHA. Это тяжело. Это рискованно.
Второй способ — динамический. Рандомизация. Система генерирует уникальную строку из букв и цифр каждый раз. Вы никогда не увидите одну и ту же последовательность дважды. Это сводит на нет подход с грубой силой. Вероятность того, что бот угадает длинную случайную строку, астрономически мала. Чем длиннее строка, тем безопаснее вы защищены.
Визуальный квест
Как искажать текст? В наборе инструментов есть несколько приемов.
Некоторые системы растягивают и изгибают буквы так, что они выглядят так, будто просмотрены через расплавленное стекло. Это вызывает тошноту. Это также эффективно. Другие накладывают сетку из пересекающихся полос, чтобы разбить формы букв. Вы можете увидеть поля случайных точек или конфликтующие цветовые схемы, предназначенные для того, чтобы сбить с толку глаз и алгоритм. Цель всегда одна: создать шум, который люди могут отфильтровать, но машины не могут обработать.
Распознавание паттернов — еще одно направление. Вместо простого чтения текста вам может быть предложено завершить последовательность. Появляется ряд фигур. Какая из них следующая? Это проверяет логику, а не только зрение. Но вот загвоздка. Не все хорошо справляются с абстрактным мышлением. Если ваша головоломка слишком сложная, показатель успешности людей падает ниже критических 80 процентов. Вы начинаете блокировать реальных пользователей. Вы жертвуете доступностью ради безопасности. Это хождение по канату.
Альтернатива в виде аудио
Слышите меня теперь?
Аудио CAPTCHA следуют аналогичной логике, что и визуальные, но с другой средой. Вы прислушиваетесь к символам, произнесенным синтезированным голосом или записью реального человека.
Статический подход требует предварительной записи каждой возможной комбинации. Это огромная аудиобиблиотека. Динамический подход умнее. Он записывает отдельные фонемы или символы и соединяет их в реальном времени. Это быстрее генерируется. Это сложнее индексировать.
Но аудио не идеально. Фоновый шум. Акценты. Артефакты синтеза. Это добавляет новый уровень трения. Решает ли это проблему? Иногда. Для некоторых пользователей это спасение. Для других это головоломка, которую они не могут решить.
Гонка вооружений продолжается
Мы увидели, как они создаются. Следующий шаг — наблюдать, как они падают. Компьютеры становятся лучше в этом. Они учатся видеть сквозь искажения.
Главная проблема заключается не в расшифровке текста. Люди должны легко достигать точности на уровне 80 процентов. Настоящий кошмар — научить машину обрабатывать информацию так же, как это делает человеческий мозг. Большинство злоумышленников не заморачиваются тем, чтобы сделать компьютеры умнее. Они просто устраняют сложность задачи.
Возьмем стандартную веб-форму, защищенную CAPTCHA с английскими словами. Шрифт искажен. Буквы растянуты и изогнуты в хаотичных узорах. За текстом находится случайный фоновый шум. Это выглядит как бессмыслица. Именно так и задумано.
Программист, взламывающий такую систему, не начинает с искусственного интеллекта. Он начинает с алгоритма. Это просто набор инструкций. Первый шаг может заключаться в преобразовании изображения в градации серого. Цвет — это слой маскировки. Уберите его. Теперь у вас есть черно-белый шум.
Затем код ищет закономерности. Он сравнивает формы с известными буквами. Если совпадение слабое, алгоритм сопоставляет эти частичные буквы со словарем английских слов. Он угадывает остальное. Эта логика грубой силы работает. Иногда она дает сбой. Но если она срабатывает достаточно часто, спаммеры побеждают.
Обход Gimpy Challenge
Что происходит, когда CAPTCHA становится сложнее? Возьмем версию Gimpy. Она отображает десять слов. Искаженные шрифты. Нерегулярные фоны. Слова перекрываются. Нужно ввести три правильных слова, чтобы продолжить.
Это звучит надежно. Пока вы не посмотрите на исследования. Грег Мори и Джитендра Малик опубликовали статью о том, как взломать эту систему. Их трюк? Система использует реальные слова. А не случайные строки. Это огромная слабость.
Мори и Малик создали алгоритм, ориентированный на начало и конец строки слов. Они использовали известный словарь из 500 слов системы Gimpy. Они провели тесты. Алгоритм правильно определял слова в 33 процентах случаев.
Это число кажется низким. Но это не так. Спаммерам не нужна идеальная точность. Им нужен объем. Если их боты работают сотни раз в минуту, успех в одном случае из трех приносит прибыль. Математика сходится.
Электронные уши
Аудио-CAPTCHA также не в безопасности. Весной 2008 года появились сообщения о том, что хакеры обходят аудиосистему Google. Метод был удивительно простым.
Хакеры создали библиотеку звуков. Для каждого символа в базе данных требовалось найти звуковое соответствие. Искажение могло означать наличие нескольких звуков для одной буквы. После категоризации они использовали варианты программного обеспечения для распознавания голоса. Бот слушал. Он интерпретировал. Он вводил текст.
CAPTCHA и искусственный интеллект
Парадокс ИИ: почему взлом безопасности помогает машинам учиться
Луис фон Ан, профессор Университета Карнеги-Меллон, соавтор идеи CAPTCHA, смотрит на вещи иначе, чем средний системный администратор. В своей лекции 2006 года он описал противостояние людей и ботов не как войну, а как учебную площадку для искусственного интеллекта. Логика здесь холодная, но безупречная. Спаммеры и хакеры одержимы попытками взломать CAPTCHA, потому что эти тесты стоят у них на пути к целям. Они вкладывают время и энергию в их преодоление.
Когда им это удается, машины становятся умнее.
Каждый раз, когда исследователю удается научить компьютер решать искаженные текстовые головоломки, мы делаем шаг к созданию настоящего ИИ. Для фон Ан поражение системы безопасности означает победу машинного обучения.
Веб-администраторам, однако, эта философия нравится меньше. Им все равно приходится разгребать последствия. Спам-боты и вредоносные скрипты не заботятся о философских последствиях своего поражения. Им просто нужен доступ. Реальность такова, что несколько систем CAPTCHA уже вышли из употребления. Администраторы онлайн-опросов или простых сайтов должны знать, какие инструменты еще надежны. Они должны быть в курсе обновлений. Если одна система дает сбой, код нужно менять. Его необходимо заменить.
Дизайнеры ходят по тонкому льду. По мере усложнения компьютеров тесты должны эволюционировать. Но есть предел. Если тест становится настолько сложным, что люди больше не могут решать его с приемлемой вероятностью успеха, система терпит неудачу. Речь уже не только об искажении текста. Ответом может быть математическое уравнение. Или ответ на вопросы по короткому рассказу.
Сколько людей захотят оставить ответ на форуме, если им сначала придется решать квадратное уравнение?
Интерес пользователей падает, когда барьер становится слишком высоким. Баланс хрупкий.
Эволюция невидимой верификации
Google изменила правила игры в 2014 году. Компания, приобретшая reCAPTCHA в 2009 году, начала постепенно отказываться от классических задач с изображениями или текстом. Они представили «No CAPTCHA». Все было просто: одно поле с надписью «Я не робот».
Пользователи нажимали кнопку. Мир продолжал жить своей жизнью.
Но к 2017 году даже это стало слишком очевидным. Google объявила об отказе от No CAPTCHA. Новый подход опирался на анализ поведения. Он отслеживал, как вы двигаете курсор мыши. Он анализировал ваши привычки просмотра. Это стало известно как Invisible reCAPTCHA.
Если система помечала вас как подозрительного — возможно, вы действительно были роботом — вам приходилось решать одну из старых, стандартных задач. Это был запасной вариант. Шаг верификации. Цель состояла в том, чтобы держать хороших пользователей в движении, одновременно выявляя злоумышленников, даже не замечая этого.
Уточнение терминологии и необходимости
Часто возникает путаница относительно того, кому что принадлежит и зачем нужны эти проверки.
Является ли CAPTCHA продуктом Google?
Нет. CAPTCHA — это общая технология, используемая во всем интернете для обеспечения того, чтобы с сайтом взаимодействовали люди, а не автоматизированные боты. reCAPTCHA от Google — это лишь одна из реализаций этой более широкой концепции.
Что означает аббревиатура CAPTCHA?
Она расшифровывается как «Completely Automated Public Turing test to tell Computers and Humans Apart» (Полностью автоматический публичный тест Тьюринга для различения компьютеров и людей). Это тест на основе вызова и ответа, встроенный в вычислительные системы для проверки личности пользователя.
Зачем нужна CAPTCHA?
Она предотвращает отправку ложной информации автоматизированными программами. Она останавливает спаммеров от продвижения мошеннических схем на веб-страницах. Она не дает интернету быть затопленным информационным шумом.
Куда двигаться дальше
Ландшафт постоянно меняется. То, что работало вчера, может быть сломано сегодня.
Для тех, кто копает глубже, смежными темами являются то, как работают взломщики кода, механика спама и функции шпионского ПО. Понимание шифрования и компьютерных вирусов дает контекст для понимания того, почему важна безопасность. Базовая логика того, как логическая машина генерирует случайные числа, также связана со случайностью, необходимой для безопасных проверок.
Дополнительные ресурсы по этой теме включают Gwap и официальный сайт reCAPTCHA. Академические корни этой области хорошо задокументированы. Исследования Челлапиллы и Симарда в Microsoft Research показывают, как машинное обучение может обходить визуальные доказательства. Каптчи с коллективной фильтрацией исследовались на ранних воркшопах. Уязвимость аудио-CAPTCHA от Google была задокументирована в 2008 году. В том же году спаммеры взломали CAPTCHA Gmail.
Тест Тьюринга, как обсуждается в Стэнфордской энциклопедии философии, остается теоретической базовой линией. Человеческая кора по-прежнему превосходит процессор во многих задачах, как отмечает Wired. Но разрыв сокращается. Первоначальное видение фон Ан разворачивается в реальном времени. Каждый взломанный код — это урок для следующего поколения ИИ.
Вопрос уже не в том, пройдут ли машины эти тесты. Вопрос в том, что произойдет, когда они это сделают. И что произойдет с людьми, которым все еще придется нажимать на эти поля.






























