Способ идентификации пользователя компьютера "человек или интернет-робот"

Иллюстрации

Показать все

Изобретение относится к безопасности компьютерных сетей, а именно к формированию изображений при прохождении пользователем полностью автоматизированного теста Тьюринга. Технический результат - повышение вероятности отличить человека от интернет-робота при доступе к интернет-ресурсам. Способ идентификации пользователя компьютера «человек или интернет-робот», в котором каждое изображение формируется на основе группы 3-мерных моделей, при этом параметры освещения и ракурса съемки задаются псевдослучайным процессом, каждая такая 3-мерная модель может синтезироваться из 3-мерных элементарных примитивов путем применения операций объединения, пересечения, дополнения, при этом на изображении демонстрируются более трех объектов и обязательно некоторые имеют сложную форму, и обязательно присутствуют заслонения одних 3-мерных моделей другими, кроме того, объекты отбрасывают тени друг на друга, при этом для каждого тестового задания автоматически создается уникальное изображение. 4 з.п. ф-лы, 5 ил.

Реферат

Область техники

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

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

Тест на то, что доступ на сайт осуществляет человек, имеет общепринятое название - капча. Капча (от абревиатуры САРТСНА-англ. Completely Automated Public Turing test to tell Computers and Humans Apart - полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей) - компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Термин появился в 2000 году. Основная идея капчи: предложить пользователю такую задачу, которая с легкостью решается человеком, но крайне сложна и трудоемка для компьютера (в идеале неразрешима). Поскольку в данном случае тест осуществляется не человеком, а машиной, такой тест часто называют обратным тестом Тьюринга. По состоянию на 2013 год, каждый день пользователями по всей планете вводится примерно 320 миллионов «капчей» (см. статью на Википедии https://en.wikipedia.org/wiki/CAPTCHA). Некоторые требования к интернет ресурсам, которые используют тест капча предъявляет «ГОСТ Р 52872-2012. Национальный стандарт Российской Федерации. Интернет-ресурсы. Требования доступности для инвалидов по зрению»

Уровень техники

Основной мерой противодействия интернет-роботам является дополнительная проверка пользователя, которая осуществляется в виде предложения пользователю выполнить небольшое тестовое задание. Предполагается, что если доступ к ресурсу пытается выполнить человек, то тест легко и успешно им будет пройден, а для интернет-робота, даже специально запрограммированного, вероятность выполнить проверочное задание будет мала. Например, на самом популярном сайте российского сектора интернета (социальной сети «Вконтакте») такая проверка организована в виде следующего теста: человеку демонстрируется сильно искаженный набор четырех символов, над которыми высвечивается просьба - прочитать «кодовое слово», а затем ввести кодовый набор символов с помощью клавиатуры в специальном окне. Для затруднения распознавания интернет-роботом кодовые символы на картинке специально перечеркиваются, наклоняются, растягиваются, имеют разрывное начертание и пр. Наложение все более сложных «шумов» и частую модификацию искажений приходится делать по причине появления все более изощренных программ распознавания символов. Так, в описании изобретения к патенту RU 2 608 262 «ИСКАЖЕНИЕ'СИМВОЛОВ ДЛЯ СИМВОЛЬНО-ГРАФИЧЕСКОГО ОБРАТНОГО ТЕСТА ТЬЮРИНГА» предлагается получать новые виды графически искаженных символов путем морфинга (получения промежуточных начертаний), основанного на двух или более известных стандартных шрифтах.

Известен программный код интернет-робота, который выполняет распознавание символов для любых современных символьных капча с вероятностью 85% (см. http://www.opennet.ru/opennews/art.shtml?num=47477). Владельцы сайтов вынуждены модифицировать, усложнять тест, вносить еще больше искажений и шумов в начертание символов. Однако и сильно усложненные текстовые капчи с легкостью распознаются современными методами распознавания на основе нейросетей (см. https:.//habrahabr.ru/post/343222/).

Из анализа успешных методов «взлома» текстовой капчи можно сделать выводы об основных недостатках теста на основе символьного кодового слова:

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

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

Помимо капчи на основе искаженных символов в интернете распространены и иные способы проверки пользователя. Так, довольно часто капча появляется только в случае необычного поведения пользователя (т.е. при подозрении, что проводится атака интернет-роботом). Например, если пользователем выполняется ряд подозрительно быстрых однотипных действий, защита поисковика Google сначала предлагает пройти простой тест (капчу) (пример по адресу: https://patrickhlauke.github.io/recaptcha/); если действия пользователя еще более угрожающие, то появляется более сложное (для робота) задание - требуется указать картинки с заданным содержанием среди нескольких. Например, предлагается указать с помощью мыши те (три-четыре) картинки из 16, на которых присутствует, например, дорожный знак. Компания Google, по-видимому, использует этот способ проверки пользователя (на «человечность») из-за того, что защиту по «кодовому слову» приходилось часто модифицировать, изощряясь в искажениях и шумах. Google демонстрирует выбранные 16 изображений из большой базы, где все картинки просмотрены и вручную классифицированы.

Проблема этого метода состоит в том, что злоумышленники вполне могут при автоматическом многократном обращении на сайт компании Google собрать достаточно большую часть изображений, которые хранятся в базе данных Google, затем эти изображения самим расклассифицировать, а далее «обучить» нейросеть распознавать их. Чтобы этого не допустить, необходимо создать много тестовых изображений, а также не меньше сотни категорий тестовых изображений. Но создание большой базы классифицированных изображений является очень трудоемкой и дорогой задачей даже для Google. Кроме того, т.к. база изображений капчи от Google - это изображения из сети Интернет, то злоумышленникам для тренировки современных обучающихся систем распознавания изображений также не сложно собрать обучающую выборку в сети Интернет. И, кроме того, оказывается, что для использования в качестве взламывающих программных средств вполне подходят бесплатные библиотеки тренировки нейросетей от самой компании Google. Т.е. фактически алгоритмы распознавания от Google (https://arxiv.org/pdf/1312.6082v4.pdf) неплохо взламывают капчи Google.

В публикациях предложено несколько способов преодоления вышеуказанных недостатков для самых распространенных видов капчи (напомним, в рамках одного вида капчи демонстрируются искаженные символы, во втором виде требуется указать изображения (из нескольких) с заданным содержанием). Одним из самых перспективных способов преодоления указанных выше недостатков является создание изображений капчи на основе виртуальных компьютерных 3D моделей объектов. Использование одной 3D модели дает возможность синтезировать тысячи ее 2D изображений. Изменяя ракурс съемки модели (т.е. поворачивая в трехмерном пространстве), изменяя текстуру и раскраску, задавая разные условия освещения, наконец просто деформируя растяжением-сжатием 3D модель или задавая параметрические скелетно-модифицируемые 3D модели, можно добиваться чрезвычайного разнообразия тестовых изображений для капчи. Например, в патенте US 8510814 «Method and apparatus for network authentication of human interaction and user identity» предлагается для каждой выбранной 3D модели животного, человека, предмета мебели и пр. случайным образом изменять один или несколько параметров визуализации, причем таким образом, что каждый соответствующий объект остается узнаваемым человеком. Например, в одном из способов различения человека и интернет-робота пользователю предлагается навести курсор мыши и кликнуть на кошку, в то время как на изображении присутствуют также и другие животные, или указать на сидящую кошку. Т.е. пользователь должен распознавать на изображении различные классы объектов и/или их состояние.

Прототипом заявляемого способа является способ, изложенный в патенте U 7725395 «System and method for devising a human interactive proof that determines whether a remote client is a human or a computer program». В патенте предлагается способ отличить человека от интернет-робота, основанный на способности человека узнавать различные части тела человека или животного. Например, пользователю на экране компьютера демонстрируется изображение человеческого лица и дается задание: с помощью манипулятора мышь навести курсор и кликнуть на мочку уха. При этом изображение формируется на основе 3D модели лица. И такое формирование происходит при случайно выбранных (в некотором диапазоне) параметрах: положения лица в кадре, его размеров, растяжений по осям, поворотам (анфас, полуанфас, в профиль), лицо может изменять выражение (улыбаться, говорить и пр.), кроме того - расположение и характеристики источников освещения модели также задаются случайно. Если база данных содержит достаточно много моделей различных лиц (например, 1000), то число моделей в базе, помноженное на множество значимо различающихся параметров формирования изображений лица дает в итоге огромную изменчивость демонстрируемых' пользователю изображений. И все эти изображения совершенно уникальны - ни одно из них нельзя встретить в Интернете, т.е. основное достоинство способа - каждое изображение практически гарантированно показывается один раз. И даже отдельные части лица, которые требуется найти и указать пользователю (например, нос) выглядят по-разному, т.к. они по-разному могут быть повернуты, наклонены, освещены и пр.

Недостаток способов, основанных на задании пользователю выделить на изображении объект заданного класса, или узнать и указать курсором требуемую часть объекта, состоит в том, что этот объект или часть тела обязательно должно иметь название («рука», «глаз» и пр.), чтобы человек понял суть задания. Однако, в настоящее время злоумышленникам доступны как платные, так и бесплатные обучающиеся программные системы распознавания изображений, основанные на технологии глубинных нейросетей. Для этой технологии созданы мощные аппаратные ускорители фирмы NVidia. Проводятся ежегодные соревнования по компьютерному распознаванию лиц. Проводятся также соревнования по компьютерному распознаванию видов животных на изображениях. Конечно, нейронные сети обучаются на совсем иных изображениях, не тех, которые потом будут предложены интернет-роботу при выполнении теста капчи. База изображений для обучения, как правило формируется на основе общедоступных картинок из сети интернет. И вполне несложно собрать такой объем обучающей выборки, которого вполне достаточно, чтобы научить нейросеть устойчиво узнавать положение, например, носа на любых, даже синтетических 3-мерных лицах, которые формируют в обсуждаемом способе-прототипе. Т.е. вероятность прохождения интернет-роботом капчи, основанной на узнавании частей тела, вероятно, около 50%, что совершенно недопустимо. Хотя авторы способа и предлагают накладывать на изображение «шумы» для затруднения роботу распознавания расположения заданных в капче частей тела, это влечет (как и в случае с зашумлением символов) повышение трудности давать правильные ответы и у человека.

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

Проблемой, решаемой данным способом, является повышение надежности распознавания пользователя, является ли он человеком или интернет-роботом..

Технический результат - повышение вероятности с помощью теста-капчи отличить человека от интернет-робота при доступе к интернет ресурсам.

Раскрытие изобретения.

Для достижения указанного результата предложен способ идентификации пользователя компьютера «человек или интернет-робот», включающий этапы:

(а) выбирают одну или более 3-мерные модели из библиотеки 3-мерных моделей, каждая из 3-мерных моделей в библиотеке содержит геометрические данные формы в трех пространственных измерениях,

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

(в) генерируют, по крайней мере, одно 2-мерное изображение группы, которую формируют на этапе (б), при этом автоматически генерируют и сохраняют параметры описания изображения,

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

(е) выполняют автоматическое сравнение сохраненных параметров ответных действий пользователя с параметрами описания изображения, которые формируют на этапе (в), при этом

в состав группы 3-мерных моделей, которую формируют на этапе (а), входит, по крайней мере, три модели, по крайней мере, одна модель, которая имеет выпукло-вогнутую форму и, по крайней мере, две модели группы, которые частично заслонены, по крайней мере, одной моделью группы. Кроме того.

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

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

- описывают требуемую последовательность действий пользователя на этапе (г), используя для описания взаимного расположения, по крайней мере, двух моделей группы, формируемой на этапе (б), слова из ряда: «на», «в», «под», «над», «за», «перед», «у», «при», «между»; «напротив», «внутри», «слева от», «справа от», «левее», «правее», «в стороне», «около», «рядом с», «ближе к», «дальше от», «позади», «сзади», «среди», «снаружи»,

- модели, используемые на этапе (б), синтезируют путем применения операций объединения, пересечения и дополнения из набора отдельных примитивных форм, выбираемых псевдослучайным образом.

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

Краткое описание чертежей

На фиг. 1 показан результат операции «объединение», которую использовали при синтезе нового объекта на основе куба и шара.

На фиг. 2 показан результат операции «взятие дополнения», когда от куба «откусили» часть, которая оказалась внутри шара при некотором пересечении куба и шара.

На фиг. 3 показано изображение теста капчи по пункту 2 Формулы изобретения данной заявки, в котором пользователю дается задание указать (или ввести с клавиатуры) количество воспринимаемых им различных объектов на изображении.

На фиг. 4 показано изображение теста капчи по пункту 3 Формулы изобретения данной заявки, в котором пользователю дается задание указать на некоторой объект на одном из двух изображений, причем, на тот объект, который отсутствует на другом, соседнем изображении.

На фиг. 5 показано изображение теста капчи по пункту 4 Формулы изобретения данной заявки, в котором пользователю дается задание указать на некоторой объект на изображении, который находится между двумя одинаковыми объектами

Настоящее изобретение направлено на разработку такой капчи, которая основана на способности человека выделять на изображении области, относящиеся к разным объектам, человек легко может воспринимать и описывать взаимное расположение объектов, демонстрируемых на изображении. При этом предполагается, что объекты не разнесены в кадре, а могут частично заслонять друг друга, или иметь частичное самозаслонение. Причем у человека эта способность совершенно не зависит от того, известные или не известные человеку объекты демонстрируются на изображении. В настоящее время не существует даже заявлений о существовании сколько-нибудь надежно работающих систем (для нетривиальных случаев группирования объектов в кадре) по предварительному автоматическому разбиению кадра на области, относящиеся к разным объектам. Для всех систем распознавания, ныне присутствующих на рынке, нахождение в кадре месторасположения распознаваемого объекта и, собственно, его распознавание - это всегда совмещенные операции. То есть, если на объекте некоторого класса не проводилось обучение его распознаванию, то такой объект для автоматической системы никак не отделим от фона на изображении. Некоторые попытки разработки автоматического выделения разных и неизвестных объектов в кадре в качестве предварительного процесса при анализе содержания кадра следует считать малорезультативными (см. http://www. topazk.ru/ssl/Projectl/Projectl.htm). Применение популярных ныне нейросетевых алгоритмов для решения указанной задачи авторам заявки неизвестно. Поэтому следует считать маловероятным, что злоумышленники -взломщики предложенной в данной заявке капчи, смогут в обозримом будущем сделать уникальную программную систему со свойствами, которые легко демонстрирует человек, но которые еще никто не предъявлял как способность некоторого автоматизированного процесса.

Для способа по данной заявке так же как и для способа, выбранного в качестве прототипа (US №7725395), как и для большинства способов, основанных на визуализации 3-мерных моделей, общим является то, что при каждом запросе пользователя на доступ к защищаемому интернет ресурсу начинает автоматически исполняться последовательность нижеследующих рабочих этапов отклика (предполагается, что описанный ниже сценарий взаимодействия с пользователем является наиболее типичным, но не единственным для описываемого в данной заявке способа):

- выбирают из базы моделей или синтезируют одну или несколько 3-мерных моделей, если выбирают несколько моделей, то из них формируют группу в трехмерном пространстве;

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

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

- пользователь разглядывает изображение, читает текст задания и выполняет его;

- при выполнении пользователем последовательности ответных действий браузер пользователя формирует набор параметров, этот набор параметров характеризует восприятие пользователя относительно содержания изображения, далее браузер пользователя отправляет на сервер значения этих параметров;

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

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

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

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

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

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

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

Осуществление изобретения

На одном из этапов выполнения теста (капчи), там, где демонстрируется изображение: пользователь разглядывает изображение, читает текст задания и выполняет его.

Тестовым заданием пользователю может являться предложение ответить на вопрос (и ввести ответ с помочью клавиатуры, но не исключительно этим способом) о количестве наблюдаемых им различных объектов в группе 3-мерных объектов на демонстрируемом изображении (см. Фиг. 3). Интернет-робот, который могли бы создать злоумышленники, такое задание, предположительно, выполнит скорее неправильно. Для человека ответ не составит труда.

Также пользователю может демонстрироваться одновременно два изображения. Эти изображения сформированы для разных групп 3-мерных моделей и при разных параметрах освещения и съемки. Но, две группы объектов на двух изображениях отличаются только тем, что состав группы на одном изображении отличается всего лишь отсутствием одного из объектов (3-мерных моделей) от состава группы на другом изображении (см. Фиг. 4). При этом пользователю дается задание указать тот объект на одном из изображений, который отсутствует на другом, «соседнем кадре». Так как объекты на каждом изображении не имеют названия, их демонстрируют только один раз, и все они существенно различны по форме, и все их формы достаточно сложны, а кроме того, присутствуют частичные заслонения и самозаслонения, а кроме того, объекты имеют «случайное» взаимное расположение, и условия освещения и ракурс «съемки» на двух кадрах существенно различны, то в этих условиях определить, какой именно объект отсутствует на одном из двух кадров - задача непреодолимая для любой программы компьютерного зрения, но совершенно тривиальна для человека.

Также можно различить человек выполняет задание капчи или программный процесс, основываясь на способности человека вычленять из группы 3-мерных объектов разные объекты, воспринимать их взаимное расположение и понимать несложный текст на русском языке, отражающий особенности взаимного расположения объектов, выраженные с помощью предлогов и наречий, приведенных ниже. Эта способность может быть выражена человеком путем словесного описания того, что он видит на изображении. Но для нас важно, что человек вполне в состоянии ответить на сложные вопросы, заданные на русском языке о взаимном расположении объектов в группе. На этапе выполнения теста (капчи), когда пользователь разглядывает изображение и читает текст задания, в таком тексте может присутствовать требование, например: «укажите объект, который расположен за тем объектом, на левом боку которого присутствует символ «А»». Т.е. пользователю даются задания, которые могут быть выполнены не только при условии «правильного» восприятия пространственного расположения отдельных объектов в кадре, но и при условии правильного восприятии самого текста задания, которое формулируется довольно пространным предложением на обычном русском языке. Например, может быть следующее задание капчи: «Укажите объект, который находится между двумя одинаковыми по форме объектами» (Фиг. 5). Капчи, содержащие такое задание-вопрос, где в тексте указывается относительное пространственное положение двух и более объектов в трехмерном пространстве, также защищаются данной заявкой. Такое указание на взаимное расположение объектов в тексте задания, как правило, означает, что используют, по крайней мере, один из пространственных предлогов: «на», «в», «под», «над», «за», «перед», «у», «при», «между». Или еще могут применяться одно из перечисленных ниже пространственных наречий русского языка: «напротив», «внутри», «между», «слева от», «справа от», «левее», «правее», «в стороне», «около», «рядом с», «ближе к», «дальше от», «позади», «сзади», «среди», «снаружи».

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

1. Способ идентификации пользователя компьютера «человек или интернет-робот», включающий этапы:

(а) выбирают одну или более 3-мерных моделей из библиотеки 3-мерных моделей, каждая из 3-мерных моделей в библиотеке содержит геометрические данные формы в трех пространственных измерениях,

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

(в) генерируют по крайней мере одно 2-мерное изображение группы, которую формируют на этапе (б), при этом автоматически генерируют и сохраняют параметры описания изображения,

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

(д) при выполнении пользователем последовательности ответных действий, о которых его информируют на этапе (г), описывают ответные действия пользователя набором параметров и сохраняют его,

(е) выполняют автоматическое сравнение сохраненных параметров ответных действий пользователя с параметрами описания изображения, которые формируют на этапе (в), отличающийся тем, что

в состав группы 3-мерных моделей, которую формируют на этапе (а), входит по крайней мере три модели: по крайней мере одна модель, которая имеет выпукло-вогнутую форму, и по крайней мере две модели группы, которые частично заслонены по крайней мере одной моделью группы.

2. Способ по п. 1, отличающийся тем, что при выполнении этапа (д) формируют и сохраняют параметры действий пользователя так, что по крайней мере один параметр однозначно связан с числом обнаруживаемых пользователем моделей на изображении, которое генерируют на этапе (в), и этот «пользовательский» параметр на этапе (е) сравнивают с соответствующим автоматически сформированным на этапе (в) параметром описания изображения, который характеризует истинное число моделей на изображении.

3. Способ по п. 1, отличающийся тем, что при выполнении этапа (д) формируют параметры действий пользователя так, что по крайней мере один параметр однозначно связан с отсутствующей по крайней мере одной моделью, на по крайней мере одном изображении, на по крайней мере одной из пар изображений, которые формируют на этапе (в) на основе одной группы моделей, которую формируют на этапе (а).

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

5. Способ по п. 1, отличающийся тем, что модели, используемые на этапе (б), синтезируют путем применения операций объединения, пересечения и дополнения из набора отдельных примитивных форм, выбираемых псевдослучайным образом.