Статья опубликована в рамках: Научного журнала «Студенческий» № 33(203)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3
РАЗРАБОТКА ПРОГРАММНОГО КОМПЛЕКСА ЗАЩИТЫ АУТЕНТИФИКАЦИОННЫХ ДАННЫХ ПОЛЬЗОВАТЕЛЕЙ В WEB-ПРИЛОЖЕНИЯХ
АННОТАЦИЯ
Статья посвящена разработке программного комплекса системы, которая позволит обезопасить аутентификационные данные пользователей в web-приложениях, а также рассмотрению варианта ее реализации.
Ключевые слова: аутентификация, идентификация, web-ресурс, биометрическая система, клиент-приложение.
В современном мире веб-приложения являются неотъемлемой частью рабочего процесса организаций (интернет-банкинг, разного рода платежные системы, информационные ресурсы, системы обрабатывающие данные и др), персональные данные которых являются привлекательной мишенью для злоумышленников. Поэтому обеспечение безопасности веб-приложений – одна из ключевых задач для минимизации финансовых и репутационных рисков бизнеса. Задача разработчиков web-приложений - уберечь конфиденциальную информацию от хищения, последствия которого выражаются в изменении или уничтожении контента ресурса. В случае получения злоумышленником аутентификационных данных пользователя на web-ресурсе, в 90 % прецедентов, идентификатор и аутентификатор будут действительными на других web-ресурсах, так как многие пользователи используют один и тот же пароль на разных ресурсах.
Таким образом хотелось бы поднять проблему защищенности аутентификационных данных, а также выделить основную цель - повышение уровня целостности и конфиденциальности передачи, обработки и хранения идентификационных и аутентификационных данных пользователей и, как результат, защищенности контента web-ресурса в целом.
Общепринятым подходом для защиты доступа является использование пароля. Но серьезный недостаток пароля в том, что злоумышленники могут его взломать. Поэтому и существует потребность в быстрой и точной верификации подлинности текущего пользователя, реализованная посредством двухфакторной аутентификации через получение пользователем секретного кода по SMS или email. Однако, такой способ по-прежнему верифицирует пользователя единовременно, т. е. пользовательская сессия все равно остается уязвимой. Для быстрого выявления взлома аккаунта необходима более надежная верификация пользователя.
Для улучшения защищенности аутентификационных данных предлагается использовать методы биометрической аутентификации. Лучшее решение – использовать поведенческие биометрики, такие как динамика клавиатуры и мыши. В отличии от физиологической биометрики, поведенческая биометрика не требуют дорогостоящего и малодоступного для рядового пользователя оборудования, такого как сканер сетчатки глаза или отпечатков пальцев. Напротив, используются распространенные среди практически всех пользователей персональных компьютеров клавиатура и мышь.
В данной статье предлагается использовать статическую биометрическую аутентификацию в фиксированных пользовательских сценариях взаимодействия с элементами графического интерфейса web-приложений. Помимо заполнения аутентификационной формы, примерами таких сценариев могут быть заполнение формы на оплату в онлайн-банке, взаимодействие с меню, написание комментариев и т.д.
Разрабатываемый программный комплекс представляет собой мультимодальную биометрическую систему поведенческой аутентификации в веб-приложениях по фиксированным пользовательским сценариям (Рисунок 1).
Рисунок 1. Архитектура биометрической системы
К системе предъявляются следующие требования:
- система должна предоставлять программный интерфейс для регистрации и аутентификации фиксированных пользовательских сценариев
- система должна легко интегрироваться в различные сторонние веб-приложения
- фиксированные пользовательские сценарии должны задаваться клиентами системы (веб-приложениями) путем объявления элементов графического интерфейса, составляющих пользовательский сценарий
- система должна оперировать с поведенческими биометриками разной природы и не требовать специализированных устройств ввода биометрической информации
Система может работать в двух режимах: регистрация и аутентификация.
- Во время регистрации пользовательские данные собираются модулем датчика и сохраняются в базу данных
- Во время аутентификации происходит вычисление биометрических характеристик и их сравнение с зарегистрированными значениями для получения результата аутентификации. При этом часто применяют адаптацию зарегистрированных биометрических характеристик, которые могут изменяться в течение времени.
В разрабатываемой системе в качестве модуля датчиков выступают традиционные устройства ввода ПК – клавиатура и мышь.
Как правило, необработанные данные о нажатии клавиш собираются посредством регистрации пользовательских событий «keydown» и «keyup». Выполняя простые математические операции с метками времени, полученными из необработанных данных нажатия клавиш, можно получить длительность или интервал между последовательными нажатиями клавиш. Информация о времени двух последовательных нажатий клавиш, более известная как диграф, является основной характеристикой данных, представленных в области динамики нажатий клавиш. Он широко подразделяется на два типа, а именно: время задержки (Dwell Time) и время полета (Flight Time) - Рисунок 2.
Рисунок 2. Различные события нажатия клавиш двух символов «J» и «Y» наряду с формированием времени задержки (D) и времени полета (F)
Время задержки (DT) определяется как промежуток времени между нажатием и отпусканием одной клавиши. Другими словами, как долго была нажата клавиша. DT можно рассчитать по формуле
,
где R и P обозначают метку времени отжатия и нажатия клавиши соответственно, а n обозначает позицию предполагаемого DT. Количество DT всегда будет равно длине введенной строки. Время полета (FT) определяется как промежуток времени между отжатием и нажатием двух последовательных клавиш. FT может существовать в четырех различных формах, как это показывает Рисунок 2. Формулы для расчета каждой формы представлены ниже:
где R и P указывают отметку времени отжатия и нажатия символа соответственно, а n указывает положение предполагаемой FT. В отличие от DT, количество сгенерированных FT всегда будет на единицу меньше длины заданной строки. Каждый тип времени полета дает аналогичную информацию о нажатии клавиш, и неизвестно, какая метрика лучше.
N-граф является метрикой измерения времени между тремя или более последовательными событиями нажатия клавиш. Он определяется как время, прошедшее между нажатием клавиши и n-ым событием нажатия клавиши.
Таблица 1 представляет характеристики динамик мыши.
Таблица 1.
Поведенческие характеристики динамик мыши
Характеристика |
Описание |
Расстояние |
Расстояние между двумя последовательными позициями мыши при клике. |
Смещение движения |
Расстояние между реальной траекторией мыши и идеальной |
Время движения мыши |
Интервал времени между начальной и конечной точкой движений мыши. |
x-скорость |
Скорость движения в направлении абсциссы. |
y-скорость |
Скорость движения в направлении ординат. |
x-скорость к расстоянию |
Скорость движения по сравнению с пройденным расстоянием в направлении абсциссы. |
y-скорость к расстоянию |
Скорость движения по сравнению с пройденным расстоянием в направлении ординат. |
Средняя скорость к расстоянию |
Средняя скорость движения по сравнению с накопленным пройденным расстоянием. |
x-ускорение |
Ускорение движения в направлении абсциссы. |
y-ускорение |
Ускорение движения в направлении ординат. |
x-ускорение к расстоянию |
Ускорение движения по сравнению с пройденным расстоянием в направлении абсциссы |
y-ускорение к расстоянию |
Ускорение движения по сравнению с пройденным расстоянием в направлении ординат |
Ускорение к расстоянию |
Среднее ускорение движения по сравнению с накопленным пройденным расстоянием. |
Задержка перед кликом |
Средняя длина временного интервала между последним событием движения мыши и событием клика |
Линейный угол |
Угол между горизонталью и линейным приближением направления движения мыши |
Разрабатываемый программный комплекс (далее – ImplicitBio) в форме конечного продукта является веб-сервисом для дополнительной аутентификации пользователей различных веб-приложений (далее – клиент-приложения) по их биометрическим поведенческим характеристикам при определенных сценариях взаимодействия пользователей с клиент-приложением.
Диаграмма работы системы (Рисунок 3) описывает взаимодействие компонентов системы ImplicitBio c клиентской и серверной частью конкретного клиент-приложения.
Рисунок 3. Диаграмма работы системы
Клиентская часть клиент-приложения загружает и инициализирует модуль ImplicitBio Recorder с конфигурацией (1), соответствующей определенному пользовательскому сценарию (например, заполнение формы аутентификации) и происходит запись (2) событий (далее – UI-события) пользовательского интерфейса. При отправке клиент-приложением данных сценария (например, при отправке формы) на свой сервер (4), он также отправляет и записанные с помощью ImplicitBio Recorder UI-события (3) этого сценария. Серверная часть клиент-приложения отсылает полученные UI-события на ImplicitBio Server, где происходит построение поведенческого 28 биометрического профиля, который сравнивается с зарегистрированным ранее, и серверу клиент-приложения возвращается ответ с результатом поведенческой аутентификации. Таким образом, система ImplicitBio обеспечивает легкую интеграцию с произвольным веб-приложением и прозрачность собираемых пользовательских данных.
В рамках данной статьи разрабатывается упрощенная исследовательская версия системы ImplicitBio предоставляющая две функции: «Публичное демо» и «Закрытое тестирование». «Публичное демо» заключается в быстрой публичной демонстрации вычисления близости двух попыток прохождения определенного сценария с развернутым отчетом по компонентам. «Закрытое тестирование» заключается в возможности многократного прохождения сценария определенным пользователем с сохранением данных в базе для их дальнейшего анализа и принятия решений по корректировке компонент аутентификации и алгоритмов их слияния.
В заключении всему выше написанному можно добавить, что это лишь модель которой требуется доработка и внесения ряда аспектов и улучшений. И конечный вариант может сильно отличаться от представленного в данной статье. Так же вариативность модернизаций, связанных с изменением некоторых аспектов, в теории сможет позволить изменить этот проект до не узнаваемости, превратив его в нечто иное.
Список литературы:
- А. Е. Сулавко, Е. В. Шалина. Биометрическая аутентификация пользователей информационных систем по клавиатурному почерку на основе иммунных сетевых алгоритмов / Синергия, 2019. 16 с.
- ФСТЭК России [Электронный ресурс]. – Режим доступа: https://fstec.ru/. – Дата доступа: 17.08.2022.
- И. Ефишов Таинственные страницы: занимательная криптография — М.: Манн, Иванов и Фербер, 2016. — 235 с.
- Э. Хоффман. Безопасность веб-приложений. Разведка, защита, нападение / Питер, 2021. 127 с.
Оставить комментарий