著录项信息
专利名称 | 基于安全芯片的防病毒方法 |
申请号 | CN200510136600.1 | 申请日期 | 2005-12-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2007-07-04 | 公开/公告号 | CN1991779 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F11/14 | IPC分类号 | G;0;6;F;1;1;/;1;4;;;G;0;6;F;1;/;0;0;;;G;0;6;F;9;/;4;4;5查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地信息产业基地创业路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 李俊;王凯;冯荣峰;徐娜 |
代理机构 | 中科专利商标代理有限责任公司 | 代理人 | 朱进桂 |
摘要
根据本发明,提出了一种基于安全芯片的防病毒方法,所述方法包括以下步骤:在安全芯片的存储器中存储将计算机关键文件和系统控制程序进行散列运算所获得的哈希值,并且在备份存储区中存储计算机关键文件的备份文件;在机器加电时,利用安全芯片的存储器中所存储的系统控制程序的哈希值来校验系统控制程序的完整性;如果系统控制程序是完整的,则由所述系统控制程序执行控制,所述系统控制程序利用安全芯片的存储器中所存储的计算机关键文件的哈希值,校验计算机关键文件的完整性;如果计算机关键文件均是完整的,则启动操作系统;以及相反,如果计算机关键文件的任一个不完整,则利用备份存储区中存储的计算机关键文件的备份文件来恢复其。
1、一种基于安全芯片的防病毒方法,所述方法包括以下步骤:
在安全芯片的存储器中存储将计算机关键文件和系统控制程序进 行散列运算所获得的哈希值,并且在备份存储区中存储计算机关键文 件的备份文件;
在机器加电时,利用安全芯片的存储器中所存储的系统控制程序 的哈希值来校验系统控制程序的完整性;
如果系统控制程序是完整的,则由所述系统控制程序执行控制, 所述系统控制程序利用安全芯片的存储器中所存储的计算机关键文件 的哈希值,校验计算机关键文件的完整性;
如果计算机关键文件均是完整的,则启动操作系统;以及
相反,如果计算机关键文件的任一个不完整,则利用备份存储区 中存储的计算机关键文件的备份文件来恢复其;
其中,在操作系统启动之后,由系统控制程序利用安全芯片的存 储器中所存储的可信文件的哈希值,实时校验可信文件的完整性;如 果可信文件完整且待运行文件存在可信列表中时,允许所述待运行文 件运行;相反,则禁止所述待运行文件运行。
2、根据权利要求1所述的方法,其特征在于所述计算机关键文件 包括:BIOS代码文件、MBR部分的代码文件、可信文件。
3、根据权利要求2所述的方法,其特征在于所述系统控制程序利 用安全芯片的存储器中所存储的计算机关键文件的哈希值、校验计算 机关键文件的完整性的步骤包括:所述系统控制程序分别利用安全芯 片的存储器中所存储的BIOS代码文件、MBR部分的代码文件、可信 文件的哈希值,依次校验BIOS代码文件、MBR部分的代码文件、可 信文件的完整性。
4、根据权利要求1所述的方法,其特征在于所述备份存储区为硬 盘保护区。
5、根据权利要求1所述的方法,其特征在于所述利用安全芯片的 存储器中所存储的系统控制程序的哈希值来校验系统控制程序的完整 性的步骤包括:对当前系统控制程序执行与所述散列运算相同的散列 运算以获得当前系统控制程序的哈希值;将所述哈希值与安全芯片的 存储器中所存储的系统控制程序的哈希值进行比较;如果两者一致, 则表示当前系统控制程序是完整的。
6、根据权利要求1所述的方法,其特征在于利用安全芯片的存储 器中所存储的计算机关键文件的哈希值,校验计算机关键文件的完整 性的步骤包括:对计算机关键文件执行与所述散列运算相同的散列运 算以获得当前计算机关键文件的哈希值;将所述哈希值与安全芯片的 存储器中所存储的计算机关键文件的相应哈希值进行比较;如果两者 分别一致,则表示计算机关键文件是完整的。
7、根据权利要求1所述的方法,其特征在于在安全芯片的存储器 中存储的散列值是通过两次散列运算所获得的散列值。
8、根据权利要求7所述的方法,其特征在于所述两次散列运算所 分别采用的两个散列函数是相同的。
9、根据权利要求7所述的方法,其特征在于所述两次散列运算所 分别采用的两个散列函数是不同的。
10、根据权利要求1所述的方法,其特征在于所述可信文件是干 净的操作系统核心文件。
11、根据权利要求1所述的方法,其特征在于所述安全芯片的存 储器受到安全芯片的认证保护。
技术领域\n本发明涉及一种基于安全芯片的防病毒方法,通过以安全芯片为 信任根,对BIOS代码文件、MBR代码文件、可信文件等计算机关键文件 进行安全备份和智能修复,并且在操作系统运行时执行文件监控功能, 构建了完整的信任链,从而可以实现操作系统的安全启动,防止恶意 程序的运行,达到防御已知和未知病毒的目的。\n背景技术\n目前存在多种能实现类似目的的解决方案。例如,在现有技术公 知的普通防病毒方法中,使用病毒扫描引擎,对内存和磁盘文件进行 扫描和监控,根据病毒特征库进行比较,发现病毒则报警和清除。然 而,此种方法的缺点是只能发现已知病毒,而且由于运行在操作系统 启动以后,不能对操作系统启动前和启动时的过程进行监控。\n还存在一种操作系统修复方法,在该方法中,使用硬盘的HPA备 份操作系统的核心文件,当核心文件与备份文件校验不一致时提示用 户进行修复或备份。该方法的缺点是没有采用TPM安全芯片,安全性不 够高。因为硬盘HPA是存在较大可能性被攻击者进行修改操作的,备份 文件很可能被篡改而不被发现。\n因此,需要一种基于安全芯片的防病毒方法,能够在操作系统启 动前和启动时,防止恶意程序的运行,从而实现防御已知和未知病毒 的目的。\n发明内容\n为了克服现有技术中存在的缺陷提出了本发明,本发明的目的是 提出一种基于安全芯片的防病毒方法,通过以安全芯片为信任根,对 BIOS代码文件、MBR代码文件、可信文件等计算机关键文进行安全备份 和智能修复,并且在操作系统运行时执行文件监控功能,构建了完整 的信任链,从而可以实现操作系统的安全启动,防止恶意程序的运行, 达到防御已知和未知病毒的目的。\n为了实现上述目的,根据本发明,提出了一种基于安全芯片的防 病毒方法,所述方法包括以下步骤:在安全芯片的存储器中存储将计 算机关键文件和系统控制程序进行散列运算所获得的哈希值,并且在 备份存储区中存储计算机关键文件的备份文件;在机器加电时,利用 安全芯片的存储器中所存储的系统控制程序的哈希值来校验系统控制 程序的完整性;如果系统控制程序是完整的,则由所述系统控制程序 执行控制,所述系统控制程序利用安全芯片的存储器中所存储的计算 机关键文件的哈希值,校验计算机关键文件的完整性;如果计算机关 键文件均是完整的,则启动操作系统;以及相反,如果计算机关键文 件的任一个不完整,则利用备份存储区中存储的计算机关键文件的备 份文件来恢复其,其中,在操作系统启动之后,由系统控制程序利用 安全芯片的存储器中所存储的可信文件的哈希值,实时校验可信文件 的完整性;如果可信文件完整且待运行文件存在可信列表中时,允许 所述待运行文件运行;相反,则禁止所述待运行文件运行。\n优选地,所述计算机关键文件包括:BIOS代码文件、MBR部分的 代码文件、可信文件。\n优选地,所述系统控制程序利用安全芯片的存储器中所存储的计 算机关键文件的哈希值、校验计算机关键文件的完整性的步骤包括: 所述系统控制程序分别利用安全芯片的存储器中所存储的BIOS代码文 件、MBR部分的代码文件、可信文件的哈希值,依次校验BIOS代码文件、 MBR部分的代码文件、可信文件的完整性。\n优选地,所述备份存储区为硬盘保护区。\n优选地,所述利用安全芯片的存储器中所存储的系统控制程序的 哈希值来校验系统控制程序的完整性的步骤包括:对当前系统控制程 序执行与所述散列运算相同的散列运算以获得当前系统控制程序的哈 希值;将所述哈希值与安全芯片的存储器中所存储的系统控制程序的 哈希值进行比较;如果两者一致,则表示当前系统控制程序是完整的。\n优选地,所述利用安全芯片的存储器中所存储的计算机关键文件 的哈希值,校验计算机关键文件的完整性的步骤包括:对计算机关键 文件执行与所述散列运算相同的散列运算以获得当前计算机关键文件 的哈希值;将所述哈希值与安全芯片的存储器中所存储的计算机关键 文件的相应哈希值进行比较;如果两者分别一致,则表示计算机关键 文件是完整的。\n优选地,在安全芯片的存储器中存储的散列值是通过两次散列运 算所获得的散列值。\n优选地,所述两次散列运算所分别采用的两个散列函数是相同 的。\n优选地,所述两次散列运算所分别采用的两个散列函数是不同 的。\n优选地,所述可信文件是干净的操作系统核心文件。\n优选地,所述安全芯片的存储器受到安全芯片的认证保护。\n附图说明\n通过参考以下结合附图对所采用的优选实施例的详细描述,本发 明的上述目的、优点和特征将变得显而易见,其中:\n图1是示出了为了实现根据基于安全芯片的防病毒方法,安全芯 片的存储器和HPA存储区的存储内容与BIOS(基本输入输出系统)代码 文件、MBR(主引导记录)代码文件、可信文件的关系的示意图;以及\n图2是示出了根据本发明的基于安全芯片的防病毒方法的流程 图。\n具体实施方式\n本发明的技术原理在于:以安全芯片为信任根,对系统启动过程 中的各环节进行完整性检查,传递信任关系,建立整个计算机系统的 可信计算环境,从而达到防病毒的目的。\n下面将参考附图来描述根据本发明的优选实施例。\n图1是示出了为了实现根据基于安全芯片的防病毒方法,安全芯 片的存储器和HPA存储区的存储内容与BIOS代码文件、MBR代码文件、 可信文件(计算机关键文件)的关系的示意图。\n如图1所示,预先将正确的BIOS代码文件及其哈希值(hash值) 存储在硬盘保护区(HPA区域,也被称为硬盘隐藏区),该HPA区域是一 般用户无法访问的。另外,将HPA区域用作数据保护区域是本领域所公 知的。然后,将该哈希值再进行散列运算得到的哈希值保存在安全芯 片的存储器中,也就是,将对BIOS代码文件进行了两次散列运算所得 到的哈希值存储在图1所示的安全芯片的存储器中,该安全芯片的存储 器受到安全芯片的保护,需要得到安全芯片的拥有者的授权和认证才 能访问,这里,安全芯片技术也是本领域所公知的,在此不再详细描 述。\n同样地,预先将正确的硬盘MBR部分的代码文件及其哈希值存储 在硬盘保护区,并将该哈希值再进行散列运算得到的哈希值保存在安 全芯片的存储器中。\n同样地,预先创建可信文件列表,并将该列表中的可信文件(主 要是干净的操作系统核心文件)以及哈希值存储在硬盘保护区,并将 所有可信文件的哈希值再进行散列运算得到的哈希值保存在安全芯片 的存储器中。\n最后,系统控制程序文件及其哈希值也存储在硬盘保护区,并将 该哈希值再进行散列运算得到的哈希值保存在安全芯片的存储器中。\n总之,在硬盘保护区中存储了BIOS代码文件、MBR部分的代码文 件、可信文件和系统控制程序文件经过一次散列运算后所得到哈希值。 另外,还存储了BIOS代码文件、MBR部分的代码文件、可信文件的备份 文件和系统控制程序文件,用于在它们受到纂改时恢复其。在安全芯 片的存储器中存储了BIOS代码文件、MBR部分的代码文件、可信文件和 系统控制程序文件经过两次散列运算后所得到哈希值,用于在机器启 动之前和启动之后执行校验操作,如以下将详细描述的。\n需要注意的是,作为示例,如图1所示,MBR部分的代码文件存储 区、可信文件存储区和HPA区域通常处于硬盘中,而BIOS代码文件处于 计算机的只读ROM中。另外,以上仅作为示例给出了通过两次散列运算 来获得散列值的方式,但是本发明并不局限于此,其可以是任意次数 的散列运算。此外,BIOS代码文件、MBR部分的代码文件和可信文件并 不必须存储在于HPA区域中,其可以存储在任意形式(例如硬盘、ROM 等)的文件备份区中。\n图2是示出了根据本发明的基于安全芯片的防病毒方法的流程 图。\n如图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/操作系统正常状态,直接消除病毒影响,有效 防范已知和未知病毒,保证操作系统安全启动。\n操作系统运行后(步骤219),系统控制程序实时监控可信文件的 状态(步骤221),即,将可信文件经过两次散列运算所获得的哈希值 与安全芯片的存储器中所存储的相应哈希值进行比较以检查可信文件 的完整性。如果发现哈希值与安全芯片中的存储值不一致(步骤221 中的否),则根据用户的选择自动进行修复或者更新(步骤229),该修 复过程与以上的修复过程类似。相反,如果一致,(步骤221中的是), 则检查待运行文件是否在该可信列表中(步骤223)。如果该文件不在 该可信列表中(步骤223中的否),则可以根据用户的选择不允许其运 行(步骤231),这种做法不依赖于病毒特征库即可达到抵御未知或已 知病毒目的,使各种病毒无法在系统运行起来。相反,如果该程序存 在于可信列表中(步骤223的是),则允许该程序的执行。\n需要注意的是,对于以上提到的两次散列运算,两次散列运算所 采用的散列函数可以是相同的也可以是不同的。\n根据本发明,采用安全芯片保存系统关键信息,安全性高,保证 了HPA的安全性,提供了硬件级完整性度量手段。另外,在本发明中, 独立于被保护操作系统,从BIOS开始,依次对硬盘信息及操作系统核 心文件等系统启动的关键环节进行完整性度量,比一般的防病毒软件 提供了更底层、更彻底的防护。\n尽管以上已经结合本发明的优选实施例示出了本发明,但是本领 域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可 以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实 施例来限定,而应由所附权利要求及其等价物来限定。
法律信息
- 2021-12-10
未缴年费专利权终止
IPC(主分类): G06F 11/14
专利号: ZL 200510136600.1
申请日: 2005.12.30
授权公告日: 2008.11.26
- 2008-11-26
- 2007-08-29
- 2007-07-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-05-04
|
2003-10-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |