对计算机bios固件进行安全风险检测的系统和方法

文档序号:6558661阅读:222来源:国知局
专利名称:对计算机bios固件进行安全风险检测的系统和方法
技术领域
本发明涉及计算机安全风险检测技术,特别是涉及一种计算机BIOS固件的安全风险检测的系统和方法。根据本发明的检测原理可以检测当前计算机BIOS存在的安全隐患,通过对BIOS代码进行完整性度量,得出检测结果,并据此对计算机BIOS进行安全修补,使其能够有效地防止针对计算机BIOS的网络攻击和信息泄密。
背景技术
计算机BIOS(Basic Input/Output System)是固化在计算机主板芯片里的软件系统,也称固件(firmware)。计算机开机上电后,首先执行BIOS指令,完成基础硬件和外围设备的检测及初始化,装载为系统运行时提供的服务,最后引导操作系统。
一般而言,传统信息安全威胁较多集中在软件系统上,而忽略了计算机BIOS固件的安全风险。随着BIOS功能增强和技术发展,固件BIOS的安全风险问题正日益突出。BIOS安全风险和威胁的出现是多种因素共同作用的结果。
早期BIOS功能简单,BIOS二进制代码体积小,烧录在32KB的PROM或EPROM芯片中。伴随BIOS功能扩展,容纳BIOS的芯片容量也不断增加,逐渐扩大到512KB,甚至是1024KB。
PNP、DMI、ESCD、SMBIOS等标准要求BIOS与操作系统交互,主机板BIOS要能够记录外围设备变化情况和资源配置变动情况,并与操作系统交换数据,而在系统运行中对BIOS的更新需求也日益增多。为适应这些变化,主机板BIOS芯片逐步被可用软件改写更新的FLASH芯片取代。而显卡、网卡等OPROM也都改用FLASH芯片存储。主机板上设计有FLASH芯片读写硬件线路,使用软件方法,把FLASH芯片的写电压拉升到某种特定电压,或输入指定的擦除信号,就可以实现对FLASH整颗芯片的存储内容擦除改写,或擦除改写部分块(block)和分区(sector)。
这些新技术的发展,使BIOS所面临的安全威胁逐步凸现出来。BIOS安全风险体现在两个方面,一是对BIOS芯片和存储内容的破坏,导致对计算机主机板硬件层和固件层攻击,如CIH病毒就是这种BIOS安全威胁的一个著名实例;BIOS安全风险的另一个方面,是利用BIOS自身设计隐患,或利用BIOS芯片的剩余空间嵌入非法程序,以实现对计算机系统的远程控制。
由于计算机BIOS是一种固件系统,是烧录在固体FLASH芯片中的软件系统。BIOS的安全风险检测同一般软件系统的漏洞扫描、查毒杀毒有着较大的区别。与传统的基于软件的信息安全风险相比较,BIOS安全风险存在于硬件芯片中,具有更隐蔽、不易检测、不易清除、不受操作系统和磁盘更新影响等特点。

