+ All Categories
Home > Documents > Выполнил: Соколов А. С. Группа: 6085/20 Руководитель:...

Выполнил: Соколов А. С. Группа: 6085/20 Руководитель:...

Date post: 26-Jan-2016
Category:
Upload: hao
View: 52 times
Download: 4 times
Share this document with a friend
Description:
Санкт-Петербургский Государственный политехнический университет Факультет технической кибернетики Кафедра Измерительных информационных технологий. Дипломный проект Тема: Динамическая библиотека графической идентификации ( GINA ) для Windows, реализующая контроль клавиатурного почерка. - PowerPoint PPT Presentation
18
Дипломный проект Тема: Динамическая библиотека графической идентификации (GINA) для Windows, реализующая контроль клавиатурного почерка Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю. Санкт-Петербургский Государственный политехнический университет Факультет технической кибернетики Кафедра Измерительных информационных технологий
Transcript
Page 1: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Дипломный проектТема: Динамическая библиотека графической

идентификации (GINA) для Windows, реализующая контроль клавиатурного почерка

Выполнил: Соколов А. С.Группа: 6085/20Руководитель: Сальников В. Ю.

Санкт-Петербургский Государственный политехнический университетФакультет технической кибернетики

Кафедра Измерительных информационных технологий

Page 2: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Цели проекта

Реализовать проверку клавиатурного почерка во время ввода пароля для усложнения процесса аутентификации при входе в Windows для повышения безопасности рабочей станции

Page 3: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Поиск готовых решений

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

Page 4: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

GINA

1) Расширение стандартной MSGINAФункции имеют вид:return_type Wlx_function(Param_list){

// свои действия return Wlxtbl.Wlx_function(Param_list);

}2) Custom GinaHKLM\\SOFTWARE\\Microsoft\\WindowsNT\\

CurrentVersion\\Winlogon\\GinaDLL

Page 5: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

WinlogonСуществует 3 состояния:

1) Никто не вошел

2) Пользователь вошел

3) Станция заблокирована

Рис.1 Схема состояний процесса входа Winlogon

Page 6: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Блок-схема работы GINAНачало

программы

Negotiate

Остановка программы

DisplaySASNotice(состояние

LOGGED_OFF)

Состояние LOGGED_ON

LogOff

Initialize

LoggedOutSAS(сбор учетных

данных)

ActivateUserShell

ShutDown

DisplayLockedNotice (состояние

LOCKED)

WkstaLockedSAS (сбор учетных

данных)

Аутентификация не успешна

Аутентификация успешна

Администратор входит в систему

Page 7: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Блок-схема работы GINA с модулем клавиатурного почерка

Начало программы

Negotiate

Остановка программы

DisplaySASNotice(состояние

LOGGED_OFF)

Состояние LOGGED_ON

LogOff

Initialize

LoggedOutSAS(сбор учетных

данных)

ActivateUserShell

ShutDown

DisplayLockedNotice (состояние

LOCKED)

WkstaLockedSAS (сбор учетных

данных)

Аутентификация по паролю не успешна

Аутентификация по паролюуспешна

Администратор входит в систему

Проверка успешна

Проверка клавиатурного

почерка

Аутентификация по почерку не успешна

Аутентификация по почеркууспешна

Проверка клавиатурного

почеркаПроверка неуспешна

Page 8: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Математическая модель клавиатурного почерка

Проверка делится на 2 этапа:

• сбор параметров клавиатурного почерка авторизованных пользователей – эталонные характеристики

• сбор и подсчет параметров тестируемого пользователя, сравнение с эталонными при входе в систему

Page 9: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Математическая модель клавиатурного почерка

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

За характеристику почерка берется время между нажатиями клавиш.

Page 10: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Алгоритм проверки клавиатурного почерка

Начало

Cбор временных интервалов во время ввода

пароля

Цикл 1

Цикл 1

Рассчитать граничное

значение, T

T > Z

R1++

Да

Нет

Цикл 2

Цикл 2

С>=0

Рассчитать почерк

входящего,С

R2++

Рассчитать вероятность,

P

Конец

Да

Нет

1

1

Page 11: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Выводы по теоретической части

• Рассмотрена математическая модель проверки клавиатурного почерка

• Рассмотрена работа библиотеки Gina и процесса входа (Winlogon)

• Данные для проверки почерка собрать во время ввода пароля в функции обработки диалогового окна LogonDialog

• Проверку клав почерка произвести в функциях Gina LoggedOutSAS и LockedWkstaSAS

Page 12: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Таблица функций GINAФункция Описание

WlxActivateUserShell Запускает основную оболочку пользователя

WlxDisplayLockedNotice Отображение GINA информации о блокировке

WlxDisplaySASNotice Вызывается, когда никто не вошел в систему

WlxIsLogoffOk Проверка на завершение сеанса работы

WlxDisplayStatusMessage Показывает статус — сообщение

WlxGetConsoleSwitchCredentials Применяет пользовательскую информацию на указанную сессию

WlxGetStatusMessage Получение текущего статус-сообщения

WlxInitialize Инициализация GINA на текущую станцию

WlxLoggedOutSAS Реакция на SAS-событие, при условии, что пользователь в системе и станция не заблокирована

WlxLogoff Проверка на завершение сеанса работы

WlxNegotiate Проверка версий winlogon и GINA

WlxNetworkProviderLoad Уведомление, что запустилась служба взаимодействия с другими типами сетей

WlxRemoveStatusMessage Удаление статус-сообщения

WlxIsLockOk Проверка на блокировку станции

WlxShutDown Уведомление о завершении работы станции

WlxWkstaLockedSAS Реакция на SAS-событие при условии, что станция заблокирована

WlxLoggedOnSAS Реакция на SAS-событие, при условии, что пользователь в системе и станция не заблокирована

Page 13: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Класс GinaWlxInitialize(LPWSTR lpWinsta,HANDLE hWlx,PVOID

pvReserved,PVOID pWinlogonFunctions,PVOID*pWlxContext);

{…pWlxContext – указатель, используемый в

последующих вызовах.Gina* pGina = new Gina();*pWlxContext = (PVOID*)pGina;…

}Пример вызова функции класса Gina:(Gina*)pWlxContext->LoggedOutSAS();

Page 14: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Список вспомогательных классов

1) SecurityHelper

2) RegisterHelper

3) StatusWindow

4) GinaModalDialog

5) NoticeDialog

6) LogonDialog

7) SecurityOptionsDialog

Page 15: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Реализация модуля клавиатурного почерка

INT_PTR LogonDialog::DialogProc(UINT msg, WPARAM wp, LPARAM lp) {

…………

case WM_COMMAND: {

if (LOWORD(wp) == IDC_PASSWORD)

switch (HIWORD(wp)) {

case EN_UPDATE:

if (quantity != 0){

finish = timeGetTime ();duration = finish-start;bufTime[quantity] = duration;}

start = timeGetTime ();PrevChar=CurChar;

CurChar = SendDlgItemMessage(_hwnd, IDC_PASSWORD, WM_GETTEXTLENGTH, NULL, NULL);

quantity++;

if (CurChar > PrevChar){

SendDlgItemMessage(_hwnd, IDC_PASSWORD, WM_GETTEXT, 254, (LPARAM)buf);}

break;}

…………

Page 16: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Примеры диалоговых окон

Рис. 3 Внешний вид диалога-уведомления

Рис. 4 Внешний вид диалога ввода идентификационных данных

Рис. 5 Внешний вид диалога опций пользователя

Page 17: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Выводы по практической части

• Реализован класс Gina и все вспомогательные классы

• Реализована проверка клавиатурного почерка в процессе аутентификации по паролю

• Произведено тестирование библиотеки на Windows XP

Page 18: Выполнил: Соколов А. С. Группа: 6085/20 Руководитель: Сальников В. Ю.

Заключение

• Исследованы способы взаимодействия Winlogon и Gina

• Реализована библиотека biokeyboardgina.dll

• Тестирование прошло успешно

• Возможные расширения библиотеки


Recommended