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

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

CC BY
355
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КАПЧА / МАШИННОЕ ОБУЧЕНИЕ / ТЕСТ ТЬЮРИНГА / НЕЙРОСЕТИ / РАСПОЗНАВАНИЕ ИЗОБРАЖЕНИЙ / РАСПОЗНАВАНИЕ ТРЁХМЕРНЫХ СЦЕН / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Архипов Ю.Б., Королев В.С., Прусаков А.А., Романов С.Ю., Саркисов В.Г.

Капча это устоявшийся термин, обозначающий полностью автоматизированный публичный тест Тьюринга для различения интернет-роботов и людей. Капчи используются для защиты интернет-ресурсов, и большинство пользователей интернета с ними сталкивались в виде изображений с кривыми буквами и цифрами. Успехи в распознавании изображений на основе нейросетей привели к тому, что старые, традиционные методы защиты веб-сайтов с помощью изображений деформированных символов стали не актуальны. Предполагается предоставить собственникам веб-ресурсов новый интернет-сервис подобный известному сервису защиты сайтов от Google, который называется reCaptcha. Изображения новой капчи, которые будет видеть пользователь перед входом на веб-ресурс, будут уникальными и формироваться путем моделирования нескольких 3D-объектов

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «О капчах, которые сложны для взлома с применением современных методов машинного обучения»

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

Архипов Юрий Борисович

старший научный сотрудник, Лаборатория математических методов, Национальный исследовательский центр «Курчатовский институт»,

Королев Вадим Сергеевич,

студент, Национальный исследовательский университет «Московский институт электронной техники»

Прусаков Александр Анатольевич,

начальник группы, Лаборатория математических методов, Национальный исследовательский центр «Курчатовский институт», prusakov.s@yandex.ru

Романов Сергей Юрьевич,

старший научный сотрудник, Лаборатория математических методов, Национальный исследовательский центр «Курчатовский институт»,

Саркисов Владимир Гургенович,

Канд. физ.-мат. наук, старший научный сотрудник, Национальный исследовательский центр «Курчатовский институт»,

Капча - это устоявшийся термин, обозначающий полностью автоматизированный публичный тест Тьюринга для различения интернет-роботов и людей. Капчи используются для защиты интернет-ресурсов, и большинство пользователей интернета с ними сталкивались в виде изображений с кривыми буквами и цифрами. Успехи в распознавании изображений на основе нейросетей привели к тому, что старые, традиционные методы защиты веб-сайтов с помощью изображений деформированных символов стали не актуальны. Предполагается предоставить собственникам веб-ресурсов новый интернет-сервис подобный известному сервису защиты сайтов от Google, который называется reCaptcha. Изображения новой капчи, которые будет видеть пользователь перед входом на веб-ресурс, будут уникальными и формироваться путем моделирования нескольких 30-объектов. Ключевые слова: капча, машинное обучение, тест Тьюринга, нейросети, распознавание изображений, распознавание трёхмерных сцен, искусственный интеллект.

Работа выполнена при поддержке НИЦ «Курчатовский институт» (приказ от 01.09.2017 №1473)

Введение

Цель настоящей работы - обсудить проблемы в создании тестов Тьюринга, а именно, нового вида капчи - такой, которая была-бы очень простой для «решения» людьми, но трудна для «взлома» интернет-ботом даже основанном на самых современных технологиях машинного обучения. Капча это один из видов Теста Тьюринга. Программа, которая «проходит» признается Искусственным Интеллектом (ИИ) (Turing, 1950).

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

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

Как удалось выяснить из сообщений на ха-керских форумах, капчи, которые наиболее часто используются для защиты интернет ресурсов, в первую очередь пытаются «взломать» с помощью методов распознавания изображений на основе Искусственных Нейронных Сетей (ИНС). Описываемый набор задач обозначит границу возможного для СНС, что в свою очередь позволит создать инструмент, при использовании которого можно будет надежно отделять запро-

х

X

о го А с.

X

го m

о

ю 2

М О

to

О)

о

CS

CS Ol

о ш m

X

<

m О X X

сы реальных пользователей, т.е. людей, от запросов, посылаемых интернет-роботами.

Капча

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

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

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

Рис. 1. Капчи с которыми сталкиваются пользователи сети Интернет

М.М. Бонгард в 60-е годы XX века в ИППИ РАН, когда приступил к изучению возможности нейросетей, собрал обучающую выборку из де-

формированных символов (сдвинутых, повернутых, растянутых, с разрывами и пр.), т.е. первого исследователя возможностей нейросетей следует считать и автором идеи капчи на искаженных символах. В подтверждение приведём рисунок из книги Бонгарда (Бонгард, 1967) с по-разному начертанной буквой «А» (см. рис. 2).

д л А

А Д А

л а л

Рис. 2. Первые в истории искаженные символы для тестирования нейросетей

Компания Google в настоящее время стала применять на своих сайтах капчу, принципиально отличающуюся от символьной. Google также предлагает встраивать свою новую капчу (сервис reCaptcha V2) в любые сторонние сайты. Ныне в капче от Google демонстрируются несколько небольших изображений, случайно выбранных из большой базы изображений (рис. 3).

Рис. 3. Капча от Google, предлагает указать картинки с автомобилями.

Заметим: в настоящее время надежная капча должна иметь базу из огромного количества изображений (сотни тысяч), чтобы не удалось путем запросов с разных адресов накопить изображений достаточно много, и использовать их потом для «взлома» сайтов. Классифицировать вручную сотни тысяч изображений с финансовой точки зрения под силу, пожалуй, только компании Google.

Однако следует обратить внимание на то, что, во-первых, количество классов объектов (т.е. знаки, автомобили, витрины и пр.) на капче от Google также, как и у символьной капчи, ограничено; во-вторых, часто распознаваемые объекты плоские и подвергаются ограниченному набору искажений (только аффинным деформациям) на изображениях, что существенно облегчает их автоматическое распознавание.

Разработкой новых видов капч озабочены почти все крупные ИТ-компании, о чем свидетельствует поток патентов в этой области: например, патент от Microsoft (Rui, et al., 2010) по генерации изображений на основе 30-моделей.

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

Предложений, как сделать «невзламывае-мые» капчи, запатентовано множество. Некоторые авторы капч имеют представление о достоинствах и недостатках современных систем распознавания и, в частности, об ограничениях, заложенных в нейросетях, которые вытекают из их архитектуры (LeCun, et al., 1998). Так, например, на основе компьютерных 30-моделей делаются попытки автоматически генерировать практически бесконечный ряд «трудных» для классификации изображений.

В патенте компании Microsoft (Rui, et al., 2010) предлагается способ отличить человека от интернет-робота, основанный на способности человека узнавать различные части тела человека или животного. Например, пользователю на экране компьютера демонстрируется изображение человеческого лица и даётся задание: навести курсор и кликнуть на мочку уха. При этом изображение формируется на основе 3D-модели лица. Такое формирование происходит при случайно выбранных (в некотором диапазоне) параметрах: положении лица в кадре, его размеров, растяжений по осям, поворотам (анфас, полуанфас, в профиль).

Описанная капча от Microsoft, наряду с указанными достоинствами, имеет и три существенных недостатка: 1) база трёхмерных объектов (лиц или животных) всегда будет ограничена, т.к. модели не создаются автоматически, а могут быть получены в результате либо трудоемкого 3D-сканирования, либо путём моделиро-

вания в трехмерном редакторе; 2) объектов, которые имеют название и которые просят указать на изображении тоже, как и букв, не может быть много (т.е. ухо, нос, глаз и пр.); 3) именно распознавание лиц и проблема нахождение на лице различных мест, привязанных к конкретным частям (уголки глаз и пр.) - это задача, которая даже имеет особое название «face alignment». Как и анализ дорожной обстановки, проблема распознавание лиц - горячая тема машинного обучения, много инженерных групп работает в этом направлении.

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