发明内容
本发明针对BIOS固件系统的安全风险,提供一种新的能够对BIOS固件进行安全风险检测的系统和方法,通过对计算机BIOS的安全检测及安全修补,解决针对计算机BIOS的安全隐患扫描和代码完整性度量问题。提高计算机系统的安全性,减少或避免由于BIOS安全威胁而导致的计算机被攻击、信息泄密的危害。
本发明提出的能够对BIOS固件进行安全风险检测的系统,包括采样子系统、安全分析子系统、安全管理子系统和安全修补子系统;所述采样子系统,用于完成对计算机主板上存储BIOS的FLASH芯片的本地采样或远程采样,读取FLASH芯片内容并存储成二进制影像文件;所述安全分析子系统,通过所述安全管理子系统接收来自采样子系统的采样数据,对采样数据进行安全分析,生成分析结果报告给所述安全管理子系统;所述安全管理子系统建立和管理安全检测任务,呈现分析结果报告,并报告给所述安全修补子系统;
所述安全修补子系统根据安全管理子系统报告的安全隐患,对BIOS影像文件实施安全修补,并将修补后的BIOS影像文件写回FLASH芯片中。
在上述的对计算机BIOS固件进行安全风险检测的系统中,对于本地采样,所述采样子系统包括在操作系统环境下的采样模块和本地存储模块,用于对本地的计算机进行BIOS固件系统的安全风险检测,由所述采样模块进行采样,并将采样数据存储到本地存储模块中。
上述的对计算机BIOS固件进行安全风险检测的系统,还包括一采用TCP/IP协议通信远程接收来自所述采样子系统的采样数据的安全存储子系统,用于集中式的远程检测。对于远程采样,所述采样子系统还包括用于光盘启动的采样模块和远程存储模块,通过远程存储模块将采样模块采集的采样数据传输到安全存储子系统中的远程专用存储服务器上存储。
在所述的对计算机BIOS固件进行安全风险检测的系统中,所述安全管理子系统包括任务管理模块、分析结果呈现模块和通信和存储模块;所述任务管理模块用于建立安全检测任务,读取采样子系统采集的采样数据中的BIOS影像文件,交由安全分析子系统进行安全风险分析检测;所述分析结果呈现模块显示对BIOS的安全检测结果,并结合采样记录和任务日志生成最终的安全检测报告,允许用户显示、打印或存储安全检测报告;所述通信和存储模块用于所述安全管理子系统与其他子系统间的数据传输和存储。
在所述的对计算机BIOS固件进行安全风险检测的系统中,所述安全分析子系统中,包括安全分析引擎、BIOS安全隐患库和/或BIOS标准代码样本库;所述安全分析引擎,用于对采样数据中的BIOS影像文件进行解析,得到用来比较BIOS安全隐患的BIOS模块,确定BIOS安全隐患和/或度量BIOS模块代码的完整性;
所述BIOS安全隐患库,存储有各种BIOS安全隐患,用来提供给所述安全分析引擎进行BIOS模块的比较,以确定BIOS安全隐患;所述BIOS标准代码样本库,存储有各种BIOS标准代码样本,用来提供给所述安全分析引擎进行BIOS模块代码的完整性的度量以判定BIOS代码是否被修改过。
在所述的对计算机BIOS固件进行安全风险检测的系统中,所述安全修补子系统,包括BIOS修补代码模块和BIOS安全修补工具;通过所述BIOS安全修补工具,将BIOS修补代码模块嵌入到BIOS影像文件中,以修补BIOS当前存在的配置漏洞;或/和利用所述BIOS安全修补工具从BIOS影像文件中删除BIOS木马模块或其他怀疑存在后门的模块。
本发明还提供了一种对计算机BIOS固件进行安全风险检测的方法,包括如下步骤步骤一、初始化后,进行BIOS采样;步骤二、解析BIOS影像文件;步骤三、扫描BIOS的各种隐患和/或度量BIOS代码的完整性;步骤四、输出检测结果,据此对BIOS进行安全修补。
上述方法的所述步骤四中,对BIOS进行安全修补之后,还包括将修改后的BIOS影像文件重新写入FLASH芯片中的步骤。
上述中,所述的步骤二解析BIOS影像文件,即通过读取BIOS影像文件,判定BIOS类型,根据BIOS类型,按照模块头部特征字和结构,从BIOS影像文件中解析并解压缩各个BIOS模块并存储成独立的二进制文件。
在上述方法中,所述步骤三的扫描BIOS的各种隐患,即根据BIOS安全隐患库中的每一个安全隐患记录,在生成的所有BIOS模块中查找与之相匹配的隐患特征码,确定BIOS是否存在安全隐患。
在上述方法中,所述步骤三的度量BIOS代码的完整性,即对生成的可执行代码模块,计算模块的MD5消息摘要,并与BIOS标准代码样本库中的对应模块的消息摘要进行比较,从而度量BIOS代码模块的完整性。
在所述BIOS安全隐患库中,对所存储的每一个BIOS安全隐患,采用至少两元组描述,设V={n,k}式中V代表一种安全隐患,n表示安全隐患名称,k表示安全隐患的一组或多组特征码。
另外,也可以采用更多元素来描述,如采用六元组描述,设V={t,n,k,m,p,d}式中V代表一种安全隐患,t表示安全隐患类型,n表示安全隐患名称,k表示安全隐患的一组或多组特征码,m表示安全隐患涉及的一个或多个BIOS模块,p代表对该安全隐患修补方案的建议,d代表对该安全隐患的危害和利用情况描述。
所述BIOS标准代码样本库中的每一个标准代码模块,采用至少四元组描述,设S={bt,ct,mt,fn}式中S代表一个标准代码模块,bt表示该模块所属的BIOS类型,ct表示该模块所属的计算机类型,mt表示该模块的类别,fn代表存储该模块的磁盘文件。
另外,也可以采用更多元素来描述,如采用五元组描述,设S={bt,ct,mt,fn,md}式中S代表一个标准代码模块,bt表示该模块所属的BIOS类型,ct表示该模块所属的计算机类型,mt表示该模块的类别,fn代表存储该模块的磁盘文件,md表示该模块内容的消息摘要。
在上述方法中,所述步骤五中的对BIOS进行安全修补,包括如下的有针对性的BIOS安全修补技术措施(1)BIOS功能障碍无需修补,只需提示用户功能障碍可能发生的情形及使用注意事项,避免由此引起的系统崩溃和数据丢失;(2)针对BIOS配置漏洞,本发明所述系统提供专用的BIOS安全补丁代码模块,用系统提供的工具将该BIOS安全补丁代码模块嵌入BIOS影像文件后,在BIOS自检过程后,自动执行该段代码,从而设定安全合理的正确配置;(3)针对BIOS的物理攻击威胁,提醒和建议用户及时采用相应的硬件保护措施;(4)针对BIOS中被植入的木马模块,系统将从BIOS影像文件中删除该模块。
综上所述,本发明通过对计算机BIOS固件的安全风险检测,能够有效地减少、降低、消除计算机BIOS存在的安全漏洞和安全隐患,防止计算机BIOS中代码被恶意修改,或被植入木马程序,从硬件层和固件层两方面共同增强计算机信息系统安全,防备针对计算机BIOS而发生的计算机物理攻击、信息泄露、数据丢失、网络攻击等安全事故,为高安全计算环境和网络环境的信息安全、信息保密提供可靠的终端安全防范和全面的保护。


