Капчи, которые должны «отделять» людей от ботов, стали настоящей головной болью для пользователей. Порой приходится не выбирать светофор или «зебру», а решать сложные головоломки или математические примеры, многие из которых ставят в тупик — а вот боты, кажется, щёлкают их как орешки. Мы в Beeline Cloud решили разобраться в теме.

Капча… Да что ты такое несешь?
Последнее время капчи становятся все более необычными — даже абсурдными. Яркий пример — головоломка от LinkedIn. В ней пользователям предлагается поворачивать 3D-модель розовой собаки, пока она не будет смотреть в указанном рукой направлении. Некоторые системы защиты заставляют пользователей искать несуществующие объекты: например, кликать на светофоры, которых нет на картинке, или отмечать велосипеды, спрятанные среди пиксельного шума. Два года назад капча в Discord дала сбой и попросила пользователей найти на приведенных фото предмет под названием «йоко» — нечто, напоминающее гибрид улитки и игрушки йо-йо.
Примерно в то же время резидент Hacker News рассказал, что столкнулся с «худшим тестом на человечность» в приложении одного из американских стриминговых сервисов. Ему нужно было решить математический пример, однако капча не принимала корректный ответ: «У меня PhD в сфере компьютерных наук, и если я не справляюсь с простым сложением, уверяю вас, дело не во мне — это ответы неверные». Потерпев неудачу, он выбрал аудиокапчу, которая предлагала прослушать несколько музыкальных отрывков и выбрать тот, в котором присутствовал повторяющийся ритмический рисунок. Однако вместо четких паттернов пользователь услышал какофонию и неразборчивые шумы.
Создается впечатление, что капчи превратились в своеобразный тест Тьюринга наоборот: теперь машины проверяют, насколько люди готовы играть по их правилам. Неудивительно, что подобные странности сделали из инструмента для противодействия ботам объект для шуток — когда пользователи специально разрабатывают труднопроходимые и забавные испытания. Так, в начале года на Hacker News обсуждали капчу с игрой Doom, в которой нужно было подстрелить трех монстров, имея в арсенале лишь пистолет — непростая задача для неискушенного геймера: «Это секретный уровень (E1M9), на который можно перейти после E1M3. Обычно к этому моменту игрок уже находит дробовик, пулемет, ракетную установку и, вероятно, броню. Но начинать этот уровень с одним пистолетом — ну такое». Еще один пример — ChessCaptcha, где необходимо либо правильно расположить шахматные фигуры (новичкам), либо поставить мат за один ход (продвинутым шахматистам) — необходимый режим может выбрать владелец сайта.
Бот, ты не пройдешь! Но это неточно
В последнее время в профессиональной среде всё чаще звучит мнение, что классические капчи — со светофорами, мотоциклами, автобусами и вот этим всем — больше не справляются со своей задачей. В этой связи возникает вопрос, который в интервью британской газете The Times озвучил профессор из Калифорнийского университета в Ирвайне: «Почему мы до сих пор полагаемся на технологию, которая никому не нравится, стоит дорого, тратит время людей и неэффективна против ботов?».
И еще пару слов о неэффективности. Еще в 2016 году специалисты из Колумбийского университета нашли несколько уязвимостей в reCaptcha от Google. Они представили эксплойт на базе машинного обучения и поиска изображений, который с легкостью обходил защиту и решал 70% капч в пределах 19 секунд.
В 2023 году свое исследование провели специалисты из Высшей технической школы в Цюрихе (ETH), Ливерморской национальной лаборатории (США), Калифорнийского университета в Ирвайне и компании Microsoft. Они попросили 1400 участников решить десять разных капч: графических, текстовых, интерактивных (с перемещением слайдера) и других — а затем сравнили результаты с показателями ботов, представленными в профильной литературе и исследованиях коллег. В среднем люди тратили до 30 секунд на решение теста и проходили его с точностью до 85%. А роботам было достаточно 15 секунд при точности 85–100% (в зависимости от задачи).
В прошлом году исследователи из Высшей технической школы в Цюрихе вновь подтвердили, что тесты, вроде reCAPTCHA v2 от Google, не могут служить надежной защитой от продвинутых ботов и скрейперов. Авторы работы использовали модель YOLOv8 для классификации изображений. Система с легкостью распознавала лестницы, мотоциклы и пешеходные переходы — а чтобы она сильнее походила на «живого пользователя», траекторию движения курсора смоделировали с помощью кривых Безье.
Может ли робот написать симфонию? Или новые способы идентифицировать людей
Пожалуй, все встречали поведенческие капчи (вроде reCAPTCHA v3 от Google), которые не просят кликать на изображения, а анализируют действия пользователя в браузере. Однако такие системы несовершенны, и эксперты все чаще обращают внимание, что подобные поведенческие тесты могут нарушать конфиденциальность. Так, в июле 2020 года французская Национальная комиссия по информатике и свободам граждан (CNIL) установила, что уже упомянутая reCAPTCHA v3 может не соответствовать требованиям GDPR, собирая данные без согласия пользователей. Да и настройка порогов чувствительности в таких системах — нетривиальная задача. Слишком строгие правила приводят к блокировкам легитимных пользователей, а слабые пропускают ботов.
В попытке найти альтернативное решение некоторые предлагают обратить внимание на биометрические методы идентификации пользователей, которые могут быть более устойчивыми, чем поведенческие тесты. Так, один крупный западный сервис-провайдер разработал механизм криптографического подтверждения личности — CAP. Он использует технологии FaceID, TouchID на iPhone и биометрию Android для получения доступа к сайту. Данные хранятся локально в модулях (TEE/TPM) на устройствах и не отправляются на серверы.
С другой стороны, еще в 2018 году исследователь в области кибербезопасности Мерием Гуэрар из Университета науки и технологий Мохамеда Будиафа в Оране (Алжир) совместно с коллегами из Университета Генуи и Падуанского университета в Италии предложила внедрить серию простых физических проверок для идентификации пользователей. Метод получил название CAPCCHA — аббревиатура расшифровывается как Completely Automated Public Physical test to tell Computer and Humans Apart. В частности, речь идет о необходимости наклонять устройство под определенным углом после ввода PIN-кода. Однако такая «проверка на человечность», очевидно, годится исключительно для мобильных устройств с акселерометром и гироскопом (в основном смартфонов и планшетов) и может быть неудобна для пожилых и людей с физическими ограничениями.
Развиваются и новые методы идентификации пользователей на основе блокчейна — например, World и Humanity Protocol. Они предлагают децентрализованную идентификацию для защиты от атаки Сивиллы. Проект World, запущенный в 2019 году Сэмом Альтманом, Алексом Бланией и Максом Новендстерном, задействует специальное устройство — Orb — для сканирования радужки глаза. Полученные данные преобразуются в криптографический хэш с использованием доказательств с нулевым разглашением (ZKP) и помещаются в блокчейн. Что касается Humanity Protocol, запущенного в 2023 году предпринимателем Теренсом Квоком, то вместо радужки он предлагает сканировать ладонь.

