2008年信息安全大赛北京理工大学作品设计报告

上传人:飞****9 文档编号:132637426 上传时间:2020-05-18 格式:DOC 页数:27 大小:1.04MB
返回 下载 相关 举报
2008年信息安全大赛北京理工大学作品设计报告_第1页
第1页 / 共27页
2008年信息安全大赛北京理工大学作品设计报告_第2页
第2页 / 共27页
2008年信息安全大赛北京理工大学作品设计报告_第3页
第3页 / 共27页
2008年信息安全大赛北京理工大学作品设计报告_第4页
第4页 / 共27页
2008年信息安全大赛北京理工大学作品设计报告_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《2008年信息安全大赛北京理工大学作品设计报告》由会员分享,可在线阅读,更多相关《2008年信息安全大赛北京理工大学作品设计报告(27页珍藏版)》请在金锄头文库上搜索。

1、哑谜基于行为密码和击键特征的身份认证系统2008年全国大学生电子设计竞赛信息安全技术专题邀请赛作品设计报告作品题目哑谜基于行为密码和击键特征的身份认证系统参赛学校北京理工大学参赛队员付力力李海炜郭天放指导教师王耀威目录1引言11.1 项目背景11.2 名词解释21.2.1 行为密码21.2.2 击键特征32 系统方案32.1 总体设计32.1.1 目标32.1.2 系统框图42.2 模块设计52.2.1 通用函数库52.2.2 文件保护驱动模块52.2.3 进程及注册表保护驱动模块72.2.4 Windows登录模块92.2.5 核心服务程序模块102.2.6 系统配置程序模块123功能与性能

2、指标133.1 功能指标133.2.1Windows 系统登录保护133.2.2 文档保护143.2.3 关键字输入保护143.2性能指标153.3.1 安全特性指标153.3.2 时间特性指标163.3.3 精度指标163.3.4 系统资源占用指标164系统特色175 系统测试185.1测试环境185.2 测试过程描述185.2.1针对Windows登录保护模块的测试185.2.2针对文件保护模块的测试用例205.2.3针对击键特征识别模块的测试用例215.2.4针对自身安全的测试用例225.3 测试结果分析236 参考文献241引言1.1 项目背景 传统的字符密码是如今用户认证方式中的最主

3、要手段,然而,这种方式存在着它的弊端:容易被间谍程序记录、容易被猜测、密钥存储安全难以保证等等。有鉴于此,我们提出了一种新的思路:如果记录用户一连串特定的行为,并将其作为一种“密码”,将是对传统密码的绝佳补充。实际上,这种方式在保险柜锁上已有应用(譬如其锁的左右旋转不同圈数)。由于行为密码不存在可见的字符输入,使得它难于被现有的木马程序记录,有着传统字符密码认证方式所不能及的优势。同时,考虑到每个用户使用电脑的习惯互不相同且难以模仿,用户的击键行为在终端使用过程中出现比较高,并且容易采集和区分,因此可以把用户的击键行为特征作为身份认证的依据之一。“哑谜”系统将“行为密码认证”和“击键特征识别”

4、这两种身份认证手段应用于终端系统,从而更好的保护终端系统的安全。“哑谜”系统提出并实现了一种新的身份验证方式结合用户行为密码和击键特征进行计算机终端用户身份的识别。行为密码就是把用户在一段时间内的键盘、鼠标操作序列作为密码。同时对用户击键特征进行验证,以进一步保证用户身份的真实性。自上世纪70年代以来,研究者们发现每个人的键盘击键方式不同(譬如力度,粘滞时间等)。系统采用了与字符相关的击键粘滞时间作为特征对不同用户进行识别,识别正确率达95%。系统采用计算机终端用户行为密码技术加强系统安全,同时采用基于关键字的击键特征保护技术辅助确认用户身份,并采用文档欺骗对入侵者进行攻击。对于系统自身的安全

