Создатели NuCaptcha были осведомлены об «успехах» Эли Бурштейна в ноябре 2011 года
Создатели NuCaptcha были осведомлены об «успехах» Эли Бурштейна в ноябре 2011 года

Полностью автоматизированный открытый тест Тьюринга по распознаванию людей и машин (Completely Automated Public Turing test to tell Computers and Humans Apart, CAPTCHA) призван защитить веб-сайты от роботов, автоматизирующих рассылку спама.

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

Тест NuCaptcha – это видеоверсия CAPTCHA, в которой технологии анимации призваны затруднить спам-боту процесс декодирования символов. Его создатели утверждают, что NuCaptcha обеспечивает самый высокий уровень безопасности и удобства из всех тестов CAPTCHA, присутствующих на рынке.

Но по словам исследователя из Стэнфордского университета Эли Бурштейна, это не совсем так. Начиная с октября 2010 года, Бурштейн вместе с другими исследователями анализировал безопасность NuCaptcha и в конечном итоге нашел способ, позволяющий преодолевать защиту в 9 случаях из 10.

«Самая сложная задача, стоящая перед нами, заключалась не в том, чтобы взломать защиту NuCaptcha (это я проделал еще в декабре 2010 года), а в том, чтобы объяснить, почему CAPTCHA с использованием видео обеспечивает более высокий уровень безопасности по сравнению с тестами CAPTCHA, построенными на основе анализа изображений, и показать, откуда берется эта дополнительная безопасность», – написал Бурштейн в блоге, посвященном технологиям проведения атак.

Вместе со своими коллегами он разработал специальный инструмент Decaptcha, в котором применяется особый алгоритм преодоления графической защиты CAPTCHA. «Если проводить сравнение со взломом защиты CAPTCHA, построенной на основе распознавания человеком изображений, преодоление видео в чем-то оказывается труднее, а в чем-то проще», – отметил Бурштейн.

Трудности связаны в основном с вычленением движущихся объектов, совокупность которых образует реальную строку CAPTCHA. Это требует отслеживания движения и алгоритмов анализа потоков, которые позволяют оценить каждый объект в зависимости от его свойств и появления в различных кадрах.

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

Самое сложное, с технической точки зрения – выделить объект, состоящий из этих четырех символов. Вместе с тем, в существующей реализации NuCaptcha справиться с этой задачей не так уж трудно.

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

Исследование Бурштейна направлено не только на преодоление защиты NuCaptcha, но и на поиск наилучших методов укрепления безопасности видеоверсии CAPTCHA.

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

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

«В случае успешной реализации сложность выделения объектов делает защиту CAPTCHA на основе видео достаточно надежной, для того чтобы успешно противостоять атакам на основе анализа образов и машинного обучения. Такая защита является более безопасной по сравнению со стандартным распознаванием CAPTCHA на базе текста».

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

Это означает, что запросы, поступающие с IP-адресов, которые ассоциируются с действиями сетевых роботов, приведут к созданию более сложных методов защиты CAPTCHA по сравнению с методами, ориентированными на среднего пользователя.

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

«Мы изучили версию, ориентированную на стандартную атаку (она уже сложнее той, которая была представлена на сайте), но не анализировали версию самой высокой сложности», – сообщил Бурштейн. Вместе с тем, исследователь не уверен, что усиление искажений и снабжение символов дополнительными элементами повысить эффективность защиты.

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