Интернет
Игорь Николаев

«Я не робот!»: капча становится сложнее год от года, злит живых людей, и от неё все хотят избавиться

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

Иллюстрация Софьи Гражевич

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

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

Слова против спамеров

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

Команда инженеров из американского университета Карнеги-Меллона под руководством Луиса фон Ана (позже прославившегося, как создатель платформы для изучения языков Duolingo) искала способ, как при регистрации новых аккаунтов на сайтах отфильтровать аккаунты, создаваемые спам-ботами и автоматическими программами. Так появилась CAPTCHA, что расшифровывается как Completely Automatic Public Turing Test to tell Computers Humans Apart (полностью автоматизированный публичный тест Тьюринга, призванный различить компьютер и человека).

Алан Тьюринг Фото Getty Imagrs

Система названа в честь британского математика середины 20 века Алана Тьюринга, отца-основателя искусственного интеллекта. В русский язык пришло лишь фонетическое название термина — капча, и оно никак не расшифровывается.

Концепция капчи Алана Тьюринга сама по себе гениальна; но по мере того, как возможности роботов становятся всё более изощренными, системы капчи становятся всё более сложными, что приводит к очень инвазивному [не органичному, не комфортному] взаимодействию с пользователем.

Мэтт Блисс

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

Первыми капчу стали использовать в Yahoo (которая вскоре приобрела и Altavista), чтобы не дать роботам создавать бесплатные учётные записи электронной почты, с которых потом рассылался бы спам. Позже систему стали внедрять и другие ресурсы.

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

reCAPTCHA: как Google расшифровал старые книги, борясь с ботами

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

Приложение изначально распознавало слова из архивных номеров газеты The New York Times. В 2009 году сервис выкупил Google, и пользователи стали вводить в поле слова из реальных старых книг, помогая их оцифровывать.

Изображение капчи в reCAPTCHA

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

Похожие эксперименты проводили и по распознаванию изображений из Google Street View и Google Maps. Вскоре оказалось, что роботы могут взломать даже сложнейшие изображения, и потому сотрудникам Google пришлось искать новые выходы.

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

В декабре 2014 года Google оптимизировал капчу, запустив новую систему NO CAPTCHA reCAPTCHA. Её суть в том, что контакты пользователя и системы сведены до минимума. Даже сверхсовременные спам-боты всё же не могут полностью копировать поведение живого человека на сайте, а механизмы Google умеют отличать людей от роботов.

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

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

Шуман Гхосемаджумдер

Если у системы возникают подозрения в том, что пользователь — бот, то ему предлагают нажать на кнопку «Я не робот». Иногда у системы и после этого остаются сомнения, и тогда пользователю предлагают дополнительные проверки — например, выбрать из нескольких картинок все, на которых изображены светофоры или пожарные гидранты.

Разработчики NO CAPTCHA reCAPTCHA не распространяются насчёт особенностей работы механизма, чтобы этими знаниями не воспользовались взломщики. Система постоянно дорабатывается, в мае 2018 года на конференции Google I/O 2018 представили последнюю на сегодняшний день её версию — reCAPTCHA 3.

NO CAPTCHA reCAPTCHA

IT-специалист Григорий Бакунов считает, что современная reCAPTCHA, как и другие системы, в первую очередь защищает сайты от ботов с помощью аналитики, а не картинок. Сейчас при нажатии на кнопку «пройти капчу» пользователя часто пропускает без необходимости «прокликивания» изображений. Это потому, что когда-то раньше он уже делал это упражнение, браузер и «куки» не поменялись, и судя по поведению курсора, он ведёт себя как настоящий, «мясной» пользователь — нет смысла мучать его всякой ерундой.

Сложнее с каждым годом: капча стала проблемой для живых людей

Не только Google работает над тем, как улучшить систему капчи. Специалисты пакистанского Института информационных технологий КОМСАТС хотели предложить пользователям классифицировать фото человеческих лиц по их выражению, полу или расе.

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

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