5、则采用目前应用广泛而有效的底层驱动隐藏和保护技术来保护系统自身进程。系统实现了对Windows登录的接管,将行为密码、击键特征和字符密码同时作为用户身份验证的手段;并支持对计算机内的文档和重要数据(如注册表)采用行为密码和击键特征进行保护或欺骗(不拒绝非法访问,但非法用户访问的是一个事先定制的假文档)。实验结果表明系统对计算机终端用户的保护可行、有效。采用360安全卫士等软件不能找到系统进程和杀死系统进程,确保系统自身能够安全、可靠的运行。1.2 名词解释1.2.1 行为密码行为密码是指由若干个用户操作组成的操作序列。主要包括以下操作1. 鼠标击键操作a. 左键单击b. 右键单击2.鼠标手势即

6、从按住鼠标左键到释放的过程中鼠标移动所形成的动作序列。比如按住鼠标左键从12点钟方向开始,顺时针旋转360度,回到12点钟方向。3. 键盘操作a. 单一击键,即一次Press-Release操作b. 组合键,类似Ctrl+C,Ctrl+Alt+Q之类的操作一个典型的行为密码的例子是:, A, S, D即先用按下鼠标左键,然后先向右再向左移动,接着鼠标左键,最后依次按下A、S、D三个键,即成功输入一次密码。另外出于系统保密性的考虑,输入行为密码时是不会出现任何提示。默认情况下在进行需要进行行为密码认证的操作前10秒内的操作算做有效的行为密码输入。1.2.2 击键特征本系统所使用的击键特征是指用户

7、在使用键盘输入某个特定的字符串时所产生的特征信息。这里的特征信息包括字符串击键总时间、各字母击键粘滞时间、粘滞时间在所有字母中的排序位置。下面以“admin”这个字符串为例详细说明。首先定义一个PR值,即Press-Release,是指用户从按下一个键到弹起的时间,以毫秒为单位,这个是击键特征的主要组成部分。显然,对于“admin”这个字符串,用户会产生5个PR值,实验表明,对于不同的用户来说,这5个PR值以及他们之间的关系是很不一样的,并且对于同一个用户来说,是相对稳定的,这个就是击键特征判别的基础。例如用户A这5个PR值从大到小的排序是“dmina”,而用户B则是“animd”,根据这个排

8、序和具体的PR值可以对每个按键的击键算出一个M值,公式为M=位置A-位置B+1PRA-PRB。其中位置A是指某个按键在用户A的PR值排序中的位置,PRA指这个按键用户A的PR值。具体来说,“d”这个按键M值为(|1 5| + 1) x |PRA - PRB|。对于每个按键都计算出一个M值,然后相加即可得到最终的特征值。在击键特征的训练过程中,用户需要重复输入10次特定字符串。从而得到这10次输入数据的方差和平均数。根据公式CV= / 算出变异系数CV,若CV10% 则认定特征不稳定,训练无效。否则由方差和平均数得到一个高斯分布函数N(x)。对于每一次的输入x,滤掉NxN(+)的输入。如果剩余的

9、有效特征数据个数大于等于6,认定训练有效,将有效数据存入系统配置库,否则认定训练无效。2 系统方案2.1 总体设计2.1.1 目标提出并实现一种新的身份验证方式:结合用户行为密码和击键特征的计算机终端用户身份识别系统。系统把键盘、鼠标操作序列作为计算机终端用户密码,同时对计算机终端用户击键特征进行验证,以进一步保证用户身份的真实性。本系统的适用者是所有计算机终端用户。2.1.2 系统框图图1系统框图2.2 模块设计2.2.1 通用函数库定义系统数据结构,并实现其他模块所需的I/O,加密,日志记录等基本功能,主要包括以下几部分:一、 行为密码行为密码的结构体的定义,行为密码的记录、存储、复制、销

10、毁和比较等函数。二、 击键特征击键特征的结构体的定义,击键特征的记录、存储、比较和复制等相关函数。三、其他编码解码函数、常用的辅助函数以及统一的日志记录函数。2.2.2 文件保护驱动模块文件保护驱动模块使用微软提供的微过滤器驱动模型实现的对底层文件IO操作进行过滤的驱动程序。本驱动程序模块通过对文件的IRP_MJ_CREATE请求(任何进程试图对某个文件进行打开、创建操作时会发送此请求)进行过滤,达到禁止、通过或者重定向文件打开操作的目的,从而实现文件保护的功能。图2文件保护驱动模块流程图2.2.3 进程及注册表保护驱动模块程序自身的进程安全以及注册表保护采用hook SSDT方式予以实现,这

11、是目前软件自我保护的主流方法之一。以防止进程被恶意结束为例,说明模块的工作过程。Ring3下有结束进程功能的API如TerminateProcess(), EndTask()等,归根结底最后都调用了ntdll.dll导出的ZwTerminateProcess函数来结束进程。我们只需要将SSDT中ZwTerminateProcess函数的地址替换为我们构造好的新函数NewZwTerminateProcess的地址,并在这个新函数中验证是否是其他进程在试图结束受保护的进程,若是,就返回拒绝访问,否则就调用真正的ZwTerminateProcess函数正常完成请求。首先,修改SSDT中的函数地址,并

12、替换为我们构造好的NewZwTerminateProcess函数,过程描述如下:图3HOOK SSDT 流程图一旦有用户以非法手段试图结束”哑谜”服务进程,便会在NewZwTerminateProcess函数中被拦截,以下以某用户试图用”ntsd c q p 进程ID”命令来强制结束哑谜进程为例,描述这个过程:图 4进程保护流程图2.2.4 WINDOWS登录模块将Windows传统的字符密码验证替换为行为密码验证和原密码验证。Windows XP系统中的用户登录逻辑的处理是通过winlogon进程来调用GINA DLL中的相关函数来实现的。为了达到这个目的,在注册表HKEY_LOCAL_MA

13、CHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon下新增字符串键,名称为GINADLL,内容为哑谜系统所带的ROAGina.dll的路径,在ROAGina.dll中处理Windows登录事件,这样就可以实现自己的登录验证功能。程序在对话框的WM_INITDIALOG消息处理中启用一个全局鼠标钩子和一个全局键盘钩子,在钩子的回调函数中调用通用函数库中的相关函数,实现行为密码的记录。同时处理一个自定义的WM_ROALOGIN消息,收到这个消息即表示登录成功,调用EndDialog来结束对话框,完成登录过程。WM_ROALOGIN消息在钩子的

14、回调函数中发出,当用户输入了正确的行为密,WM_ROALOGIN消息会立即传递到登录对话框的消息处理函数中,让用户输入原系统登录密码。图5Windows登录模块流程图2.2.5 核心服务程序模块本程序是整个系统在用户态的核心程序,负责将底层驱动模块和系统配置模块关联起来,实现文件保护和击键特征识别的功能。下面分几个部分说明这个模块的设计。一、行为密码的记录行为密码的记录采用全局键盘钩子(WH_KEYBOARD_LL)和全局鼠标钩子(WH_MOUSE_LL)实现。在两个钩子的回调函数中会对用户的键盘行为和鼠标行为进行分析处理,最终格式化为行为密码原子并加入到存储行为密码的链表中。为了保证匹配的准

15、确性,行为密码的链表中只会保存用户10秒之内的有效输入。图6行为密码记录流程图二、文件保护验证本程序会和文件保护驱动模块进行通信,接受其发送过来的文件信息,然后验证该文件是否已经被解锁,或者用户是否已经输入行为密码解密了该文件,最后把成功或者失败的信息返回到核心态的文件保护驱动。图7文件保护验证流程图三、 关键字输入保护关键字的识别和特征的提取采用全局键盘钩子(WH_KEYBOARD_LL)来实现。在全局键盘钩子的回调函数中对用户的输入进行检查,初始化出错计数为0,一旦识别到用户输入了关键字列表中的某个单词,则把该单词的特征信息和存储在配置中的对应信息进行比较,如果认定是合法用户则把出错计数-1,直到减为0。如果是非法用户则把出错计数+1,当出错计数达到设定值(默认为5次)时计算机会立即锁定。图8关键字特征识别流程图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号