基于安全芯片的防病毒方法

文档序号:6651895阅读:311来源:国知局
专利名称:基于安全芯片的防病毒方法
技术领域
本发明涉及一种基于安全芯片的防病毒方法,通过以安全芯片为信任根,对BIOS代码文件、MBR代码文件、可信文件等计算机关键文件进行安全备份和智能修复,并且在操作系统运行时执行文件监控功能,构建了完整的信任链,从而可以实现操作系统的安全启动,防止恶意程序的运行,达到防御已知和未知病毒的目的。
背景技术
目前存在多种能实现类似目的的解决方案。例如,在现有技术公知的普通防病毒方法中,使用病毒扫描引擎,对内存和磁盘文件进行扫描和监控,根据病毒特征库进行比较,发现病毒则报警和清除。然而,此种方法的缺点是只能发现已知病毒,而且由于运行在操作系统启动以后,不能对操作系统启动前和启动时的过程进行监控。
还存在一种操作系统修复方法,在该方法中,使用硬盘的HPA备份操作系统的核心文件,当核心文件与备份文件校验不一致时提示用户进行修复或备份。该方法的缺点是没有采用TPM安全芯片,安全性不够高。因为硬盘HPA是存在较大可能性被攻击者进行修改操作的,备份文件很可能被篡改而不被发现。
因此,需要一种基于安全芯片的防病毒方法,能够在操作系统启动前和启动时,防止恶意程序的运行,从而实现防御已知和未知病毒的目的。

发明内容
为了克服现有技术中存在的缺陷提出了本发明,本发明的目的是提出一种基于安全芯片的防病毒方法,通过以安全芯片为信任根,对BIOS代码文件、MBR代码文件、可信文件等计算机关键文进行安全备份和智能修复,并且在操作系统运行时执行文件监控功能,构建了完整的信任链,从而可以实现操作系统的安全启动,防止恶意程序的运行,达到防御已知和未知病毒的目的。
为了实现上述目的,根据本发明,提出了一种基于安全芯片的防病毒方法,所述方法包括以下步骤在安全芯片的存储器中存储将计算机关键文件和系统控制程序进行散列运算所获得的哈希值,并且在备份存储区中存储计算机关键文件的备份文件;在机器加电时,利用安全芯片的存储器中所存储的系统控制程序的哈希值来校验系统控制程序的完整性;如果系统控制程序是完整的,则由所述系统控制程序执行控制,所述系统控制程序利用安全芯片的存储器中所存储的计算机关键文件的哈希值,校验计算机关键文件的完整性;如果计算机关键文件均是完整的,则启动操作系统;以及相反,如果计算机关键文件的任一个不完整,则利用备份存储区中存储的计算机关键文件的备份文件来恢复其。
优选地,所述计算机关键文件包括BIOS代码文件、MBR部分的代码文件、可信文件。
优选地,所述系统控制程序利用安全芯片的存储器中所存储的计算机关键文件的哈希值、校验计算机关键文件的完整性的步骤包括所述系统控制程序分别利用安全芯片的存储器中所存储的BIOS代码文件、MBR部分的代码文件、可信文件的哈希值,依次校验BIOS代码文件、MBR部分的代码文件、可信文件的完整性。
优选地,所述备份存储区为硬盘保护区。
优选地,所述方法还包括步骤在操作系统启动之后,由系统控制程序利用安全芯片的存储器中所存储的可信文件的哈希值,实时校验可信文件的完整性;如果可信文件完整且待运行文件存在可信列表中时,允许所述待运行文件运行;相反,则禁止所述待运行文件运行。
优选地,所述利用安全芯片的存储器中所存储的系统控制程序的哈希值来校验系统控制程序的完整性的步骤包括对当前系统控制程序执行与所述散列运算相同的散列运算以获得当前系统控制程序的哈希值;将所述哈希值与安全芯片的存储器中所存储的系统控制程序的哈希值进行比较;如果两者一致,则表示当前系统控制程序是完整的。
优选地,所述利用安全芯片的存储器中所存储的计算机关键文件的哈希值,校验计算机关键文件的备份文件的完整性的步骤包括对计算机关键文件执行与所述散列运算相同的散列运算以获得当前计算机关键文件的哈希值;将所述哈希值与安全芯片的存储器中所存储的计算机关键文件的相应哈希值进行比较;如果两者分别一致,则表示计算机关键文件是完整的。
优选地,在安全芯片的存储器中存储的散列值是通过两次散列运算所获得的散列值。
优选地,所述两次散列运算所分别采用的两个散列函数是相同的。
优选地,所述两次散列运算所分别采用的两个散列函数是不同的。
优选地,所述可信文件是干净的操作系统核心文件。
优选地,所述安全芯片的存储器受到安全芯片的认证保护。


