Анимированная капча с использованием жестов рук::Журнал СА 4.2014
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

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

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

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

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6225
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6931
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4213
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3004
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3806
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3818
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6315
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3166
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3459
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7275
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10644
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12363
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13998
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9123
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7077
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5387
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4613
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3426
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3154
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3399
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3024
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Анимированная капча с использованием жестов рук

Архив номеров / 2014 / Выпуск №4 (137) / Анимированная капча с использованием жестов рук

Рубрика: Карьера/Образование /  Пятая пара

Артем Шумилов АРТЕМ ШУМИЛОВ, обладатель первого места регионального тура «Россия и СНГ». МГТУ имени Н.Э.Баумана, студент, ashumilov@it-claim.ru

Андрей Филиппович АНДРЕЙ ФИЛИППОВИЧ, МГТУ имени Н.Э.Баумана, доцент, aphilippovich@it-claim.ru

Анимированная капча
с использованием жестов рук

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

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

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

Подобные задания не вызывают трудностей у человека, но оказываются сложны для спам-бота, который после нескольких неудачных попыток прохождения теста переходит к поиску другого сайта с более слабой защитой. Подробнее об изучении эффективности капчей – в публикациях [1-6].

Из всего многообразия вариантов реализации капчи можно выделить следующие группы:

  • Текстовая капча. Это наиболее распространенный вариант реализации, в котором пользователю предлагается ввести в текстовое поле символы, показанные на картинке. Картинки обычно содержат помехи разного рода: символы в той или иной степени искажены, развернуты, расположены не на одном уровне, на изображение наложены цветовые пятна, полосы и т.п. Чем сильнее искажена картинка, тем сложнее боту распознать ее, но и человек часто испытывает затруднения в понимании искаженного текста.
  • Звуковая капча. Звуковая или аудиокапча обычно используется как дополнение к текстовой и дает возможность пользователю пройти тест, даже если он не может по какой-то причине прочитать картинку. Аудиокапча обычно содержит фоновые звуки и посторонние шумы, добавленные для защиты от ботов, но затрудняющие распознавание и человеку. К тому же аудиокапча требует наличия оборудования воспроизведения звука на компьютере или мобильном устройстве.
  • Математическая капча. В этом варианте пользователю предлагается выполнить простейшие математические вычисления. Для человека такое задание будет необременительным, только если предлагается выполнить действия над простыми числами. Однако в этом случае существует опасность угадывания ботом правильного ответа простым перебором.
  • Логическая капча. Логические варианты реализации предлагают пользователю ответить на простой логический вопрос. Проблема в том, что пользователь может не знать языка, на котором задается вопрос. Кроме того, количество вопросов ограничено, что позволяет спамеру составить базу данных с вариантами правильных ответов.
  • Образная капча. Пользователю предлагается распознать объект на изображении. При ограниченном количестве предлагаемых изображений спамер, как и в случае с логическими вопросами, может составить свою базу данных изображений.
  • Интерактивная капча. В этом случае пользователю предлагается выполнить одно или несколько действий, как правило, с помощью компьютерной мыши, или сыграть в мини-игру. Такая капча действительно сложна для распознавания ботами, особенно пока она новая. Но проблема в том, что обычно на ее выполнение пользователь затрачивает значительное время, большее, чем на решение текстовой капчи.
  • Анимационная капча. В этом варианте пользователю предлагается распознать движущееся изображение (чаще всего это бегущая строка символов). Однако есть и другие, более сложные, варианты. Например, азиатские разработчики представили вариант теста с движением изображения на сильно зашумленном фоне [2]. Анимационная капча действительно сложна для распознавания ботами, но вместе с тем может вызывать трудности у людей с дефектами зрения.
Рисунок 1. Примеры простого и сложного вариантов текстовых капчей   Рисунок 2. Пример капчи с использованием жестов рук
Рисунок 1. Примеры простого и сложного вариантов текстовых капчей   Рисунок 2. Пример капчи с использованием жестов рук

Анимационная капча с использованием жестов рук

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

В основе научной базы проекта лежат многолетние исследования в рамках научной школы МГТУ им. Н.Э. Баумана под руководством Ю.Н. Филипповича [7], направленные на создание жестомимического интерфейса [8, 9].