Капча на основе Общей семантической сегментации изображений

Перед авторами настоящей работы стояла цель, во-первых, создать капчу, в которой есть «восприятие» изображения, но нет «распознавания» никаких классов или образов; во-вторых, компьютерное «восприятие» такой капчи должно основываться на существенно последовательных и символьных алгоритмах, далеких от возможностей нейросетевых «pattern matching».

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

Одним из вопросов к пользователю может быть - «сколько разных объектов он видит на изображении (см. рис. 4)? Предполагается, что это легкая задача для человека, но не для робота.

оЩ*

Рис. 4. Вопрос капчи - Сколько объектов на изображении? Легко ответить человеку, но не компьютеру.

Особая подпрограмма для предлагаемой капчи призвана генерировать случайные, новые и неповторимы Эй-объекты. Далее синтезированные ЭР-объекты «случайно» располагаются

х

X

о го А с.

X

го m

о

ю 2

М О

to

О)

о

сч

сч

OI

о ш m

X

3

<

m О X X

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

Пример Эй-сцены, почти «случайно» составленной из «случайно» сгенерированных объектов при «случайных» условиях освещения, приведен на рис. 5.

Рис. 5. Сцена из «(случайно» расположенных и «случайно» сгенерированных объектов.

Заключение

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

В работе описана проблема, которая, как предполагается, составляет четко обозначенный вызов для области науки, которую традиционно принято относить к области Искусственного интеллекта.

«Действующая демонстрационная модель» описанной капчи доступна по адресу: https://kicaptcha.000webhostapp.com/.

На описанную здесь технологию защиты сайтов (капчу) получен патент РФ (Архипов, 2017).

Литература

1. Архипов Ю.Б., В.С. Королёв В.С., Прусаков А.А., Романов С.Ю., Саркисов В.Г. Способ идентификации пользователя компьютера "Человек или Интернет-робот". Патент РФ № 2663475. 2017.

2. Бонгард М.М. Проблема узнавания. М. Физматгиз, 1967.

3. LeCun Y, Bottou L., Bengio Y, Haffner P. Gradient-based learning applied to document recognition Proceedings of the IEEE. 1998. №86, pр. 2278—2324.

4. Turing A., Computing Machinery and Intelligence. Mind. 1950, vol. LIX. № 236. pp. 433—460.

5. Rui Y., Liu Z. System and method for devising a human interactive proof that determines whether a remote client is a human or a computer program. Patent USA №US7725395 .2010.

About Captcha, which are difficult to hack using modern

machine learning methods Arkhipov Yu.B., Korolev V.S., Prusakov A.A., Romanov S.Yu., Sarkisov V.G.

National Research Centre "Kurchatov Institute", MIET CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is a well-known web application, which is widely used for protecting Internet resources. Most Internet users face these tests every day. Recently, many new methods of hacking this kind of protection haveappeared. One of the popular way to break a CAPTCHA is the use of machine learning techniques. In addition, these methods are often supplemented by "manual" image preprocessing and mapping. In this work, we present several new types of CAPTCHA that seems to be highly resistant to hacking even with help of the most modern methods. Keywords: CAPTCHA, machine learning, Turing test, networks, deep learning, image recognition, three-dimensional scene recognition, artificial intelligence. References

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Arkhipov Yu.B. , V.S. Korolev V.S. , Prusakov A.A. , Romanov

S.Yu. , Sarkisov V.G. The method of identification of the computer user "Man or Internet robot". The patent of the Russian Federation № 2663475. 2017.

2. Bongard MM The problem of recognition. M. Fizmatgiz, 1967.

3. LeCun Y, Bottou L., Bengio Y, Haffner P. Graduation-of-IEEE.

1998. № 86, pp. 2278-2324.

4. Turing A., Computing Machinery and Intelligence. Mind 1950,

vol. LIX. No. 236. pp. 433-460.

5. Rui Y., Liu Z. Patent USA No. US7725395 .2010.

i Надоели баннеры? Вы всегда можете отключить рекламу.