Предполагается, что приложения, поддерживающие работу с этими протоколами, будут сверяться с хэшем в блокчейне, чтобы подтвердить, что пользователь — не бот. На сегодняшний день оба проекта привлекли аудиторию в несколько миллионов человек. Но несмотря на это, их перспективы оцениваются неоднозначно. В частности, критики считают, что сканирование ладони или радужки глаза все же несет риски утечки данных, а сам процесс требует специализированного оборудования (или хотя бы качественной камеры) что ограничивает потенциальную аудиторию и применимость.
Ботам тоже нужно в интернет
Есть мнение, что в ближайшие годы ИИ-агенты станут основным способом взаимодействия с сайтами, приложениями и сервисами. Они уже способны автономно выполнять действия от имени пользователей — от совершения покупок до заполнения форм. Например, такого агента сейчас создают в компании Walmart. Помощник сможет выполнять рутинные задачи, вроде повторного заказа продуктов, и составлять списки покупок по заданным критериям. В будущем Walmart планирует внедрить протоколы взаимодействия с агентами других компаний. В частности, над похожим проектом сейчас работают в OpenAI — их агент тоже может делать покупки и искать товары в интернете.
Развитие этого тренда ставит концепцию капчи с ног на голову — ведь они разрабатывались для того, чтобы противостоять роботам, но теперь роботы становятся «активными пользователями интернета». Если ИИ-агенты прочно войдут в нашу жизнь, капчи должны будут идентифицировать не людей, а «правильных» ботов — таких, которые умеют работать с сайтами или приложениями от имени рядового пользователя. В докладе Центра безопасности и новых технологий (CSET) при Джорджтаунском университете предложили встраивать в таких ИИ-агентов цифровые сертификаты или токены с идентификационными данными «владельца» для подтверждения легитимности.
Однако тут потенциальной проблемой становится подмена сертификатов. Также остается открытым вопрос конфиденциальности данных и ответственности за действия роботов. В CSET предложили усилить защиту токенов и сертификатов шифрованием, минимизировать сбор данных и внедрить мониторинг в реальном времени для выявления подозрительных действий систем ИИ, таких как несанкционированные транзакции.

Так что будущие системы верификации должны будут учитывать рост числа ИИ-агентов, чтобы сохранить баланс между безопасностью, конфиденциальностью и удобством. Разработка протоколов для легитимных агентов, возможно, станет следующим шагом в эволюции капчи. Работа над инструментами для оценки подобных интеллектуальных систем уже ведется. В этом году команда инженеров, в которую вошли специалисты из Университета искусственного интеллекта MBZUAI в ОАЭ, представила бенчмарк Open CaptchaWorld. Он включает 20 современных типов капчи (всего 225 отдельных задач) и предлагает новый критерий оценки — CAPTCHA Reasoning Depth, который показывает, сколько действий требуется системе для решения конкретного пазла. Инженеры передали свой бенчмарк в open source (под лицензией MIT) и надеются, что он поспособствует развитию систем верификации.
Beeline Cloud — secure cloud provider. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.
Что еще есть у нас в блоге: