一种防范硬盘固件攻击的系统和方法

文档序号:10512611阅读:289来源:国知局
一种防范硬盘固件攻击的系统和方法
【专利摘要】本发明揭示了一种防范硬盘固件攻击的系统,包括:黑白名单数据库,存储硬盘指令不变特征的黑名单与白名单;白名单匹配模块,接收计算机发出的硬盘控制指令,并比较是否与白名单匹配;指令阻断与转发模块,对不匹配的硬盘控制指令进行阻断,将匹配的指令转发给硬盘;可疑指令处理模块,将与白名单和黑名单都不匹配指令的指令身份信息输出供人工分析。本发明还提供了一种防范硬盘固件攻击的方法,在保证计算机正常访问硬盘用户数据的前提下,实现了阻断恶意攻击、识别未知行为的目的。
【专利说明】
一种防范硬盘固件攻击的系统和方法
技术领域
[0001]本发明属于信息安全领域,特别涉及一种防范硬盘固件攻击的系统和方法。
【背景技术】
[0002]随着黑客技术的发展,固件攻击成为信息设备所面临的新型安全威胁。硬盘固件包含了硬盘微处理器控制各电磁组件运行所需的代码及参数,其存储区域与用户数据区相隔离,不能被使用操作系统标准指令的API或软件识别,但通过发送厂家自定义指令可以进行操作。如果被黑客利用,可以实现深度隐藏数据、损毁硬盘等目的,危害极大。
[0003]计算机与硬盘进行交互,主要通过命令寄存器组进行,其中与控制相关的寄存器共7个,每个寄存器为8位,这样可以使用的命令代码理论上有256种组合,同时厂家自定义指令对公众都是保密的,因此通过穷举的方式识别恶意固件攻击指令并不现实。
[0004]2015年初卡巴斯基安全实验室曝光了首个针对硬盘固件的攻击实例后,信息安全机构采用逆向技术仅获得了有限的攻击细节,并不能够有效防范此类硬盘固件攻击。

【发明内容】

[0005]本发明解决的技术问题是:克服现有手段的不足,提供一种防范硬盘固件攻击的系统和方法,能够阻断所有硬盘攻击指令,并能够捕获可疑指令信息供人工分析。
[0006]本发明提出一种防范硬盘固件攻击的系统,包括:黑白名单数据库,用于存储硬盘指令不变特征的黑名单与白名单;白名单匹配模块,用于接收计算机发出的硬盘控制指令,获取所接收指令的指令身份信息,上述指令身份信息包括指令不变特征,并比较上述指令的指令不变特征是否与白名单中的指令不变特征匹配;指令阻断与转发模块,对上述不匹配的硬盘控制指令直接向计算机返回结果数据,对上述匹配的硬盘控制指令转发给硬盘,并将硬盘返回的结果数据转发给计算机;可疑指令处理模块,用于将上述不匹配硬盘指令的指令不变特征与黑名单中的指令不变特征进行比较,如果不匹配,则将上述指令的指令身份信息输出供人工分析。
[0007]优选地,上述指令不变特征包括:硬盘品牌、硬盘型号以及硬盘命令寄存器组代码。
[0008]优选地,上述指令身份信息还包括指令的执行时间和执行指令的进程名称。
[0009]作为优化,指令阻断与转发模块包括:指令阻断单元,用于阻断上述不匹配的硬盘控制指令,直接返回预设结果数据;硬盘交互单元,用于将上述匹配的硬盘控制指令转发给硬盘,并接收硬盘返回的结果数据;计算机反馈单元,用于将指令阻断单元和硬盘交互单元返回的结果数据发给计算机。
[0010]作为优化,还包括学习模块,获取人工审核所发送的指令不变特征与置信值,并根据置信值添加至黑白名单数据库;上述置信值包括信任与不信任;上述根据置信值添加至黑白名单数据库包括:判断指令不变特征的置信值,如果为信任,则将上述指令不变特征添加至白名单,如果为不信任,则将上述指令不变特征添加至黑名单。
[0011]还提出一种防范硬盘固件攻击的方法,包括如下步骤:
建立硬盘指令不变特征的黑名单与白名单;
接收计算机发出的硬盘控制指令,获取所接收指令的指令身份信息,上述指令身份信息包括指令不变特征,并比较上述指令的指令不变特征是否与白名单中的指令不变特征匹配;
对上述不匹配的硬盘控制指令直接向计算机返回结果数据,对上述匹配的硬盘控制指令转发给硬盘,并将硬盘返回的结果数据转发给计算机;
将上述不匹配硬盘指令的指令不变特征与黑名单中的指令不变特征进行比较,如果不匹配,则将上述指令的指令身份信息输出供人工分析。
[0012]优选地,上述获取指令身份信息的步骤包括:获取计算机要操作硬盘的品牌、获取计算机要操作硬盘的型号、获取计算机发往硬盘命令寄存器组的代码值。
[0013]优选地,上述获取指令身份信息的步骤还包括:获取指令的执行时间、获取执行指令的进程名称。
[0014]进一步优化,还包括步骤:将上述与黑名单一致指令的指令身份信息输出供人工审计。
[0015]综上所述,由于采用上述技术方案,本发明的有益效果是:
从计算机与硬盘交互的最底层通信协议入手,防止了恶意程序从其它层面绕过的可會K;
采用白名单机制,仅允许对硬盘进行最基本的设备识别、用户数据区读写操作,能阻断所有已知和未知的固件攻击行为。
[0016]结合黑名单与可疑指令处理模块,能够为研究人员提供更多的分析素材,从而获取更广泛的固件攻击行为特征。
【附图说明】
[0017]图1是本发明系统的结构示意图;
图2是本发明系统优选实施例的结构示意图;
图3是本发明方法的简要示意图。
【具体实施方式】
[0018]下面结合附图和优选实施例对本发明进一步说明。
[0019]如图1所示,为本发明系统结构示意图。包括:
黑白名单数据库10,存储硬盘指令不变特征的黑名单与白名单;白名单匹配模块11,接收计算机发出的硬盘控制指令,获取所接收指令的指令身份信息,并比较上述指令的指令不变特征是否与白名单中的指令不变特征匹配;指令阻断与转发模块12,与白名单匹配模块11连接,对上述不匹配的硬盘控制指令直接向计算机返回结果数据,对上述匹配的硬盘控制指令转发给硬盘,并将硬盘返回的结果数据转发给计算机;可疑指令处理模块13,与白名单匹配模块11连接,将上述不匹配硬盘指令的指令不变特征与黑名单中的指令不变特征进行比较,如果不匹配,则将上述指令的指令身份信息输出供人工分析。
[0020]本系统通过白名单匹配模块11、指令阻断与转发模块12、可疑指令处理模块13对计算机发出的硬盘控制指令进行阻断或转发,并将可疑指令信息输出。
[0021]如图2所示,为本发明优选实施例的结构示意图。包括:
黑白名单数据库20、白名单匹配模块21、可疑指令处理模块22、学习模块23,用计算机程序实现,其中学习模块与黑白名单数据库20连接,获取人工审核所发送的指令不变特征与置信值,并根据置信值添加至黑白名单数据库20 ;黑白名单数据库24、白名单匹配模块25、指令阻断与转发模块26,用硬件电路实现。
[0022]指令阻断与转发模块26包括:指令阻断单元261,阻断与白名单不匹配的硬盘控制指令,直接返回预设结果数据;硬盘交互单元262,将与白名单匹配的硬盘控制指令转发给硬盘,并接收硬盘返回的结果数据;计算机反馈单元263,与指令阻断单元261、硬盘交互单元262相连,将指令阻断单元261和硬盘交互单元262返回的结果数据发给计算机。
[0023]实现白名单匹配模块21,需要从操作系统驱动层进行硬盘指令截获,硬盘在操作系统层面有可能被识别为高级技术附件ATA或小型计算机系统接口 SCSI两种设备类型。ATA是个人计算机访问硬盘所使用的标准通信协议,所以识别为ATA设备的时候,就是直接对写往硬盘命令寄存器组的二进制代码进行监控;计算机访问SCSI设备是通过命令描述符块CDB实现的,对于能与SCSI指令码匹配的ATA指令格式,操作系统将其转为SCSI指令码,对于不能与任何SCSI指令码匹配的ATA指令格式,例如厂家自定义指令,操作系统通过ATA PASSTHROUGH指令码实现ATA指令的透传,ATA指令码就包含在ATA PASS THROUGH的命令描述符块中,所以识别为SCSI设备的时候,需要对写往SCSI驱动层的命令描述符块CDB进行解析,并通过转换或提取得到ATA指令格式。
[0024]通过计算机程序实现白名单匹配模块21,除了可以获取硬盘品牌、硬盘型号以及硬盘命令寄存器组代码等指令不变特征外,还可以获得指令的执行时间和执行指令的进程名称等其它ig息。
[0025]实现白名单匹配模块25与指令阻断与转发模块26,需要同时实现ATA的主机端协议和设备端协议,本实施例采用以FPGA为核心的数据处理结构,FPGA有着规整的内部逻辑块阵列和丰富的连线资源,可以自由支持自定义逻辑与高速数据传输协议的实现,尤其适合本系统的应用情形。
[0026]通过硬件电路实现白名单匹配模块25,能够获取硬盘品牌、硬盘型号以及硬盘命令寄存器组代码等指令不变特征,但无法获得指令的执行时间和执行指令的进程名称等其它信息。
[0027]本系统也可全部采用硬件电路或全部采用计算机程序实现。全部采用硬件时,白名单匹配模块获得的指令身份信息有限,只能获取指令不变特征,可能影响人工分析可疑指令的效果;同时可疑指令处理模块的输出需要额外的存储接口或物理链路。全部采用计算机程序实现时,系统本身可能遭到黑客的破坏,进而影响功能实现。
[0028]图3示出了根据本发明的方法的简要示意图。方法具体包括以下步骤:
参考图3之301,建立硬盘指令不变特征的黑名单与白名单;
参考图3之302,接收计算机发出的硬盘控制指令,获取所接收指令的指令身份信息,并比较上述指令的指令不变特征是否与白名单中的指令不变特征匹配;
参考图3之303,对上述不匹配的硬盘控制指令直接向计算机返回结果数据,对上述匹配的硬盘控制指令转发给硬盘,并将硬盘返回的结果数据转发给计算机; 参考图3之304,将上述不匹配硬盘指令的指令不变特征与黑名单中的指令不变特征进行比较,如果不匹配,则将上述指令的指令身份信息输出供人工审核。
[0029]硬盘指令不变特征的白名单应在不影响硬盘基本操作的前提下设置为最小,初始值可包括设备识别指令,用户数据区读写指令。白名单应与硬盘品牌无关,而与硬盘容量相关。根据硬盘型号可得到硬盘用户数据区扇区数,计算机应只能对编号小于最大扇区数的硬盘扇区进行读写。
[0030]硬盘指令不变特征的黑名单初始值可为空,据研究同一品牌的不同系列硬盘,厂家都可能采用了不同的厂家自定义指令,因此黑名单与硬盘品牌、硬盘型号皆有关。
[0031]黑白名单数据库可以根据实际应用情况进行扩充与更新。
[0032]白名单和黑名单以外的指令为可疑指令,需要由人工分析确定其置信值,指令身份信息的多少直接影响分析能否成功。
[0033]更进一步地,方法还可包括步骤:将所述与黑名单一致指令的指令身份信息输出供人工审计。
[0034]以上所述,仅是本发明的优选实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
【主权项】
1.一种防范硬盘固件攻击的系统,其特征在于,包括: 黑白名单数据库,用于存储硬盘指令不变特征的黑名单与白名单; 白名单匹配模块,用于接收计算机发出的硬盘控制指令,获取所接收指令的指令身份信息,所述指令身份信息包括指令不变特征,并比较所述指令的指令不变特征是否与白名单中的指令不变特征匹配; 指令阻断与转发模块,对所述不匹配的硬盘控制指令直接向计算机返回结果数据,对所述匹配的硬盘控制指令转发给硬盘,并将硬盘返回的结果数据转发给计算机; 可疑指令处理模块,用于将所述不匹配硬盘指令的指令不变特征与黑名单中的指令不变特征进行比较,如果不匹配,则将所述指令的指令身份信息输出供人工分析。2.根据权利要求1所述的一种防范硬盘固件攻击的系统,其特征在于,所述指令不变特征包括:硬盘品牌、硬盘型号以及硬盘命令寄存器组代码。3.根据权利要求2所述的一种防范硬盘固件攻击的系统,其特征在于,所述指令身份信息还包括指令的执行时间和执行指令的进程名称。4.根据权利要求2所述的一种防范硬盘固件攻击的系统,其特征在于,所述指令阻断与转发模块包括: 指令阻断单元,用于阻断所述不匹配的硬盘控制指令,直接返回预设结果数据; 硬盘交互单元,用于将所述匹配的硬盘控制指令转发给硬盘,并接收硬盘返回的结果数据; 计算机反馈单元,用于将指令阻断单元和硬盘交互单元返回的结果数据发给计算机。5.根据权利要求2所述的一种防范硬盘固件攻击的系统,其特征在于,还包括学习模块,获取人工审核所发送的指令不变特征与置信值,并根据置信值添加至黑白名单数据库; 所述置信值包括信任与不信任。6.—种防范硬盘固件攻击的方法,其特征在于,包括如下步骤: 建立硬盘指令不变特征的黑名单与白名单; 接收计算机发出的硬盘控制指令,获取所接收指令的指令身份信息,所述指令身份信息包括指令不变特征,并比较所述指令的指令不变特征是否与白名单中的指令不变特征匹配; 对所述不匹配的硬盘控制指令直接向计算机返回结果数据,对所述匹配的硬盘控制指令转发给硬盘,并将硬盘返回的结果数据转发给计算机; 将所述不匹配硬盘指令的指令不变特征与黑名单中的指令不变特征进行比较,如果不匹配,则将所述指令的指令身份信息输出供人工分析。7.根据权利要求6所述的一种防范硬盘固件攻击的方法,其特征在于,所述获取指令身份信息的步骤包括: 获取计算机要操作硬盘的品牌、获取计算机要操作硬盘的型号、获取计算机发往硬盘命令寄存器组的代码值。8.根据权利要求7所述的一种防范硬盘固件攻击的方法,其特征在于,所述获取指令身份信息的步骤还包括: 获取指令的执行时间、获取执行指令的进程名称。9.根据权利要求8所述的一种防范硬盘固件攻击的方法,其特征在于,还包括步骤:将所述与黑名单一致指令的指令身份信息输出供人工审计。
【文档编号】G06F21/57GK105868640SQ201610199499
【公开日】2016年8月17日
【申请日】2016年4月4日
【发明人】袁建国, 张曦
【申请人】张曦
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1