图1是本发明所述计算机BIOS安全检测系统的整体结构框图;图2是本发明所述系统的计算机BIOS安全检测方式示意图;图3是本发明所述的计算机BIOS安全检测方法流程图;图4是本发明所述的计算机BIOS采样过程;图5是本发明所述的计算机BIOS安全风险分析原理示意图。
具体实施例方式
下面首先介绍本发明所述安全检测系统的结构。
本发明所述系统采用模块化结构,采用模块化设计思想,检测时既方便用于单台计算机的安全检测,也可以建立BIOS安全检测中心,通过网络实施大规模的计算机BIOS安全风险检测。
图1是本发明所述系统的整体结构框图。本发明所述系统主要包括采样子系统1、安全分析子系统2、安全管理子系统3、安全修补子系统4。图1中还示出了安全存储子系统5,其属于可选的子系统。
所述采样子系统完成对计算机主板上存储BIOS的FLASH芯片的采样工作,读取FLASH芯片内容(如BIOS整体文件)并存储成二进制影像文件。所述采样子系统包括在操作系统环境下的采样模块11和本地存储模块12,用于对本地的计算机进行BIOS固件系统的安全风险检测。对于本地检测,则将采样模块11对采样数据存储到本地存储模块12中,如本地计算机磁盘中。如果是集中式的远程检测,则需要安全存储子系统5,这时,所述采样子系统还包括用于光盘启动的采样模块15和远程存储模块16,通过远程存储模块16和通信和存储模块51把采样模块15采集的采样数据传输到安全存储子系统5中的远程专用存储服务器52上存储;其中,传输方式可以为网络传输,采用TCP/IP协议通信。
所述安全分析子系统2中,包括安全分析引擎21、BIOS安全隐患库22、BIOS标准代码样本库23;所述安全分析引擎21用于完成对BIOS影像文件的模块分解、对分解后的各个模块进行隐患扫描和代码的完整性度量,其中,BIOS安全隐患库22、BIOS标准代码样本库23分别存储各种BIOS安全隐患和BIOS标准代码样本,在本发明中,这两个数据库是动态的数据库,可以不断的加入新发现的安全隐患和BIOS标准代码样本。
利用安全分析引擎21对BIOS影像文件进行分解,可得到多个组成影像文件的BIOS模块,然后根据存储在BIOS安全隐患库中的特征码,在这些BIOS模块中进行特征码扫描和匹配,从而确定BIOS存在的安全隐患;对于包含可执行代码的BIOS模块,所述安全分析引擎生成该BIOS模块的MD5消息摘要,通过与所述BIOS标准代码样本库23中的相应模块的消息摘要进行比较,判定BIOS代码是否被修改过;最后生成技术性的安全检测报告供所述安全管理子系统使用。
所述安全管理子系统3包括任务管理模块31、分析结果呈现模块32和通信和存储模块33;所述任务管理模块31用于建立安全检测任务,读取本地磁盘或服务器上的BIOS影像文件,交由安全分析子系统2进行安全风险分析检测;所述分析结果呈现模块32显示对BIOS的安全检测结果,并结合采样记录和任务日志生成最终的安全检测报告,允许用户显示、打印或存储安全检测报告。
安全检测报告可以通过所述通信和存储模块33存储在本地磁盘,或远程存储到专用存储服务器52上。
所述安全修补子系统4,包括BIOS修补代码模块41和BIOS安全修补工具42。利用BIOS安全修补工具42可以将BIOS修补代码模块41嵌入到BIOS影像文件中,以修补BIOS当前存在的配置漏洞;也可以利用该BIOS安全修补工具42从BIOS影像文件中删除BIOS木马模块或其他怀疑存在后门的模块;安全修补子系统4同时也提供将修补后的BIOS影像文件写回FLASH芯片的工具软件。BIOS的安全修补由BIOS安全专员人员根据检测结果实施,而不是由系统自动实施。
图2是本发明所述系统的计算机BIOS安全检测方式示意图,如上所述,本发明所述系统采用模块化设计,既适合于在单台计算机上完成BIOS安全风险检测(见图2中A所示),也适合于大规模的集中式的BIOS安全检测(见图2中B所示)。因此,图2给出了本地检测和远程联网检测的工作方式。
对于本地检测,将采样子系统、安全管理子系统、安全分析子系统、安全修补子系统安装在要被检测的同一台计算机上,就可以在该台计算机上本地完成所有检测并呈现报告。这种检测方式无需专用存储服务器和网络支持。
如果要进行大规模的远程联网进行计算机BIOS安全风险检测,可以通过建立BIOS安全检测中心来实现远程检测。所述BIOS安全检测中心设立BIOS安全存储子系统,配置专用存储服务器。配备一台或多台安全检测终端计算机。每台终端计算机上安装安全管理子系统和安全分析子系统。BIOS采样子系统可以下载到被检测计算机的本地执行,也可以通过WEB方式网络远程直接执行,但需要得到被检测计算机用户的确认许可。被检测计算机、专用存储服务器、安全检测终端计算机之间通过TCP/IP网络连接。
具体的检测原理将在下面逐步地展开介绍。
图3是本发明所述计算机BIOS安全检测的方法流程图。
首先,进行BIOS采样,可选择地进行本地采样或远程采样;然后,解析BIOS文件,即通过读取BIOS影像文件,判定BIOS类型,根据BIOS类型,按照模块头部特征字和结构,从BIOS影像文件中解析并解压缩各个组成BIOS模块并存储成独立的二进制文件;扫描BIOS存在的安全隐患,即根据安全隐患库中的每一个安全隐患记录,在生成的所有BIOS模块中查找匹配隐患特征码,确定BIOS是否存在安全隐患;度量BIOS模块代码的完整性对生成的可执行代码模块,计算模块的MD5消息摘要,并与标准代码样本库中的对应模块的消息摘要进行比较,度量BIOS模块代码的完整性;根据上述结果,生成BIOS安全风险检测报告,为安全管理子系统生成最终的检测结果提供技术性分析的内容;该安全风险检测报告可用于对被检测的计算机进行安全风险评估,安全修补则需要根据所发现的不同类型的隐患,向BIOS影像文件中加入相应的安全修补代码模块,或者从BIOS影像文件中删除有威胁的模块;对BIOS影像文件进行修补处理后,即可将修补后的BIOS影像文件写回FLASH芯片中,但写入前需要征得被检测计算机用户的同意。
参见图4,在结合附图1、2、3的基础上,进一步具体地说明本发明系统和方法所采用的采样原理。
如图4所示,本发明所述系统提供在操作系统环境中运行的采样软件。采样软件通过对主板上存储BIOS芯片的读操作,实现BIOS采样。采样后的结果存储在本地磁盘,或通过TCP/IP协议通信将采样数据传输到安全存储子系统中的远程专用存储服务器。
特别是,本发明所述系统还可以提供BIOS采样光盘。使用该采样光盘,即使被采样计算机没有安装操作系统也能实现采样。采样光盘以光盘自身上的LINUX系统启动计算机,然后自动运行采样软件实现采样,并通过TCP/IP协议通信将采样数据传输到远程专用存储服务器。
本发明所述系统在采样过程中,要记录并保存被采样计算机的信息。信息项目包括但不限于单位名称、科室名称、计算机型号、计算机使用人、计算机负责人、采样时间、采样地点、采样人。
图5为本发明BIOS安全风险分析原理示意图,本发明的重点在于对计算机BIOS安全风险的分析。从图5并结合图3可以看出,BIOS安全分析引擎可进行三个方面的分析。
(一)BIOS影像文件解析BIOS影像文件是由多个BIOS功能代码模块或数据模块按照一定的结构组合形成的。每一个功能代码模块或数据模块都按照固定头部结构封装。头部结构中的信息包括头部特征字、模块类型、模块压缩长度、模块实际长度、模块压缩算法。
本发明所述系统对BIOS影像文件的解析过程,就是在BIOS影像文件中顺序查找这些头部特征字,然后根据头部结构中的模块长度、压缩算法等信息,将模块内容读出并存储成独立的二进制文件。
除少数模块外,大部分BIOS模块都被压缩存储。要想对BIOS进行安全隐患扫描,必须把这些压缩存储的模块解压缩后才能进行隐患特征码的扫描匹配。BIOS模块压缩一般采用公用的压缩算法,主要是LZSS和LZINT算法。
(二)BIOS安全隐患扫描BIOS安全隐患库中,存储着已发现的所有的BIOS安全隐患。本发明所述系统将所有的BIOS安全隐患归结为4种类型,即(1)BIOS功能障碍隐患、(2)BIOS配置漏洞隐患、(3)BIOS物理攻击隐患、(4)BIOS木马隐患。
关于第(1)种类型,BIOS功能障碍是指由主板厂商集成BIOS功能模块时存在某些硬件或软件兼容性方面的缺陷,在某些使用情形下会造成系统启动失败、硬盘数据丢失等障碍。
关于第(2)种类型,BIOS配置漏洞隐患是指由于BIOS SETUP中的某些选项设置不合理而导致会被恶意者利用进行远程存取或远程控制。
关于第(3)种类型,BIOS物理攻击是指由于存储BIOS的FLASH芯片缺乏写保护而导致芯片内容被擦除、或导致主机板部件物理损坏。
关于第(4)种类型,BIOS木马是指由于存储BIOS的FLASH芯片中被植入木马而导致计算机被远程攻击者控制或信息泄露。
对于检测出来的BIOS的不同类型的安全隐患,需要采取相应的针对性的BIOS安全修补技术措施。
本发明所述系统中的BIOS安全隐患库中所存储的每一个BIOS安全隐患,采用六元组描述(可包括但不限于,最简单的是只包括隐患名称和特征码)V={t,n,k,m,p,d}式中V代表一种安全隐患,t表示安全隐患类型,n表示安全隐患名称,k表示安全隐患的一组或多组特征码,m表示安全隐患涉及的一个或多个BIOS模块,p代表对该安全隐患修补方案的建议,d代表对该安全隐患的危害和利用情况描述。
本发明对BIOS的安全隐患扫描,是通过比较安全隐患的特征码匹配实现的。
(三)度量BIOS模块代码的完整性本发明所述系统中被检测BIOS模块及其对应标准代码模块的对应关系,是通过BIOS类型、计算机类型、模块类型3组数据共同决定的。通过事先收集整理不同BIOS类型和不同计算机类型的BIOS样本,对样本模块进行研究分类,建立BIOS标准代码样本库。
BIOS模块代码的完整性度量,就是要检测BIOS模块中的代码是否被修改而改变或增加了模块的功能。本发明所述系统中BIOS模块代码的完整性度量,通过比较被检测BIOS模块和对应标准代码模块的MD5消息摘要来实现的。如果被检测模块的MD5消息摘要与其对应的标准代码样本库中的模块生成的MD5消息摘要完全一致,则证明被检测模块未被修改。MD5消息摘要算法是公开的公知算法。
本发明所述系统中BIOS标准代码样本库中的每一个标准代码模块,采用五元组描述(其中,也可以不包含md,而由分析引擎在检测时根据模块文件临时计算)S={bt,ct,mt,fn,md}式中S代表一个标准代码模块,bt表示该模块所属的BIOS类型,ct表示该模块所属的计算机类型,mt表示该模块的类别,fn代表存储该模块的磁盘文件,md表示该模块内容的消息摘要。
安全分析子系统的分析过程完成后,生成BIOS安全风险检测报告,并输出检测结果。
总结上述过程,安全分析引擎的执行步骤为步骤一、读取BIOS影像文件,判定BIOS类型;步骤二、根据BIOS类型,按照组成BIOS影像文件的各个BIOS模块头部特征字和结构,从BIOS影像文件中解析并解压缩各个BIOS模块并存储成独立的二进制文件;步骤三、根据安全隐患库中的每一个安全隐患记录,在生成的所有BIOS模块中查找匹配隐患特征码,确定BIOS存在的安全隐患;步骤四、对生成的可执行代码模块,计算模块的MD5消息摘要,并与标准代码样本库中的对应模块的消息摘要进行比较,度量BIOS模块代码的完整性;步骤五、根据步骤三和步骤四的结果,生成BIOS安全风险检测报告。
上述的BIOS安全检测报告,包括两部分内容,即(1)任务记录信息部分,(2)技术检测结果部分。另外,实施者也可以对报告的具体内容进行适当的增减。
所述任务记录信息部分的内容包括BIOS样本记录信息记载被检测计算机的BIOS采样信息,如包括以下信息项单位名称、科室名称、计算机型号、计算机使用人、计算机负责人、采样时间、采样地点、采样人;BIOS检测任务信息记载该BIOS分析检测任务信息,如可以包括以下信息项任务创建日期、任务创建时间、任务创建人。
所述技术检测结果部分的内容包括BIOS基本信息记载被检测BIOS的基本信息,如包括以下信息项BIOS厂商、BIOS文件长度、BIOS序列号、BIOS发布时间、BIOS版本号、BIOS版权信息;BIOS结构信息记载被检测BIOS的模块解析结果,列出所有解析出的模块信息。每个模块包括以下信息项模块类型代码、模块类型名称、模块存储文件、模块实际长度、模块压缩长度、模块压缩比率、模块功能描述;BIOS安全隐患记载被检测BIOS存在的安全隐患。每个被报告的安全隐患包括但不限于以下信息项安全隐患名称、安全隐患类型、隐患对应模块、建议解决方案、安全隐患描述;BIOS完整性对被检测BIOS的每一个可执行模块,报告其完整性度量结果。
根据所检测的结果,对BIOS进行安全修补本发明所述系统针对四种不同的BIOS安全隐患类型,提供有针对性的不同的BIOS安全修补技术措施(1)BIOS功能障碍无需修补,只需提示用户功能障碍可能发生的情形及使用注意事项,避免由此引起的系统崩溃和数据丢失;(2)针对BIOS配置漏洞,本发明所述系统提供专用的BIOS安全补丁代码模块,用系统提供的工具将该BIOS安全补丁代码模块嵌入BIOS影像文件后,在BIOS自检过程后,自动执行该段代码,从而设定安全合理的正确配置;(3)针对BIOS的物理攻击威胁,提醒和建议用户及时采用相应的硬件保护措施;(4)针对BIOS中被植入的木马模块,系统将从BIOS影像文件中删除该模块。
当然,如果BIOS中检测出的其它未知功能或类型的模块,则由专业人员进行进一步分析,并将分析结果数据充实到BIOS安全隐患库或标准代码样本库中。
虽然本发明已经根据所示的实施例做了上述描述,但本领域的普通技术人员会很容易理解实施例的变化和本发明的精神和范围内的变化。因此,本领域的普通技术人员可以在不背离本发明的精神和范围下进行许多变型。
权利要求
1.一种对计算机BIOS固件进行安全风险检测的系统,其特征在于,包括采样子系统、安全分析子系统、安全管理子系统和安全修补子系统;所述采样子系统,用于完成对计算机主板上存储BIOS的FLASH芯片的本地采样或远程采样,读取FLASH芯片内容并存储成二进制影像文件;所述安全分析子系统,通过所述安全管理子系统接收来自采样子系统的采样数据,对采样数据进行安全分析,生成分析结果报告给所述安全管理子系统;所述安全管理子系统建立和管理安全检测任务,呈现分析结果报告,并报告给所述安全修补子系统;所述安全修补子系统根据安全管理子系统报告的安全隐患,对BIOS影像文件实施安全修补,并将修补后的BIOS影像文件写回FLASH芯片中。
2.根据权利要求1所述的对计算机BIOS固件进行安全风险检测的系统,其特征在于,对于本地采样,所述采样子系统包括在操作系统环境下的采样模块和本地存储模块,用于对本地的计算机进行BIOS固件系统的安全风险检测,由所述采样模块进行采样,并将采样数据存储到本地存储模块中;或者,所述系统还包括一采用TCP/IP协议通信远程接收来自所述采样子系统的采样数据的安全存储子系统,用于集中式的远程检测,对于远程采样,所述采样子系统还包括用于光盘启动的采样模块和远程存储模块,通过远程存储模块将采样模块采集的采样数据传输到安全存储子系统中的远程专用存储服务器上存储。
3.根据权利要求1所述的对计算机BIOS固件进行安全风险检测的系统,其特征在于,所述安全管理子系统包括任务管理模块、分析结果呈现模块和通信和存储模块;所述任务管理模块用于建立安全检测任务,读取采样子系统采集的采样数据中的BIOS影像文件,交由安全分析子系统进行安全风险分析检测;所述分析结果呈现模块显示对BIOS的安全检测结果,并结合采样记录和任务日志生成最终的安全检测报告,允许用户显示、打印或存储安全检测报告;所述通信和存储模块用于所述安全管理子系统与其他子系统间的数据传输和存储。
4.根据权利要求1所述的对计算机BIOS固件进行安全风险检测的系统,其特征在于,所述安全分析子系统中,包括安全分析引擎、BIOS安全隐患库和/或BIOS标准代码样本库;所述安全分析引擎,用于对采样数据中的BIOS影像文件进行解析,得到用来比较BIOS安全隐患的BIOS模块,确定BIOS安全隐患和/或度量BIOS模块代码的完整性;所述BIOS安全隐患库,存储有各种BIOS安全隐患,用来提供给所述安全分析引擎进行BIOS模块的比较,以确定BIOS安全隐患;所述BIOS标准代码样本库,存储有各种BIOS标准代码样本,用来提供给所述安全分析引擎进行BIOS模块代码的完整性的度量,以判定BIOS代码是否被修改过。
5.根据权利要求1所述的对计算机BIOS固件进行安全风险检测的系统,其特征在于,所述安全修补子系统,包括BIOS修补代码模块和BIOS安全修补工具;通过所述BIOS安全修补工具,将BIOS修补代码模块嵌入到BIOS影像文件中,以修补BIOS当前存在的配置漏洞;或/和利用所述BIOS安全修补工具从BIOS影像文件中删除BIOS木马模块或其他怀疑存在后门的模块。
6.一种对计算机BIOS固件进行安全风险检测的方法,其特征在于,包括如下步骤步骤一、初始化后,进行BIOS采样;步骤二、解析BIOS影像文件;步骤三、扫描BIOS的各种隐患和/或度量BIOS代码的完整性;步骤四、输出检测结果,据此对BIOS进行安全修补。
7.根据权利要求6所述的对计算机BIOS固件进行安全风险检测的方法,其特征在于,所述步骤二的解析BIOS影像文件,即通过读取BIOS影像文件,判定BIOS类型,根据BIOS类型,按照模块头部特征字和结构,从BIOS影像文件中解析并解压缩各个BIOS模块并存储成独立的二进制文件。
8.根据权利要求6所述的对计算机BIOS固件进行安全风险检测的方法,其特征在于,所述步骤三的扫描BIOS的各种隐患,即根据BIOS安全隐患库中的每一个安全隐患记录,在生成的所有BIOS模块中查找与之相匹配的隐患特征码,确定BIOS是否存在安全隐患;其中,所述BIOS安全隐患库中,对所存储的每一个BIOS安全隐患,采用至少两元组描述,设V={n,k}式中V代表一种安全隐患,n表示安全隐患名称,k表示安全隐患的一组或多组特征码。
9.根据权利要求6所述的对计算机BIOS固件进行安全风险检测的方法,其特征在于,所述步骤三的度量BIOS代码的完整性,即对生成的可执行代码模块,计算模块的MD5消息摘要,并与BIOS标准代码样本库中的对应模块的消息摘要进行比较,从而度量BIOS代码模块的完整性;所述BIOS标准代码样本库中的每一个标准代码模块,采用至少四元组描述,设S={bt,ct,mt,fn}式中S代表一个标准代码模块,bt表示该模块所属的BIOS类型,ct表示该模块所属的计算机类型,mt表示该模块的类别,fn代表存储该模块的磁盘文件。
10.根据权利要求6所述的对计算机BIOS固件进行安全风险检测的方法,其特征在于,所述步骤五中的对BIOS进行安全修补,包括如下的有针对性的BIOS安全修补技术措施(1)BIOS功能障碍无需修补,只需提示用户功能障碍可能发生的情形及使用注意事项,避免由此引起的系统崩溃和数据丢失;(2)针对BIOS配置漏洞,本发明所述系统提供专用的BIOS安全补丁代码模块,用系统提供的工具将该BIOS安全补丁代码模块嵌入BIOS影像文件后,在BIOS自检过程后,自动执行该段代码,从而设定安全合理的正确配置;(3)针对BIOS的物理攻击威胁,提醒和建议用户及时采用相应的硬件保护措施;(4)针对BIOS中被植入的木马模块,系统将从BIOS影像文件中删除该模块。
全文摘要
本发明公开了一种对计算机BIOS固件进行安全风险检测的系统以及方法,所述方法包括初始化后,进行BIOS采样;解析BIOS影像文件;扫描BIOS的各种隐患;度量BIOS代码的完整性;输出检测结果,据此对BIOS进行安全修补。本发明通过对计算机BIOS固件的安全风险检测,能够有效地减少、降低、消除计算机BIOS存在的安全漏洞和安全隐患,防止计算机BIOS中代码被恶意修改,或被植入木马程序,从硬件层和固件层共同增强计算机信息系统安全,防备针对计算机BIOS而发生的各种攻击等安全事故,为高安全计算环境和网络环境的信息安全、信息保密提供可靠的终端安全防范和全面的保护。
文档编号G06F11/14GK101079003SQ20061008108
公开日2007年11月28日 申请日期2006年5月23日 优先权日2006年5月23日
发明者周振柳, 许榕生 申请人:北京金元龙脉信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1