Разработка трехмерной модели руки для отображения в браузере

Трехмерную модель руки можно создать в одном из популярных графических редакторов, таких как Autodesk 3dMax, AutodeskMaya, Blender. Для демонстрации трехмерной модели в браузере выбрана кроссбраузерная библиотека Three.js [10]. Для исследования эффективности капчи на первом этапе была разработана модель кисти руки, которая содержит 17 костей.

Разработка алгоритма моделирования движений руки

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

В связи с этим было принято решение анимировать руку программно, используя прямой доступ к положению костей скелетной модели. Это было сделано с помощью библиотеки Tween.js.

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

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

Формула 1

Ниже приведен код, используемый для вращения костей в вертикальной плоскости.

this.rotateV = function(angle, idx) {

idx = idx || 0;

varrMatrix = new THREE.Matrix4();

if (idx == 0) {

vMatrix.makeRotationAxis(hAxis, angle * Math.PI / 180);

rMatrix.multiplyMatrices(hMatrix, vMatrix);

}else {

vartempMatrix = new THREE.Matrix4();

tempMatrix.makeRotationAxis(hAxis, angle * Math.PI / 180);

rMatrix.multiplyMatrices(hMatrix,

tempMatrix);

}

bones[idx].setRotationFromMatrix(rMatrix);

};

Разработка интерфейса создания жестов и перевода текста в жесты

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

Рисунок 3. Скелетная модель кисти руки

Рисунок 3. Скелетная модель кисти руки

Рисунок 4. Оси вращения указательного пальца

Рисунок 4. Оси вращения указательного пальца

Рисунок 5. Интерфейс управления движением пальцев

Рисунок 5. Интерфейс управления движением пальцев

Защита капчи от взлома

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

Понимание жестов человеком

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

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

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

***

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

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

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

  1. Converse, T.: капча Generation as a Web Service. In: Baird, H.S., Lopresti, D.P. (eds.) HIP 2005. LNCS, vol. 3517, pp. 82-96. Springer, Heidelberg (2005).
  2. Moy, G., Jones, N., Harkless, C., Potter, R.: Distortion Estimation Techniques in Solving Visual капчаs. In: IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2004), vol. 2, pp. 23-28 (2004).
  3. Vicarious AI passes first Turing Test: капча [Электронный ресурс] – http://news.vicarious.com/post/65316134613/vicarious-ai-passes-first-turing-test-капча.
  4. Анимационная капча легче для людей и тяжелее для ботов [Электронный ресурс] – http://www.aiportal.ru/news/animated-капча.html.
  5. David Bushell. In Search Of The Perfect капча [Электронный ресурс] – http://coding.smashingmagazine.com/2011/03/04/in-search-of-the-perfect-капча.
  6. Jeff Atwood. капча Effectiveness [Электронный ресурс] – http://www.codinghorror.com/blog/2006/10/капча-effectiveness.html.
  7. Филиппович А.Ю. Научно-образовательный кластер в Интернете. //«Качество образования», сентябрь, 2012 г. – С. 40-45.
  8. Филиппович Ю.Н. Компьютерные средства поддержки коммуникативного взаимодействия людей с ограниченными слуховыми возможностями. Proceedings of 10th International Congress of the international society of applied Psycholinguistics «Challenges of information Society and applied psycholinguistics», RUDN-Institute of Linguistics RAN-MIL. – М.: 2013. – C. 254.
  9. Филиппович Ю.Н., Зеленцов И.А Распознавание скорописи XVII в. //«Проблемы полиграфии и издательского дела», №3, 2011 г. – С. 87-97.
  10. Кроссбраузерная библиотека [Электронный ресурс] – http://threejs.org.

Ключевые слова: капча, жестомимический интерфейс, распознавание жестов, 3D-моделирование, защита от спама.


Комментарии
 
  06.09.2023 - 03:55 | 

Очень интересная статья! Анимированная капча на основе жестов - это действительно перспективное направление. В отличие от обычных изображений, такую капчу намного сложнее взломать с помощью компьютерных алгоритмов.

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

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru