Научная капча: как головоломки мешали людям
С тех пор как капча из поля для ввода размытых слов и цифр превратилась в точку, куда нужно просто кликнуть мышью, мы стали забывать о мучениях, вызванных необходимостью распознавать крайне нечеткие символы.
Капча — как много в этом слове для человека, которому приходилось встречаться с ней каждый день. В какой-то момент, не так уж давно, казалось, что спастись от ботов поможет только защита, с которой едва ли справится обычный человек. Это убеждение породило множество UX-монстров, о которых пойдет речь в статье.
Современная капча старается быть незаметной, но она не исчезла совсем. Системы определяют человек перед ними или бот, изучая куки, IP-адрес, движение курсора и нажатия клавиш на страницах. Независимо от того, как реализуется технология капчи, все построено вокруг идеи создания задачи, трудной в решении для компьютеров и простой для людей, но не всегда на практике вопросы и ответы оказываются очевидны.
Captcha — это автоматизированный публичный тест Тьюринга, который может пройти человек, но не компьютер. Изначально капча полагалась на способность человека определять и понимать визуальные / звуковые сигналы, которые ботам было крайне трудно разобрать. Такие механизмы были несовершенны: сами пользователи не всегда понимали, что от них требуется. Компьютеры, в свою очередь, учились распознавать объекты даже на сильно зашумленных изображениях.
ReCAPTCHA: латинские буквы и цифры переменной длины, искажения, шумы, переменный цвет фона — на момент появления вызывала тонны страданий пользователей. Сегодня вы увидите (или вспомните) лишь несколько примеров, с которыми раньше не могли справиться даже люди (в некоторых случаях, боты справлялись с капчей лучше людей).
Видеокапча
Канадский стартап NuCaptcha демонстрировал видеокапчу: бегущие по искривленной линии символы, из которых человеку предлагалось распознать последние три. Исследовательская группа из Стенфордского университета быстро создала алгоритм для взлома этой видеотехнологии. Они также обходили защиту обычной капчи и проекта audioCAPTCHA, направленного на работу со слабовидящими или слепыми пользователями.
Игровая капча
Стартап Are You a Human с помощью технологии PlayThru предлагает сыграть в мини-игру, в которой человеку необходимо выбрать нужный объект из ряда присутствующих и поместить его в определенное место. Хотя такой способ казался пользователю более понятным (и логичным), его также периодически подвергают попыткам взлома. Эта капча неэффективна, потому что не имеет достаточного количества элементов, чтобы предотвратить возможность перебора вариантов. Кроме того, высока вероятность получить правильный ответ, просто случайно угадав нужную последовательность действий. Каждый раз, когда капча пытается сделать что-то «приятное» и увлекательное для пользователя, возникает дыра в безопасности.
Художественная капча
Сайт треш-графики geee.net не мог обойтись без капчи, которая одним своим видом пугала бы посетителей. Пользователей просят нарисовать то, что они видят на картинке. Художественную капчу нельзя считать полноценным инструментом защиты — это шутка, призванная привлечь внимание, но юмора в ней не больше, чем правды. Капчу при должном старании пройти можно.
Маткапча
Пережив бурный расцвет, математическая капча быстро сошла в ноль, поскольку ответить на вопрос, сколько будет «3 + 3» для ботов не составляет никакого труда. Хитрость здесь в том, чтобы найти головоломку, которая оказалась бы трудна для ботов, но решаема для людей. Капчу, как на примере выше, можно решить, имея под рукой учебник по математическому анализу или доступ к WolframAlpha, но сколько людей готовы тратить свое личное время на поиски ответа?
Metal CAPTCHA
Вместо ряда букв и цифр Metal CAPTCHA просит пользователей расшифровать логотипы метал-групп. Если вы не знакомы с этим жанром музыки, вам будет трудно, но всегда можно воспользоваться поиском по изображениям. К сожалению, сейчас проект закрылся (по понятным причинам).
Программерская капча
Codecha — программерская капча, для решения которой требуется написать тело функции, решающей поставленную задачу на одном из выбранных языков программирования. Защищает не только от ботов (частично), но и от всех людей, не знакомых с программированием (полностью).
Нечитабельная капча
Пример китайской капчи с сайта 12306.com, на которой нужно отметить картинку (или картинки) с изображением агата. Сложность в том, что картинка имеет низкое качество и размер — на иллюстрации выше можете оценить в оригинальном виде.
Радиотехническая капча
Капча с ныне умершего радиотехнического форума flyback.org.ru использовалась при регистрации нового пользователя. В капче предлагается решить задачу на определение энергии, накопленной в конденсаторе. Описание задачи: трансформатор имеет коэффициент трансформации
С такой задачей вряд ли справятся нанятые за копейки индусы, с ходу разгадывающие любые символы на картинках стандартных капчей. Она также отпугнет всех пользователей, не обладающих достаточным уровнем знаний.
Передвижная капча
They Make Apps создали специальный слайдер, в котором курсор нужно расположить в конце линии, чтобы зарегистрироваться на сайте.
Графическая капча
MotionCAPTCHA представляет собой плагин, который предлагает пользователю повторить (нарисовать) фигуру из различных картинок.
Интерактивная капча
Интерактивная капча. Четыре разных ползунка должны быть установлены в правильное положение для публикации комментария в блоге — цвет ползунка нужно выбрать соответственно заданному полю.
Геометрическая капча
Эта геометрическая капча примерно на одном уровне с математической — одинаково сложные задачи для человека и в равной степени неэффективные перед ботами. Если вы отвечаете случайным образом, у вас 15-процентная вероятность (1 шанс из 6) дать правильный ответ, что, конечно, не позволяет обеспечить хороший уровень безопасности. Для того чтобы ответить на вопрос капчи, у вас есть только 30 секунд.
Полиязычная капча
Капча с сайта sveit.com (ныне заброшен) была основана на смешении сразу нескольких языков.
Скрытый код
А вот капча hidden-3d.com живее всех живых. Вам всего лишь нужно найти скрытый код в изображении.
Трехмерное изображение
3D капча. На самом деле ничего сложного, если вы знаете программирование.
Логические загадки
Логическая загадка, а не капча. Пример взят из подборки, и на каком сайте использовался данный вид капчи, сейчас определить трудно.
Считывание точек
Это не капча для слепых, как можно было подумать, а первая в мире капча, сделанная по системе Брайля. Ныне заброшена и нигде, к счастью, не используется.
Нотная капча
Музыкальная капча для сайта музыкантов. На сервере генерируется картинка из (псевдо)случайно выбранных четырех картинок нот и пауз. Имена картинок — цифры от 0 до 13 — соответствуют номеру позиции ноты на нотном стане, начиная от нижней добавочной. Ключ тоже случайный — басовый или скрипичный.
Капча, которую мы потеряли
Поскольку находятся способы взломать каждое новое поколение капч, алгоритмы машинного обучения дают компьютерам все больше и больше возможностей постигать окружающий мир. В какой-то момент капчи стали использоваться для обучения ИИ, который начинает действовать на тех же принципах, на которых работает наш мозг.
Эволюция капчи — это свидетельство прогресса ИИ. Первые надежные головоломки, которые использовались для защиты от ботов десять лет назад, теперь могут быть решены автоматически с помощью компьютеров в 99,8 % случаев. В то время как компьютеры становятся все лучше и лучше в решении головоломок, люди могут доказать свою человечность, выполняя другие типы задач.
Кроме того, появилось много сервисов для разгадывания капч, которые обслуживают тысячи живых пользователей, готовых за небольшие деньги разгадать любую поддающуюся их пониманию капчу.
В свое время в Mail.Ru Group пришли к тому же выводу: так появился сервис интеллектуальной капчи, не требующий от человека прохождения проверки. У нас более 100 млн пользователей, причем большая часть из них авторизована. А это значит, что с запросом на наши домены передаются сессионные куки, по которым мы определяем пользователя, а затем достаем его профиль, статистику, спам-рейтинг и т.д. Вся эта информация подается на вход алгоритма-классификатора, и на выходе мы получаем предположение о том, кем является пользователь — человеком или спам-ботом.