Дело не только в наших физических возможностях, нам нужно что-то межкультурное, межязыковое. Нам нужно то, что подходит для кого-то из Греции, кого-то из Чикаго, кого-то из Южной Африки, Ирана и Австралии одновременно. И оно должно быть независимым от культурных сложностей и различий. Нам нужно что-то, что легко для обычного человека, это не должно быть привязано к определенной подгруппе людей, и в то же время это должно быть сложно для компьютеров. Это очень ограничивает то, что вы на самом деле можете сделать. И это должно быть что-то, что человек может делать быстро и без раздражения.

Джейсон Полакис

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

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

В разговоре с TJ руководитель сервиса Капчи в «Яндексе» Алексей Тощаков рассказал, что капча — это один из инструментов защиты сервисов и он помогает остановить существенный поток роботов. А комфорт людей можно увеличивать, если развивать алгоритмы, которые принимают решение о показе капчи. Например, в этом году «Яндекс» внедрил улучшение, которое позволило показывать капчу в десять раз реже в очень непростом срезе — режим инкогнито.

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

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

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

Пример эффективного сервиса решения капчи, доступного через API — DeCaptcher. Работая на базе системы оптического распознавания символов, сервис решает капчу и предоставляет пользователю файл для загрузки, где указано время, изображение капчи и текст, применённый для её решения. Популярны и инструменты с открытым исходным кодом, как-то UnCaptcha и Buster. Они решают звуковые капчи, предназначенные для пользователей с проблемами со зрением.

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

Мауро Мильярди

До сих популярны сервисы, где капчу за деньги вводят живые люди. Такие ресурсы экономически выгодны для спамеров. Самые популярные из них — 2captcha и anti-captcha — предлагают решить 1000 капч всего за 50 центов. По статистике на сайте anti-captcha, больше всего работников по вводу капчи за деньги живёт в Венесуэле, Индонезии, Вьетнаме и Индии.

По словам Григория Бакунова, для борьбы с капчей чаще всего используются «фермы», т.е. собранные вместе группы людей, которые «проходят» капчу вместо ботов, выполняя эту рутинную операцию тысячи и десятки тысяч раз в день. Чаще всего это пользователи из Пакистана, Филиппин, Индии — стран, где русский язык слабо распространён. Поэтому всё чаще в рунете встречается капча с русскими буквами — их ввод осложнён, поэтому фермы, умеющие в русский язык, существенно невыгоднее для спамеров.

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

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

Мем, посвящённый сложности капчи

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

Если капча сделана плохо, он может быть провалена несколько раз. Например, если есть требование «выбрать все изображения с пожарным гидрантом», и всё это один большой пожарный гидрант с кончиком части на несколько пикселей на одном изображении, следует ли нажимать на него или нет? Это может сильно расстраивать пользователей, что влияет на их вовлеченность и конверсию.

Ричард Кан

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

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

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

Образец капчи при создании аккаунта на GitHub

Образец капчи при создании аккаунта на GitHub

Образец капчи при создании аккаунта на GitHub

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

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

Но несмотря на это, капча остаётся оптимальным вариантом защиты от спамеров, а отказ от неё чреват серьёзными последствиями. В августе 2010 года американская сеть розничных магазинов Kmart остановила лотерею по розыгрышу призов, когда хакеры начали выигрывать все подарки. Это оказалось возможным потому, что Kmart не использовал капчу.

Алексей Тощаков сообщил TJ, что в «Яндексе» для людей капчу не станут усложнять, скорее будут делать её более дружелюбной. А вот для роботов важно сохранить уровень сложности, но это непростая задача. За последний год команда Алексея протестировала ряд гипотез — как можно реже показывать людям капчу и сделать её более приятной.

Например, в прошлом году на День учителя «Яндекс» показывал капчу, где нужно было ввести слово, которое часто пишут неправильно, и выделял букву, в которой люди ошибаются. А под конец года они сделали капчу, где было что-то подбадривающее — например, «Сегодня всё получится». Роботу всё равно, а человеку приятно.

Статья создана участником Лиги авторов. О том, как она работает и как туда вступить, рассказано в этом материале.

#интернет #капча #лонгриды #лигаавторов