«Я не робот»: почему роботы не могут пройти капчу на сайтах
Что такое reCAPTCHA
Тест reCAPTCHA - более совершенная модель системы CAPTCHA, разработанной группой американских ученых из Университета Карнеги-Меллона еще в конце 1990-х годов. Концепция представляла собой автоматизированный публичный компьютерный тест, который был создан для того, чтобы эффективно вычислять роботов на интернет-ресурсах. Термин CAPTCHA появился в 1997 году, а успешно реализовать технологию удалось в начале XXI века. Сама аббревиатура была выдуманной и расшифровывалась как «Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей». Фраза звучала сложно, но именно оналучше всего отражала суть этих странных всплывающих окошек на сайтах — воспроизвести и автоматизировать обратный тест Тьюринга.
Первые тесты выглядели как изображения с растянутыми буквами и цифрами. При попадании на сайт пользователю предлагалось расшифровать и написать трудноразличимый текст. Считалось, что боты не в состоянии сделать это так же хорошо, как человек, который постоянно сталкивается с нечеткими буквами в разных контекстах (почерках или шрифтах) и имеет гораздо больше возможностей правильно восстановить искаженную надпись. В то время как бот, вероятнее всего, предпримет молниеносную попытку ввести случайный набор букв, а потом сделает это снова и снова: зафиксировав подозрительные действия, система сразу же заблокирует нежелательный трафик на сайте или в приложении. Таким образом получится защитить ресурс от спама и мошенников.
В то время как юзеры справлялись с «головоломкой» примерно за 10 секунд, роботы долго не могли взломать текстовые капчи. Однако все изменилось с развитием машинного обучения: боты научились считывать зашифрованный текст даже лучше людей, а вот реальные пользователи стали раздражаться, сталкиваясь с замысловатым набором букв. Мало того, что задача заставляла напрячь мозг и отнимала немало времени, роняя при этом посещаемость сайтов, так еще и оказывалась непосильной для пользователей с плохим зрением. Тогда на смену традиционным капчам пришли более совершенные варианты, где нужно было не распознавать текст, а искать объекты на фотографиях или слушать и расшифровывать короткие аудиозаписи. Но и здесь злоумышленники сделали все, чтобы обучить роботов обходить защиту.
В 2009 году компания Google предложила владельцам доменов улучшенный аналог CAPTCHA. Техногигант приобрел бренд reCAPTCHA и доработал существующую систему, чтобы заменить устаревшие методы распознавания ботов более продвинутыми инструментами. Теперь, посещая сайты в интернете, вы можете наткнуться на всплывающее окно с вращающейся стрелкой — логотипом reCAPTCHA. Самый свежий формат защитного механизма, запущенный в 2015 году, выглядит как чекбокс с надписью «Я не робот». Поставили галочку — и вы на сайте. Правда, в некоторых случаях после проверки система дополнительно просит либо ввести два слова с изображения, либо передвинуть фишку на пустое место, либо же выбрать квадраты с заданными объектами - мотоциклами, дорожными знаками, светофорами, пожарными гидрантами и другими.
Почему робот не может поставить галочку: это же так просто!
Многие пользователи задаются вопросом, почему боты не могут пройти легкий на первый взгляд тест «Я не робот», где нужно просто поставить галочку. Машину же легко запрограммировать на подобное действие. И это действительно так: галочки роботы ставить умеют, и в этом они схожи с нами. Другое дело — как они совершают несложное действие.
Вся разгадка кроется в том, что роботы ставят галочку быстрее, логичнее и точнее, чем это делают люди. Обученный бот сделает нужное действие за долю секунды, причем выберет самый эффективный и разумный путь, по которому поведет курсор. Тут-то он и попадется в ловушку системы! Движения реального пользователя отличаются нелогичностью и непредсказуемостью. Вы можете сначала замедлиться, читая текст, после чего передвинуть курсор; можете повести мышь медленно или чуть быстрее, а можете вообще сделать хаотичное движение рукой на пути к чекбоксу, если используете тачпад. Вариантов того, как именно вы достигнете цели, огромное множество. Конечно, есть способы заставить робота намеренно сделать паузу или выбрать кривую траекторию движения, но он никогда не спародирует свойственную только человеку «естественность» действий.
Более того, reCAPTCHA анализирует не только клик, но и собирает другие массивы данных о пользователе. Начиная с третьей версии, reCAPTCHA в фоновом режиме умеет обращаться к истории браузера; устанавливать IP-адрес, часовой пояс и время; проверять файлы cookie и плагины; фиксировать разрешение и размер экрана; считать количество кликов, прокруток страницы и число совершенных нажатий клавиш. Вся эта информация дает системе возможность безошибочно определить, кто перед ней находится — робот или человек.
Сегодня боты продолжают эволюционировать, что ставит под угрозу привычные системы безопасности в интернете. Несмотря на то, что капчи усложнились, их все равно не хватает для защиты от вредоносных ПО и роботов, подготовленных с применением технологий глубокого обучения. Теперь же для защиты веб-сайтов от подозрительного трафика специалисты по кибербезопасности применяют комплексные решения.