«Я не робот»: почему роботы не могут пройти капчу на сайтах

Компьютерный тест, известный как reCAPTCHA, призван защитить веб-ресурсы от автоматизированных ботов и сделать интернет-среду более безопасной. Некоторые сайты в сети просят пользователей пройти капчу: поставить галочку в чекбоксе рядом с надписью «Я не робот» или справиться с простой визуальной задачей. Пройти такой тест у человека не составит труда, а вот робот его наверняка провалит...
«Я не робот»: почему роботы не могут пройти капчу на сайтах 
Freepik

Что такое reCAPTCHA

Тест reCAPTCHA - более совершенная модель системы CAPTCHA, разработанной группой американских ученых из Университета Карнеги-Меллона еще в конце 1990-х годов. Концепция представляла собой автоматизированный публичный компьютерный тест, который был создан для того, чтобы эффективно вычислять роботов на интернет-ресурсах. Термин CAPTCHA появился в 1997 году, а успешно реализовать технологию удалось в начале XXI века. Сама аббревиатура была выдуманной и расшифровывалась как «Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей». Фраза звучала сложно, но именно оналучше всего отражала суть этих странных всплывающих окошек на сайтах — воспроизвести и автоматизировать обратный тест Тьюринга.

Метод проверки CAPTCHA был создан на основе реального теста известного математика Алана Тьюринга. Идея, призванная выяснить, может ли машина мыслить, была описана ученым в статье «Вычислительные машины и разум» в 1950 году.
reCAPTCHA
reCAPTCHA
Редакция Techinsider.ru
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

В то время как юзеры справлялись с «головоломкой» примерно за 10 секунд, роботы долго не могли взломать текстовые капчи. Однако все изменилось с развитием машинного обучения: боты научились считывать зашифрованный текст даже лучше людей, а вот реальные пользователи стали раздражаться, сталкиваясь с замысловатым набором букв. Мало того, что задача заставляла напрячь мозг и отнимала немало времени, роняя при этом посещаемость сайтов, так еще и оказывалась непосильной для пользователей с плохим зрением. Тогда на смену традиционным капчам пришли более совершенные варианты, где нужно было не распознавать текст, а искать объекты на фотографиях или слушать и расшифровывать короткие аудиозаписи. Но и здесь злоумышленники сделали все, чтобы обучить роботов обходить защиту.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

В 2009 году компания Google предложила владельцам доменов улучшенный аналог CAPTCHA. Техногигант приобрел бренд reCAPTCHA и доработал существующую систему, чтобы заменить устаревшие методы распознавания ботов более продвинутыми инструментами. Теперь, посещая сайты в интернете, вы можете наткнуться на всплывающее окно с вращающейся стрелкой — логотипом reCAPTCHA. Самый свежий формат защитного механизма, запущенный в 2015 году, выглядит как чекбокс с надписью «Я не робот». Поставили галочку — и вы на сайте. Правда, в некоторых случаях после проверки система дополнительно просит либо ввести два слова с изображения, либо передвинуть фишку на пустое место, либо же выбрать квадраты с заданными объектами - мотоциклами, дорожными знаками, светофорами, пожарными гидрантами и другими.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
reCAPTCHA
reCAPTCHA
Редакция Techinsider.ru

Почему робот не может поставить галочку: это же так просто!

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

reCAPTCHA для оцифровки архивов и книг
widget-interest

Изначально слоган ReCAPTCHA был таким: «Stop Spam, Read Books». Сегодня он имеет мало общего с реальным применением системы, однако изначально тест задумывался исследователями не только как способ вычисления ботов. Миссия проекта была гораздо мастшабнее: он позволял расшифровывать ошибочные слова для оцифровки книг, журналов и документов в Google Books. Другими словами, угадывая текст капчи, пользователи помогали восстановить пробелы в контексте. 

 

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

 

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

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