通过参考以下结合附图对所采用的优选实施例的详细描述,本发明的上述目的、优点和特征将变得显而易见,其中图1是示出了为了实现根据基于安全芯片的防病毒方法,安全芯片的存储器和HPA存储区的存储内容与BIOS(基本输入输出系统)代码文件、MBR(主引导记录)代码文件、可信文件的关系的示意图;以及图2是示出了根据本发明的基于安全芯片的防病毒方法的流程图。
具体实施例方式
本发明的技术原理在于以安全芯片为信任根,对系统启动过程中的各环节进行完整性检查,传递信任关系,建立整个计算机系统的可信计算环境,从而达到防病毒的目的。
下面将参考附图来描述根据本发明的优选实施例。
图1是示出了为了实现根据基于安全芯片的防病毒方法,安全芯片的存储器和HPA存储区的存储内容与BIOS代码文件、MBR代码文件、可信文件(计算机关键文件)的关系的示意图。
如图1所示,预先将正确的BIOS代码文件及其哈希值(hash值)存储在硬盘保护区(HPA区域,也被称为硬盘隐藏区),该HPA区域是一般用户无法访问的。另外,将HPA区域用作数据保护区域是本领域所公知的。然后,将该哈希值再进行散列运算得到的哈希值保存在安全芯片的存储器中,也就是,将对BIOS代码文件进行了两次散列运算所得到的哈希值存储在图1所示的安全芯片的存储器中,该安全芯片的存储器受到安全芯片的保护,需要得到安全芯片的拥有者的授权和认证才能访问,这里,安全芯片技术也是本领域所公知的,在此不再详细描述。
同样地,预先将正确的硬盘MBR部分的代码文件及其哈希值存储在硬盘保护区,并将该哈希值再进行散列运算得到的哈希值保存在安全芯片的存储器中。
同样地,预先创建可信文件列表,并将该列表中的可信文件(主要是干净的操作系统核心文件)以及哈希值存储在硬盘保护区,并将所有可信文件的哈希值再进行散列运算得到的哈希值保存在安全芯片的存储器中。
最后,系统控制程序文件及其哈希值也存储在硬盘保护区,并将该哈希值再进行散列运算得到的哈希值保存在安全芯片的存储器中。
总之,在硬盘保护区中存储了BIOS代码文件、MBR部分的代码文件、可信文件和系统控制程序文件经过一次散列运算后所得到哈希值。另外,还存储了BIOS代码文件、MBR部分的代码文件、可信文件的备份文件和系统控制程序文件,用于在它们受到纂改时恢复其。在安全芯片的存储器中存储了BIOS代码文件、MBR部分的代码文件、可信文件和系统控制程序文件经过两次散列运算后所得到哈希值,用于在机器启动之前和启动之后执行校验操作,如以下将详细描述的。
需要注意的是,作为示例,如图1所示,MBR部分的代码文件存储区、可信文件存储区和HPA区域通常处于硬盘中,而BIOS代码文件处于计算机的只读ROM中。另外,以上仅作为示例给出了通过两次散列运算来获得散列值的方式,但是本发明并不局限于此,其可以是任意次数的散列运算。此外,BIOS代码文件、MBR部分的代码文件和可信文件并不必须存储在于HPA区域中,其可以存储在任意形式(例如硬盘、ROM等)的文件备份区中。
图2是示出了根据本发明的基于安全芯片的防病毒方法的流程图。
如图2所示,机器加电启动时(步骤201),由安全芯片校验HPA中的控制程序,即,安全芯片对控制程序进行两次散列运算(步骤203),这里所示的两次散列运算如上所述。然后,将经过两次散列运算所获得的哈希值与存储在安全芯片的存储器中的哈希值进行比较(步骤205),如果不同(步骤205中的否),则停止启动并退出。如果相同(步骤205中的是),则将控制权交给控制程序,由控制程序依次校验BIOS代码文件、MBR(主引导记录)代码文件及可信文件,即,对BIOS代码文件、MBR代码文件及可信文件进行两次散列运算(步骤207、步骤211和步骤215)。然后,将两次散列运算所获得的哈希值与存储在安全芯片中的哈希值进行比较(步骤209、步骤213和步骤217),即检查BIOS代码文件、MBR代码文件及可信文件的完整性。如果不同(步骤209、步骤213和步骤217中的否),则修复被破坏的BIOS代码文件、MBR代码文件及可信文件(步骤227),即,由HPA中的相应备份文件来恢复被破坏的BIOS代码文件、MBR代码文件及可信文件。这样,可保证在操作系统启动前恢复BIOS/MBR/操作系统正常状态,直接消除病毒影响,有效防范已知和未知病毒,保证操作系统安全启动。
操作系统运行后(步骤219),系统控制程序实时监控可信文件的状态(步骤221),即,将可信文件经过两次散列运算所获得的哈希值与安全芯片的存储器中所存储的相应哈希值进行比较以检查可信文件的完整性。如果发现哈希值与安全芯片中的存储值不一致(步骤221中的否),则根据用户的选择自动进行修复或者更新(步骤229),该修复过程与以上的修复过程类似。相反,如果一致,(步骤221中的是),则检查待运行文件是否在该可信列表中(步骤223)。如果该文件不在该可信列表中(步骤223中的否),则可以根据用户的选择不允许其运行(步骤231),这种做法不依赖于病毒特征库即可达到抵御未知或已知病毒目的,使各种病毒无法在系统运行起来。相反,如果该程序存在于可信列表中(步骤223的是),则允许该程序的执行。
需要注意的是,对于以上提到的两次散列运算,两次散列运算所采用的散列函数可以是相同的也可以是不同的。
根据本发明,采用安全芯片保存系统关键信息,安全性高,保证了HPA的安全性,提供了硬件级完整性度量手段。另外,在本发明中,独立于被保护操作系统,从BIOS开始,依次对硬盘信息及操作系统核心文件等系统启动的关键环节进行完整性度量,比一般的防病毒软件提供了更底层、更彻底的防护。
尽管以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
权利要求
1.一种基于安全芯片的防病毒方法,所述方法包括以下步骤在安全芯片的存储器中存储将计算机关键文件和系统控制程序进行散列运算所获得的哈希值,并且在备份存储区中存储计算机关键文件的备份文件;在机器加电时,利用安全芯片的存储器中所存储的系统控制程序的哈希值来校验系统控制程序的完整性;如果系统控制程序是完整的,则由所述系统控制程序执行控制,所述系统控制程序利用安全芯片的存储器中所存储的计算机关键文件的哈希值,校验计算机关键文件的完整性;如果计算机关键文件均是完整的,则启动操作系统;以及相反,如果计算机关键文件的任一个不完整,则利用备份存储区中存储的计算机关键文件的备份文件来恢复其。
2.根据权利要求1所述的方法,其特征在于所述计算机关键文件包括BIOS代码文件、MBR部分的代码文件、可信文件。
3.根据权利要求2所述的方法,其特征在于所述系统控制程序利用安全芯片的存储器中所存储的计算机关键文件的哈希值、校验计算机关键文件的完整性的步骤包括所述系统控制程序分别利用安全芯片的存储器中所存储的BIOS代码文件、MBR部分的代码文件、可信文件的哈希值,依次校验BIOS代码文件、MBR部分的代码文件、可信文件的完整性。
4.根据权利要求1所述的方法,其特征在于所述备份存储区为硬盘保护区。
5.根据权利要求2所述的方法,其特征在于还包括步骤在操作系统启动之后,由系统控制程序利用安全芯片的存储器中所存储的可信文件的哈希值,实时校验可信文件的完整性;如果可信文件完整且待运行文件存在可信列表中时,允许所述待运行文件运行;相反,则禁止所述待运行文件运行。
6.根据权利要求1所述的方法,其特征在于所述利用安全芯片的存储器中所存储的系统控制程序的哈希值来校验系统控制程序的完整性的步骤包括对当前系统控制程序执行与所述散列运算相同的散列运算以获得当前系统控制程序的哈希值;将所述哈希值与安全芯片的存储器中所存储的系统控制程序的哈希值进行比较;如果两者一致,则表示当前系统控制程序是完整的。
7.根据权利要求1所述的方法,其特征在于所述利用安全芯片的存储器中所存储的计算机关键文件的哈希值,校验计算机关键文件的备份文件的完整性的步骤包括对计算机关键文件执行与所述散列运算相同的散列运算以获得当前计算机关键文件的哈希值;将所述哈希值与安全芯片的存储器中所存储的计算机关键文件的相应哈希值进行比较;如果两者分别一致,则表示计算机关键文件是完整的。
8.根据权利要求1所述的方法,其特征在于在安全芯片的存储器中存储的散列值是通过两次散列运算所获得的散列值。
9.根据权利要求1所述的方法,其特征在于所述两次散列运算所分别采用的两个散列函数是相同的。
10.根据权利要求1所述的方法,其特征在于所述两次散列运算所分别采用的两个散列函数是不同的。
11.根据权利要求1所述的方法,其特征在于所述可信文件是干净的操作系统核心文件。
12.根据权利要求1所述的方法,其特征在于所述安全芯片的存储器受到安全芯片的认证保护。
全文摘要
根据本发明,提出了一种基于安全芯片的防病毒方法,所述方法包括以下步骤在安全芯片的存储器中存储将计算机关键文件和系统控制程序进行散列运算所获得的哈希值,并且在备份存储区中存储计算机关键文件的备份文件;在机器加电时,利用安全芯片的存储器中所存储的系统控制程序的哈希值来校验系统控制程序的完整性;如果系统控制程序是完整的,则由所述系统控制程序执行控制,所述系统控制程序利用安全芯片的存储器中所存储的计算机关键文件的哈希值,校验计算机关键文件的完整性;如果计算机关键文件均是完整的,则启动操作系统;以及相反,如果计算机关键文件的任一个不完整,则利用备份存储区中存储的计算机关键文件的备份文件来恢复其。
文档编号G06F1/00GK1991779SQ200510136600
公开日2007年7月4日 申请日期2005年12月30日 优先权日2005年12月30日
发明者李俊, 王凯, 冯荣峰, 徐娜 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1