刘意先 吴限 罗康健 张巍耀
【摘要】 为解决计算机主机系统存在的安全漏洞,增强全性,开发出一款基于移动存储设备的主机安全保护系统(以下简称系统)。系统针对当前个人主机的安全性问题,通过修改主机MBR引导,以及主机唤醒后的Hook函数的访问控制,提出了一种新式的、操作简单,同时具有拓展性的主机安全保护措施,保证非专业行的普通用户的主机不受威胁。系统具有唯一性和不可否认性,防止伪造验证信息.同时验证设备与方式具有可更改和可拓展性,由移动存储设备进行动态加密,使以后每次解密的密钥都是不一样的,即使丢失移动存储设备,MBR很难被破解。经过测试,系统可以有效的解决主机的安全问题,实现主机安全保护。
【关键词】 访问控制 附加硬件 随机密钥
随着科技的不断发展,计算机已经成为人们的必需品,但是计算机的安全问题一直困扰着广大用户。近年来,计算机丢失后资料被轻松窃取的情况频频发生。反映出目前的计算机应用中存在着以下不足[1]:易于泄漏[2]、易于猜测、易于攻击,无法提供足够的访问安全性。针对以上问题开发出一款基于移动存储设备的主机安全保护系统。系统提出了一种新式的、操作简单,同时具有拓展性的主机安全保护措施[3]。以此来保证非专业行的普通用户也能确保自己的主机不受威胁。系统包含上位机程序模块以实现基于windows操作系统的主机锁定和对访问权限的控制。底层汇编程序模块以实现对主机唤醒之前的引导区域程序的控制,使主机操作系统的跳转在移动存储设备模块实现。移动存储设备模块实现计算机使用过程中如果拔出移动存储设备,实现整个系统输入锁死。操作者需要再次刷入验证信息,验证正确后,操作者方可对主机进行操作。系统的主要特点是移动存储设备在经过软件安装后具有唯一性与不可否认性,防止伪造验证信息。验证设备与方式具有可更改和可拓展性,移动存储设备模块可由智能手机替换,通过手机的屏幕滑动解锁方式,操作方便快捷。同时由移动存储设备进行动态加密,使以后每次解密的密钥都是不一样的,即使丢失移动存储设备,我们的MBR很难被破解。
在测试中,针对BIOS读取引导扇区将汇编信息显示在屏幕上和Hook API自动锁死键鼠等功能进行了测试,还针对客户机掉电或强行关机后重启机器,不丢失数据等可靠性,安全性,兼容性进行了测试。测试的结果表明,本系统可以有效的解决主机的安全问题,实现基于移动存储设备的主机安全保护。
一、系统结构
系统针对当前个人主机的安全性问题,通过修改主机MBR引导,以及主机唤醒后的Hook函数的访问控制,提出了一种新式的、操作简单,同时具有拓展性的主机安全保护措施。以此来保证非专业行的普通用户也能确保自己的主机不受威胁。
系统如图1包括两部分:1.基于主机的软件程序中包含了上位机程序:基于windows操作系统,利用Hook API对唤醒后的主机进行锁定,直到接受到移动存储设备板传递来的操作指令。并根据操作指令对访问权限进行控制。底层汇编程序:软件面向cpu编程。主机唤醒之前的引导区域程序,通过修改硬盘1磁道0扇区的整个64字节汇编代码,使主机操作系统的跳转在移动存储设备模块实现。 2.安全终端载体移动存储设备。
二、核心技术
2.1 移动存储设备验证模块
移动存储设备模块实现动态加密和问题。首先将MBR放到ARM的扇区中,然后进行每一位的按位加密,写好简单加密算法对MBR进行加密。然后调用随机函数生成一个512B的字符串,与原来字符串进行按位加密运算,解密的时候用原来的字符串与加密MBR进行按位解密运算,然后再与原来第一步实现的加密算法进行解密,得到真正的MBR。在进入计算机之前,只有BIOS,而BIOS有着非常简单的计算和处理能力,那么移动存储设备和计算机BIOS的通信只能通过字符串传递,而不能通过文件的形式传递,那么用512个字符当成文件,将512个字符传送到MBR指定的位置上,然后由固化在硬盘扇区中的程序将真正的MBR加载到指定扇区,就能够开机启动。
2.2 计算机引导汇编部分
(1)分析计算机启动的引导过程:按下开机电源→固化在计算机主板上的BIOS进行开机自检→如果自检成功→检测第一存储外设的第一块扇区标志位是否是55AA→是则BIOS将第一外设存储的第一个扇区(也就是MBR)加载到计算机内存0000:7C00H处,不是则检测第二存储外设…… →然后将计算机的控制权力给了第一外设的第一快硬盘分区→计算机开始执行该扇区上的代码 →代码将执行一系列代码引导计算机启动。
(2)由于系统主要在重写MBR,所以下面来分析下MBR:MBR一共512B,是446B+64B+2B的结构:446B是功能性引导代码部分,这一部分是写功能代码的区域,代码的长度不能超过446B,如果超过就要跨扇区写代码,对于程序的稳定性和可移植性都有一定的影响,所以将代码控制在446B;64B是计算机分区表,分区表的功能是为电脑的磁盘划分多个分区便于用户管理,最多四个表项每个表项16B,如果这一部分丢失,那么计算机识别的硬盘就是一整硬盘,毫无意义,如果加密该64B的内容,那么对于磁盘的信息保护有了极大的保障。
2B是MBR标识符,常为55AA,如果不是这个数值,那么则该扇区不会当做MBR。
(3)汇编程序大体思路
第一步将计算机真正的MBR备份,以防丢失,把MBR存储到移动存储设备的存储器中,然后将MBR进行按位加密,这样即使以后有人得到移动存储设备外设,也很难能够分析出来MBR在什么地方;
第二步向计算机磁盘的第一扇区写上代码,代码功能是在屏幕上显示如图2。
第三步是将移动存储设备的代码写入到移动存储设备指定扇区,代码功能是在屏幕上显示,如图3。
ENTER THE SYSTEM然后等待验证识别,如果成功将MBR解密写入扇区,如果失败将虚拟MBR写入扇区,最后都会把计算机的引导权给计算机。
2.3 上位机程序模块
模块如图4所示。
2.3.1 开机自启原理
在上位机程序代码中使用RegCreateKey等注册表函数在注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run下新建一个字符串,值为所要自动执行的程序名,将数据设置为程序所在的目录,即可将该程序设置自动执行。当程序第一次执行时,写入注册表行为同时得到执行,由此实现了上位机程序的开机自启动。主机唤醒后,由于Hook程序的自启动,因此,主机屏蔽所有键盘鼠标消息。
2.3.2 程序相关源代码
Hook模块定义文件
1 LIBRATY Hook
2 EXPORTS
3 SetHook @2
4 SEGMENTS
5 MySec READ WRITE SHARED
由于单一程序调用的HOOK API是仅在当前程序下的线程消息,所以需要设置动态链接库(DLL)实现Hook对系统全局消息的屏蔽。由于DLL由模块定义文件及Hook函数设置编译得到,所以此处无法附上DLL代码
加载全局定义
5 #pragma data_seg(“MySec”)
6 HWND g_hWnd=NULL;
7 #pragma data_seg()
8 //#pragma comment (lib,”Hook.lib”)
9 #pragma comment(linker,”/section:MySec,RWS”)
Hook函数定义
调用声明
_declspec(dllimport) void SetHook(HWND hwnd);
DLL及客户端程序联调
int cxScreen,cyScreen;
cxScreen=GetSystemMetrics(SM_CXSCREEN);
cyScreen=GetSystemMetrics(SM_CXSCREEN);
SetwindowPos(&wndTopMost,0,0,cxScreen,cy
Screen,SWP_SHOWWINDOW);
SetHook(m_hWnd);
直到接收到ARM嵌入式板传递来的指纹特征信息码。
三、创新性、可拓展性
(1)独立于主机的移动存储设备:通过外置的移动存储设备,将个人安全信息识别提取传递的实现在主机系统之外,避免由于主机系统可能存在的漏洞或者其他可以绕过系统安全设置的工具,突破针对个人主机设置的安全环境。(2)对系统引导扇区的转移与重写:仍然通过外置移动存储设备,将系统1磁道0扇区的系统引导转移至移动存储设备闪存,在主机唤醒之前就已经设置了安全屏障。将提示信息写入0扇区,为用户提供操作指南。(3)启动后的主机访问控制:以HOOK API对系统全局消息进行屏蔽,同时写入注册表运行,避免非法用户对唤醒后主机进行重启、注销等操作的以此突破访问控制。(4)验证方式的可拓展性与多样性:智能手机的使用已经普遍化、大众化,手机用户的滑屏、手势解锁可用以对系统个人信息验证进行替代,再根据键鼠无线输入输出的原理,手机用户即可方便快捷地对主机进行唤醒前后的安全控制。省去了外置生物模块设备对大众的陌生感与操作困难。
四、结论
针对当前主机访问控制所面临的严重安全问题,系统从移动存储设备与密码体制结合的角度实现了对主机系统的安全访问,实现了对计算机加解密,访问唯一性,开关机验证等安全认证功能。与现有的主机身份认证方式相比,系统实现了主机安全的自主防护,以移动存储设备为硬件载体,结合上层软件形成了多层次、立体化的安全防御体系,赋予了多层权限访问控制策略,极大地保证了主机访问控制安全。基于移动存储设备的主机安全保护系统应用前景极其广阔,根据生物特征识别技术的拓展性与多样性,可广泛应用于个人、企事业单位、政府、军队等用户存储隐私或机密数据,也可以扩展应用到银行业务、电子商务、数字版权、专利等更广泛的领域。
参 考 文 献
[1] 尤一名. 主机安全检测系统的研究和实现[D]. 北京:北京交通大学,2010
[2] 单国栋. 计算机电磁信息泄露与防护研究[J]. 电子技术应用,2002,(04):3-6
[3] 侯兴超. 基于移动存储设备管理的主机防信息泄露系统研究[D]. 北京:解放军信息工程大学,2007