首页> 中国专利> 在系统预引导期间具有改进的只读存储器锁定的安全数据保护

在系统预引导期间具有改进的只读存储器锁定的安全数据保护

摘要

总体上,本发明提供了用于在系统预引导期间具有改进的只读存储器锁定的安全数据保护的方法和系统,所述安全数据保护包括对高级配置和电源接口(ACPI)表的保护。所述方法可以包括:选择要保护的系统存储器的区域,所述选择响应于系统重置状态而发生,且由包括可信基本输入/输出系统(BIOS)的可信控制块(TCB)执行;对地址解码器电路进行编程以将所选区域配置为读写;将要保卫的数据移动到所选区域;对所述地址解码器电路进行编程以将所选区域配置为只读;以及锁定所述地址解码器电路中的只读配置。

著录项

  • 公开/公告号CN104011733A

    专利类型发明专利

  • 公开/公告日2014-08-27

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201380004524.1

  • 申请日2013-08-08

  • 分类号G06F21/79;G06F9/24;G06F9/06;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人马红梅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 01:24:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-24

    未缴年费专利权终止 IPC(主分类):G06F21/79 授权公告日:20161221 终止日期:20190808 申请日:20130808

    专利权的终止

  • 2016-12-21

    授权

    授权

  • 2014-09-24

    实质审查的生效 IPC(主分类):G06F21/79 申请日:20130808

    实质审查的生效

  • 2014-08-27

    公开

    公开

说明书

技术领域

本公开涉及安全数据保护,并且更具体地,涉及在系统预引导期间具有改进的只读存储器锁定的安全数据保护,包括对高级配置和电源接口(ACPI)表的保护。

背景技术

随着计算机平台变得更加复杂,包括基本输入/输出系统(BIOS)和BIOS到操作系统(OS)通信例程的软件正在越来越多地成为攻击的目标。这些攻击可能以高级配置和电源接口(ACPI)表、统一可扩展固件接口(UEFI)运行时服务以及其他敏感数据为目标。当前的计算系统典型地在系统引导和/或OS加载完成之前不提供对该敏感代码和数据可驻留于其中的系统存储器的保护。因为ACPI代码可以在OS开始执行后在内核模式中运行,所以对ACPI的恶意修改可能产生显著的安全易损坏性,且可能实现对原始设备制造商(OEM)OS图像的盗版。

附图说明

随着以下具体实施方式继续并且在参照附图后,要求保护的主题的实施例的特征和优点将变得显而易见,在附图中,相似的数字描绘相似的部分,并且在附图中:

图1图示了根据本公开的一个示例性实施例的顶级系统图;

图2图示了根据本公开的一个示例性实施例的框图;

图3图示了根据本公开的示例性实施例的操作的流程图;

图4图示了根据本公开的另一示例性实施例的操作的流程图;

图5图示了根据本公开的另一示例性实施例的操作的流程图。

尽管以下具体实施方式将在对说明性实施例做出参照的情况下继续,但是对其的许多替代、修改和变型对于本领域技术人员来说将显而易见。

具体实施方式

总体而言,本公开提供了用于在系统预引导期间具有改进的只读存储器锁定的安全数据保护的方法和系统,所述安全数据保护包括对高级配置和电源接口(ACPI)表的保护。在上电或系统重置时,可信软件和/或硬件可以选择系统存储器的区域以进行保护。可信硬件可以是可信控制块(TCB),并且可信软件可以是可信BIOS。可以对地址解码器电路进行编程以将所选区域配置为读写,使得要保卫的敏感数据可以被移动到系统存储器的所选区域中。在移动数据之后,可以对地址解码器电路进行重新编程以将所选区域配置为只读。然后,可以锁定地址解码器电路,以防止所选存储器区域的状态的后续改变,除非系统被重置。因此,锁定可以防止非可信代码意外地或恶意地更改系统存储器的受保护区域,所述非可信代码包括进一步预引导和引导操作以及OS。

图1图示了根据本公开的一个示例性实施例的顶级系统图100。该系统可以包括系统存储器102、地址解码电路112、以及被配置为执行预引导操作114、引导操作116和OS操作118的处理器120。可以通过地址解码电路112的配置将系统存储器分段成不受保护区域104和受保护区域106,如将在下文中更详细描述的那样。存储器的受保护区域106可以加载有ACPI表108和要在预引导操作114期间通过可信BIOS代码保卫的其他敏感数据110。在一些实施例中,该其他敏感数据110可以包括统一可扩展固件接口(UEFI)运行时服务。然后,可以在例如在引导116和OS 118中将控制转移到非可信代码之前将存储器的受保护区域106锁定到只读模式中。在一些实施例中,OS操作可以包括测量虚拟机监视器(MVMM)和要在OS支持的情况下执行的应用。

图2图示了示出根据本公开的示例性实施例的附加细节的框图200。图1的处理器120可以是任何数目的处理器核心208中的一个,每个处理器核心208可以包括处理器高速缓冲存储器控制器214和/或集成的存储器控制器212。处理器208可以与一个或多个系统存储器模块102通信,每个系统存储器模块102可以包括本地存储器设备控制器206。存储器控制器214、212和206中的每一个还可以分别包括关联的地址解码电路112a、112b和112c。

可信BIOS 202可以通过平台控制器中枢204耦合到处理器核心208。可信BIOS 202可以被配置为在预引导操作期间将ACPI表108和要保卫的其他敏感数据110加载到系统存储器102的受保护区域106中。可信BIOS 202可以与TCB相关联,该TCB包括被配置为提供可信执行环境的经验证的硬件和软件。可信BIOS 202可以将受保护区域106配置到只读状态,并通过对地址解码器电路112a、112b和112c中的一个或多个进行编程将该区域锁定到该状态中。地址解码电路112a可以包括源地址解码(SAD)寄存器,其被提供用于存储器访问配置编程。地址解码电路112b可以包括目标地址解码(TAD)寄存器,其被提供用于存储器访问配置编程。受保护区域可以保持锁定,直到后续系统重置、电力循环或从ACPI系统睡眠状态3唤醒。对受保护区域执行存储器写操作的后续尝试可以被丢弃(例如,失败),并可以作为存储器写故障错误而被报告,如果系统被配置为报告此类事件的话。

在一些实施例中,系统存储器102可以是包括相变存储器和开关(PCMS)电路的动态随机存取存储器(DRAM)。

图3图示了根据本公开的示例性实施例的操作300的流程图。操作310可以在系统重置或上电时例如作为上电自检(POST)或其他预引导操作的一部分而发生。如下文所描述的,操作310至360可以是通过可信BIOS代码执行的。在操作310处,对CPU、芯片组和存储器进行初始化。在操作320处,指明系统存储器的受保护区域。在操作330处,创建ACPI表或将其移动到系统存储器的受保护区域中。其他敏感或安全数据、表、接口或代码段也可以被移动到受保护区域中。在操作340处,对存储器控制器地址解码器进行编程以将受保护区域配置为只读。在操作350处,将受保护区域配置锁定在只读状态中。在操作360处,可信BIOS代码可以退出TCB模式。在操作370处,执行任何剩余POST任务。在操作380处,将OS和/或MVMM加载到系统存储器中并启动OS和/或MVMM。在一些实施例中,OS/MVMM可以继续使用来自受保护存储器区域的ACPI表,或者OS/MVMM可以将ACPI表复制到内核(例如,ring0)保护存储器区域。

图4图示了根据本公开的另一示例性实施例的操作400的流程图。操作410至480可以在可信BIOS代码已经完成上述预引导操作之后发生。在操作410处,高速缓冲存储器控制器接收存储器访问请求。在操作420处,高速缓冲存储器控制器询问地址解码器。在操作430处,如果所请求的地址不在受保护区域中,则控制转移到操作480。在操作440处,如果受保护区域未被设置为只读,则控制转移到操作480。在操作450处,如果存储器访问请求不是写访问,则控制转移到操作480,否则,在操作460处,丢弃存储器请求,并且在操作470处,如果报告被使能,则报告错误。在操作480处,完成存储器请求。

图5图示了根据本公开的另一示例性实施例的操作500的流程图。在操作510处,选择要保护的系统存储器的区域。该选择响应于系统重置状态而发生,且由包括可信基本输入/输出系统(BIOS)的可信控制块(TCB)执行。在操作520处,对地址解码器进行编程以将所选区域配置为读写。在操作530处,将要保卫的数据移动到所选区域。在操作540处,对地址解码器电路进行编程以将所选区域配置为只读。在操作550处,对地址解码器电路中的只读配置进行锁定。

尽管图3、4和5根据不同实施例图示了各种操作,但是应当理解,并非在图3-5中描绘的所有操作对于其他实施例来说都是必要的。实际上,本文中完全可设想:在本公开的其他实施例中,图3-5中描绘的操作和/或本文描述的其他操作可以以未在任何图中具体示出的方式加以组合,而仍然完全符合本公开。因此,涉及未在一个图中精确示出的特征和/或操作的权利要求被认为在本公开的范围和内容内。

本文描述的方法的实施例可以在包括一个或多个存储介质的系统中实现,所述一个或多个存储介质上个体地或组合地存储有指令,所述指令在被一个或多个处理器执行时执行所述方法。这里,处理器可以包括例如系统CPU(例如,核处理器)和/或可编程电路。因此,意图是,根据本文描述的方法的操作可以跨多个物理设备而分布,所述多个物理设备诸如是若干不同物理位置处的处理结构。此外,意图是,如本领域技术人员将理解的那样,方法操作可以个体地或以子组合执行。因此,并非每个流程图的所有操作都需要被执行,并且本公开的明确意图是,如本领域技术人员将理解的那样,此类操作的所有子组合都被实现。

存储介质可以包括任何类型的有形介质,例如:任何类型的盘,包括软盘、光盘、紧凑盘只读存储器(CD-ROM)、可重写紧凑盘(CD-RW)、数字多功能盘(DVD)和磁光盘;半导体器件,诸如,只读存储器(ROM)、诸如动态和静态RAM之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、磁或光卡、相变存储器(PCM)、相变存储器与开关(PCMS);或适于存储电子指令的任何类型的介质。

如本文的任何实施例中所使用的那样,“电路”可以例如单个地或以任何组合包括硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。

如本文的任何实施例中所使用的那样,术语“模块”可以指代被配置为执行任何上述操作的软件、固件和/或电路。软件可以被体现为在非瞬变计算机可读存储介质上记录的软件封装、代码、指令、指令集和/或数据。固件可以被体现为在存储器设备中硬编码(例如,非易失性)的代码、指令或指令集和/或数据。如本文的任何实施例中所使用的那样,“电路”可以例如单个地或以任何组合包括硬连线电路、诸如包括一个或多个个体指令处理核心的计算机处理器之类的可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。这些模块可以被共同地或个体地体现为形成较大系统的一部分的电路,所述较大系统例如是集成电路(IC)、片上系统(SoC)、台式计算机、膝上型计算机、平板计算机、服务器、智能电话等。

应用可以被体现为可在诸如主机处理器之类的可编程电路或其他可编程电路上执行的代码或指令。

因此,本公开提供了用于在系统预引导期间具有改进的只读存储器锁定的安全数据保护的方法和系统,所述安全数据保护包括对高级配置和电源接口(ACPI)表的保护。

根据一个方面,提供了一种方法。所述方法可以包括选择要保护的系统存储器的区域,所述选择响应于系统重置状态而发生,所述选择由包括可信BIOS的TCB执行。该示例的方法还可以包括对地址解码器电路进行编程以将所选区域配置为读写。该示例的方法还可以包括将要保卫的数据移动到所选区域。该示例的方法还可以包括对地址解码器电路进行编程以将所选区域配置为只读。该示例的方法还可以包括锁定地址解码器电路中的只读配置。

另一示例方法包括前述操作,并且系统重置状态还包括系统上电。

另一示例方法包括前述操作,并且要保卫的数据包括ACPI表。

另一示例方法包括前述操作,且还包括在锁定之后执行剩余的系统引导任务。

另一示例方法包括前述操作,并且剩余系统引导任务包括加载OS。

另一示例方法包括前述操作,并且地址解码器电路是通过与处理器高速缓冲存储器控制器相关联的SAD寄存器来编程的。

另一示例方法包括前述操作,并且地址解码器电路是通过与集成的处理器存储器控制器相关联的TAD寄存器来编程的。

另一示例方法包括前述操作,并且地址解码器电路与DRAM设备控制器相关联。

另一示例方法包括前述操作,且还包括在执行锁定之后拒绝对所选区域的存储器写请求。

另一示例方法包括前述操作,且还包括响应于存储器写请求拒绝而报告存储器写故障错误。

根据一个方面,提供了一种系统。所述系统可以包括系统存储器、耦合到所述系统存储器的地址解码器电路以及耦合到所述地址解码器电路的处理器。该示例的系统还可以包括与处理器相关联的TCB,并且TCB被配置为执行可信BIOS。该示例的可信BIOS还可以被配置为响应于系统重置状态而将要保卫的数据移动到系统存储器的所选区域,对地址解码器电路进行编程以将所选区域配置为只读,并锁定地址解码器电路中的只读配置。

另一示例系统包括前述部件,并且系统重置状态还包括系统上电。

另一示例系统包括前述部件,并且要保卫的数据包括ACPI表。

另一示例系统包括前述部件,且还包括处理器高速缓冲存储器控制器,并且地址解码器电路是通过与处理器高速缓冲存储器控制器相关联的SAD寄存器来编程的。

另一示例系统包括前述部件,且还包括集成的处理器存储器控制器,并且地址解码器电路是通过与集成的处理器存储器控制器相关联的TAD寄存器来编程的。

另一示例系统包括前述部件,且还包括DRAM设备控制器,并且地址解码器电路与DRAM设备控制器相关联。

根据另一方面,提供了至少一个计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时使得处理器执行如上面示例中所描述的方法。

本文已经采用的术语和表达被用作描述性术语而非限制性术语,并且在此类术语和表达的使用中不存在排除所示出和描述的特征(或其部分)的任何等同物的意图,并且应当认识到,在权利要求的范围内,各种修改是可能的。相应地,权利要求意图覆盖所有此类等同物。本文已经描述了各种特征、方面和实施例。如本领域技术人员将理解的那样,这些特征、方面和实施例可允许彼此组合以及变型和修改。因此,应当认为本公开涵盖了此类组合、变型和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号