CN1760884A - 用于限制安全执行环境的硬件失败信息泄漏的系统和方法 - Google Patents

用于限制安全执行环境的硬件失败信息泄漏的系统和方法 Download PDF

Info

Publication number
CN1760884A
CN1760884A CN200510116590.5A CN200510116590A CN1760884A CN 1760884 A CN1760884 A CN 1760884A CN 200510116590 A CN200510116590 A CN 200510116590A CN 1760884 A CN1760884 A CN 1760884A
Authority
CN
China
Prior art keywords
status register
msr
machine
safe mode
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200510116590.5A
Other languages
English (en)
Other versions
CN100530209C (zh
Inventor
S·菲彻尔
S·达塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1760884A publication Critical patent/CN1760884A/zh
Application granted granted Critical
Publication of CN100530209C publication Critical patent/CN100530209C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Abstract

描述了用于限制硬件失败信息泄露的方法和装置。在一个实施例中,处理器的错误报告系统可以将多种状态和错误地址数据记录到寄存器中,寄存器通过热复位事件保持它们的内容。但是处理器的错误报告系统接着可以确定处理器是否在以可信任的或安全的模式中运行。如果没有,则处理器的结构状态变量也可以被记录到寄存器中。但是如果处理器在以可信任的或安全的模式中运行,则结构状态变量的记录可以被禁止,或标记为无效。

Description

用于限制安全执行环境的硬件失败 信息泄露的系统和方法
发明领域
本发明一般涉及微处理器系统,并更为具体地涉及可以在可信任或安全环境中操作的微处理器系统。
背景技术
在本地或远程微处理器上执行的越来越多的金融和个人事务已经促进了“可信任的”或“安全的”微处理器环境的建立。这些环境设法解决的问题是隐私或正被破坏或滥用数据的泄露。用户不希望他们的私人数据公之于众。他们也不希望他们的数据在不适当的事务中被修改或使用。这样的例子包括病例卡的无意公开或从在线银行或其他存放处的资金的电子盗窃。同样,内容提供者寻求对数字内容(例如,音乐,其他音频,视频,或其他类型的数据)的保护而防止在无授权情况下被拷贝。
可以不时地运行于可信任或非可信任模式中,或同时运行在这两个模式中的系统可以利用某些错误报告措施解决安全问题。例如,在奔腾可兼容结构中提供一种硬件错误报告系统,称为机器检测结构(MCA)。MCA可以提供一种机制用于检测和报告硬件错误,例如系统总线错误,纠错码(ECC)错误,奇偶错误,高速缓存错误,以及翻译后援缓冲器(TLB)错误。MCA可以包括多个支持MCA的寄存器,所述寄存器可以用于记录与可被检测到的错误有关的信息。MCA寄存器如果在可信任模式的操作过程中发生硬件失败,则它们会具有写入其中的安全感应信息。为了更好的支持诊断软件的并发执行,这些MCA寄存器的内容可以通过处理器重启事件而保存下来。
在一些处理器实例中具有内部调试标记,该标记可以影响对另一个硬件测试和调试钩(debug hook)的访问。例如,如果内部调试标记被设定,则访问可以被授权为内部处理器节点状态,所述状态在正常的处理器运行过程中无效。该标记可以在制造和最终测试过程中设置,而在准备向终端用户传送过程中被清除。在其他实例中,可以实施内部调试标记的其他控制方法。
附图说明
参考附图以示例的方式而不是以限制的方式举例说明了本发明,附图中相同的附图标记表示相同的元件,其中:
图1是根据本发明一个实施例的示例可信任或安全软件环境的示意图。
图2是根据本发明一个实施例的机器检测结构定序器和寄存器的示意图。
图3A是根据本发明一个实施例的机器检测结构状态寄存器的示意图。
图3B是根据本发明一个实施例的机器检测结构地址寄存器的示意图。
图4是根据本发明一个实施例的一组机器检测结构状态寄存器的示意图。
图5是根据本发明一个实施例的定序器操作的流程图。
图6A是根据本发明实施例的包括具有机器检测结构定序器的处理器的系统的示意图。
图6B是根据本发明另一实施例的包括具有机器检测结构定序器的处理器的系统的示意图。
具体实施方式
以下说明描述了这样的技术:用于在处理器系统的安全或可信任模式操作过程中,限制由错误报告系统收集的硬件失败信息的泄露。在以下说明中,列出了诸如逻辑设备,软件模块配置,总线和其他接口信号传输技术之类的多个具体细节以及操作细节,以提供对本发明更为透彻的理解。然而,本发明所属领域的技术人员应当理解,本发明可以在没有这些具体细节的情况下实现。在其他情况下,控制结构,门级电路和全软件指令序列没有被详细示出以免模糊本发明。根据所包括的说明,本领域的普通技术人员能够在不进行过度实验的情况下实现相应的功能。在某些实施例中,本发明以在诸如因特尔公司制造的奔腾可兼容处理器中实现的机器检测结构(MCA)的形式公开。然而,本发明也可以在其他类型的处理器的其他类型错误报告系统中实现,所述处理器例如Itanium处理器系列可兼容处理器,X-Scale系列可兼容处理器,或来自其他供应商或设计者的任何处理器结构的多个种类的不同通用处理器中的任何一种。另外,一些实施例可以包括或者可以是专用处理器,诸如图形,网络,图像,通信,或任何其他已知或可用类型的处理器。
现参照图1,根据本发明一个实施例示出了示例可信任或安全软件环境的示意图。在图1实施例中,可信任和非可信任软件可以被同时加载并可以在一个计算机系统(如硬件180所示)中同时执行。硬件180可以包括一个或多个处理器,将处理器连接于存储器或输入/输出设备的逻辑(有时称为“芯片集”),以及诸如可信任平台模块之类的专用安全设备。
安全虚拟机监控器(SVMM)150可以选择性地允许或阻止一个或多个非可信任操作系统140和非可信任应用程序110通过130直接访问硬件180。在这种情况下,“非可信任的”不必表示操作系统或应用程序故意发生误差,而是相互作用代码(interacting code)的大小和种类使得可靠地断言软件如所期望地运行、并且没有病毒或其他外部代码妨碍该软件的执行是不实际的。在典型实施例中,非可信任代码可以包括在如今个人计算机上建立的普通操作系统和应用程序。
SVMM 150也选择性地允许或阻止一个或多个可信任或安全内核160和一个或多个可信任应用程序170直接访问硬件180。可以限制这种可信任或安全内核160和可信任应用程序170的大小和功能以增强对其执行信任分析的能力。可信任应用程序170可以是可在安全环境中执行的任何软件代码,程序,例行程序,或例行程序集。因此,可信任应用程序170可以是各种应用程序,或代码序列,或者可以是诸如Java小程序之类的相对较小的应用程序。
通常由操作系统140或内核160执行的、能够改变系统资源保护或特权的指令或操作可以由SVMM 150捕获,并选择性地允许,部分性地允许,或拒绝。作为例子,在典型实施例中,通常由操作系统140或内核160执行的、改变处理器页表的指令被SVMM 150替代地捕获,这将确保请求没有试图将页特权改变到其虚拟机区域之外。
硬件180内的一个处理器或多个处理器可以包含某些专用电路或逻辑元件以初始化和支持安全或可信任操作。例如,处理器可以支持初始化可信任操作的专用安全模式开始(SENTER)指令的执行。当被执行时,SENTER指令可以以可信任的方式加载并初始化SVMM 150,从而在先前非可信任系统中初始化可信任操作。
SENTER指令的初始处理器的执行可以通过将执行控制转移到系统初始代码的可信任拷贝而终止,然后可以执行其系统测试和配置操作并可以寄存SVMM 150的存储驻留拷贝。一旦可信任系统初始化代码已经完成其执行,则系统初始化代码可以最终将初始化处理器的执行控制转移到SVMM 150。这时,在硬件180的处理器中安全模式标记可以被设置为真。在一个实施例中,安全模式标记可以由处理器微码控制,并且在结构上是不可见的。从向前的这个角度来看,整个系统可以如上所述以可信任模式运行。
为了在SVMM 150的控制之下离开可信任模式,并从而返回至非可信任操作,可以执行安全退出(SEXIT)指令。SEXIT指令可以支持终止可信任操作,尤其是SVMM 150的操作。这时,可以在硬件180的处理器中将安全模式标记设置为假。
现参照图2,根据本发明一个实施例示出了机器检测结构(MCA)定序器和MCA寄存器的示意图。MCA定序器210和MCA寄存器的复制拷贝可以位于硬件280内的一个或多个处理器之内。在一个实施例中,MCA定序器210可以控制将硬件错误产生的数据加载到MCA寄存器中。MCA定序器210可以在一些条件下将错误状态数据加载到MCA状态寄存器214组中,将错误地址和其他可选的混杂数据加载到MCA地址和混杂寄存器216组中,并将机器状态数据组加载到MCA机器状态寄存器220组中。MCA状态寄存器214,MCA地址和混杂寄存器216和MCA机器状态寄存器220可以通过多种系统事件来保存它们的数据。在多个实施例中,这些寄存器可以具有不同程度的非易失性。在一个实施例中,这些寄存器中的数据可以随着软件重置事件而被保存,所述软件重置事件可以包括随着奔腾可兼容处理器的INIT#信号管脚上的信号确定之后的局部软重置,或包括随着奔腾可兼容处理器的RESET#信号管脚上的信号确定之后的全局软重置。然而,在一个实施例中这些寄存器中的数据可以不必随着硬件重置而保存,所述硬件重置可以包括关闭电源之后再打开,或者去确定(de-assert)奔腾可兼容处理器的PWRGOOD信号管脚上的信号。
MCA定序器210可以在不同实施例中以多个不同方式实现。在一个实施例中,MCA定序器210可以作为硬件状态机实现。在其他实施例中,MCA定序器210可以作为固定的功能硬件逻辑或作为处理器微码、或作为固定的功能硬件逻辑和处理器微码的组合实现。另外其他的实施例可以通过执行可信任处理器软件或固件代码来实现MCA定序器210,所述软件和固件代码可以存储在硬件280的处理器之外。
硬件280可以包括安全模式标记224。该安全模式标记224可以类似于结合图1的上述标记,在图1中标记位于处理器硬件中并由安全指令的微码控制。在其他实施例中,该标记可以是软件标记,或可以是芯片集内的硬件标记。MCA定序器210可以检查安全模式标记224的值(真或假),并接着基于MCA寄存器建立的值来更新或不更新与错误条件相关的所选信息到MCA寄存器中。在一个实施例中,当安全模式标记是假时,MCA定序器210可以开始将错误状态数据加载到MCA状态寄存器214组中,将错误地址和其他可选混杂数据加载到MCA地址和混杂寄存器216组中,并将机器状态数据组加载到MCA机器状态寄存器220组中。
然而,当安全模式标记是真时,MCA定序器210仍然可以将错误状态数据加载到MCA状态寄存器214组中,将错误地址和其他可选混杂数据加载到MCA地址和混杂寄存器216组中,但禁止将机器状态数据组加载到MCA机器状态寄存器220组中或将机器状态数据组标记为无效。如此,未必包含安全感应内容(例如什么错误类型、在哪个地址产生存储器错误)的错误状态数据和其他类似的错误状态数据仍然可以被放置在相应的MCA寄存器中以有助于以后的调试。同时,可以包括诸如通用寄存器,指令指针和算法标记之类的这些内容的项的机器状态数据,可以作为有效数据不被加载到MCA机器状态寄存器中。因为MCA机器状态寄存器可以由非可信任软件检查,所以如果通用寄存器包含诸如密钥,明码电文和密码电文的两种拷贝,信用卡号码,社会安全号和其他种类的敏感数据之类的项,则这将防止敏感信息的泄露。
在一些实施例中,硬件280中的处理器也可以包括内部调试标记226。该内部调试标记226可以在制造处理器时设置(真值),并在一个或多个已定义事件时清除。在一个实施例中,这些已定义事件可以包括最终测试或最终制造步骤,或者在将库存产品发布给顾客的时候。在一个实施例中,保险丝230可以在该已定义事件过程中熔断以清除(假值)标记。在其他实施例中,也可以使用其他方法来设置和清除内部调试标记。内部调试标记226可以用于使能处理器制造商的某一测试和调试功能,其通常不应该被提供给处理器的终端用户。
在一个实施例中,MCA定序器210也可以检查内部调试标记226的值。在安全模式标记224具有假值的情况下,内部调试标记226的值是没有关系的,并且MCA定序器210可以开始将错误状态数据加载到MCA状态寄存器214组中,将错误地址和其他可选混杂数据加载到MCA地址和混杂寄存器216组中,并将机器状态数据组加载到MCA机器状态寄存器220组中。
在安全模式标记224具有真值的情况下,内部调试标记226的值是有关系的。当内部调试标记226具有真值时,则MCA定序器210可以不考虑安全模式标记224的状态。在这种情况下,MCA定序器210可以开始将错误状态数据加载到MCA状态寄存器214组中,将错误地址和其他可选混杂数据加载到MCA地址和混杂寄存器216组中,并将机器状态数据组加载到MCA机器状态寄存器220组中。当内部调试标记226具有假值时,则MCA定序器210不可以不考虑安全模式标记224的状态。在这种情况下,MCA定序器210仍然可以将错误状态数据加载到MCA状态寄存器214组中,将错误地址和其他可选混杂数据加载到MCA地址和混杂寄存器216组中,但是禁止将机器状态数据组加载到MCA机器状态寄存器220组中或将机器状态数据组标记为无效。
现参照图3A,根据本发明一个实施例示出了机器检测结构状态(MCA)寄存器300的示意图。在其他实施例中,也可以使用其他形式的错误报告状态寄存器。MCA结构状态寄存器300可以是包括在图2的MCA状态寄存器214中的几个寄存器中的一个。在一个实施例中,可以具有几个这样的MCA结构状态寄存器,对于所包括的每个硬件单元的一个。这种硬件单元可以是高速缓冲存储器,执行单元,总线接口,和处理器的其他这种功能单元。这里MCA结构状态寄存器300被标记为多个中的第i个寄存器。
MCA结构状态寄存器300可以包括MCA错误码区域以指定标准错误码,特定模型错误码区域以指定对处理器系列特定的错误码,以及多个标记位。这种标记位可以包括VAL位,以表示寄存器的内容是否有效,包括OVER位以表示当先前错误的结果仍在寄存器中时发生机器检测错误,包括UC位以表示处理器是否能够检查错误,以及包括EN位以表示错误由分开的控制寄存器(未示出)中的一个位使能。一对标记位,MISCV和ADDRV可以显示混杂数据寄存器和错误地址寄存器中的数据分别是否有效。这些混杂数据和错误地址寄存器可以包括在图2的MCA地址和混杂寄存器216中。最后,处理器环境破坏(PCC)标记位可以表示处理器的状态很可能已经被特定错误条件破坏,并且表示处理器的可靠的重新启动是不可能的。
现参照图3B,根据本发明一个实施例示出了机器检测结构(MCA)地址寄存器340的示意图。MCA地址寄存器340可以是包括在图2的MCA地址和混杂寄存器216中的几个寄存器中的一个。在一个实施例中,可以具有几个这样的MCA地址寄存器,对于所包括的每个硬件单元的一个。这样的硬件单元可以是高速缓冲存储器,执行单元,总线接口,和处理器的其他这种功能单元。这里,MCA地址寄存器340被标记为几个寄存器中的第i个。MCA地址寄存器340可以包含地址区域以包含产生机器检测错误的代码或数据存储位置的地址。当相应第i结构状态寄存器的ADDRV位被清除(假值)时,该MCA地址寄存器340可以不被实现或没有包含地址。
现参照图4,根据本发明一个实施例示出了机器检测结构状态寄存器组的示意图。在一个实施例中,奔腾类可兼容处理器的所谓扩展寄存器在出现错误时的状态可以保存在状态寄存器410至438中。另外,算法际记EFLAGS寄存器的状态可以保存于状态寄存器442中。最后,扩展指令指针(EIP)的状态可以保存于状态寄存器446中。
在一个实施例中,机器检测结构状态寄存器组可以包括一个或多个混杂状态寄存器450。在一个实施例中,混杂状态寄存器450可以包含页辅助或缺页的指示。另外,混杂状态寄存器450也可以包括微码指令指针。在一个实施例中,图2的MCA定序器210可以使用混杂状态寄存器450将MCA机器状态寄存器220的内容标记为无效。这可以通过将无效组合位(例如所有“1”)放置在所有或部分混杂状态寄存器450中来实现。在一个实施例中,混杂状态寄存器450内的微码指令指针可以都写为“1”,以将MCA机器状态寄存器220的内容标记为无效。在其他实施例中,也可以使用混杂状态寄存器450的其他部分。
现参照图5,根据本发明一个实施例示出了定序器操作的流程图。定序器在不同实施例中可以以不同的方式实现。在一个实施例中,定序器可以实施为硬件状态机。在其他实施例中,定序器可以实施为固定功能硬件逻辑或作为处理器微码,或作为固定功能硬件逻辑和处理器微码的组合。另外其他实施例可以通过执行可信任处理器软件或固件代码来实现定序器,所述软件或固件代码可以存储在处理器之外。
在块510中,该处理监控MCA行为,查找错误的出现。在块514,检测到这种错误。然后在块518定序器可以记录硬件错误类型和来源。在一个实施例中,这可以通过将一个或多个错误码写入状态寄存器并通过写下产生错误的代码或数据存储位置的地址而执行。
在确定块522,可以确定安全模式标记是否是真。如果答案是否,则处理可以沿着NO路径退出确定块522。然后在块530,定序器可以记录处理器的结构状态。在一个实施例中,这可以通过将通用寄存器的内容、指令指针和其他结构状态变量写入机器状态寄存器组而执行。在块534,定序器可以接着确保结构状态寄存器被表示为有效。在一个实施例中,这可以通过确保部分混杂状态寄存器的内容是有效组合位而部分地被执行。
返回至确定块522,如果答案为是,则处理可以沿着YES路径退出确定块522。在一个实施例中,处理接着进入可选确定块526,而在另一个实施例中处理直接进入块538。如果确定块526存在,则在确定块526可以确定内部调试标记是否为真。如果为真,则处理沿着YES路径退出确定块526,并进入块530。如果为假,则处理沿着NO路径退出确定块526并进入块538。在块538,可以防止结构状态被记录,或可以被标记为无效。在一个实施例中,这可以通过将部分混杂状态寄存器的内容设置为无效组合位而部分地被执行。在一个实施例中,无效组合位可以都是“1”。
现参照图6A和6B,根据本发明两个实施例示出了包括具有机器检测结构定序器的处理器的系统的示意图。图6A系统大体上显示了这样的系统:其中处理器,存储器,和输入/输出设备是通过系统总线互连的,而图6B系统大体上显示了这样的系统:其中处理器,存储器,和输入/输出设备是通过多个点到点接口而互连的。
图6A系统可以包括一个或多个处理器,为清楚起见,这里只示出了其中两个处理器40,60。处理器40,60可以包括一级高速缓冲存储器42,62。图6A系统可以具有通过总线接口44,64,12,8与系统总线6连接的多个功能。在一个实施例中,系统总线6可以是利用因特尔公司制造的奔腾类微处理器的前端总线(FSB)。在其他实施例中,也可以使用其他总线。在一些实施例中,存储控制器34和总线桥32可以共同被称为芯片集。在一些实施例中,芯片集的功能可以在物理芯片中被分开,而不同于图6A实施例所显示的。
存储控制器34可以允许处理器40,60从系统存储器10和从基本输入/输出系统(BIOS)可擦写可编程只读存储器(EPROM)36读出和写入。在一些实施例中,BIOS EPROM 36可以使用闪存。存储控制器34可以包括总线接口8以允许存储器系统总线6上从将要被传送到总线代理的数据读出和将数据写入到总线代理。存储控制器34也可以通过高性能图形接口39连接高性能图形电路38。在某些实施例中,高性能图形接口39可以是加速图形端口AGP接口。存储控制器34可以通过高性能图形接口39将数据从系统存储器10引导到高性能图形电路38。
图6B系统也可以包括一个或多个处理器,为清楚起见,只示出了其中两个处理器70,80。处理器70,80每个可以包括连接于存储器2,4的本地存储控制器集线器(MCH)72,82。处理器70,80可以利用点到点接口电路78,88通过点到点接口50交换数据。处理器70,80每个可以利用点到点接口电路76,94,86,98通过各个点到点接口52,54与芯片集90交换数据。芯片集90也可以通过高性能图形接口92与高性能图形电路38交换数据。
在图6A系统中,总线桥32可以允许系统总线6和总线16之间的数据交换,所述总线16在一些实施例中可以是工业标准结构(ISA)总线或外设部件互连(PCI)总线。在图6B系统中,芯片集90可以通过总线接口96与总线16交换数据。在任何一个系统中,总线16上都具有多个输入/输出I/O设备14,在一些实施例中包括低性能图形控制器,视频控制器,和联网控制器。在一些实施例中另一个总线桥18可以用于允许在总线16和总线20之间的数据交换。在一些实施例中总线20可以是小型计算机系统接口(SCSI)总线,集成驱动电子技术(IDE)总线,或通用串行(USB)总线。另外I/O设备可以连接于总线20。这些设备可以包括键盘和光标控制设备22,包括鼠标,音频I/O24,通信设备26,包括调制解调器和网络接口,以及数据存储设备28。软件代码30可以存储在数据存储设备28中。在一些实施例中,数据存储设备28可以是固定磁盘,软盘驱动器,光盘驱动器,磁光盘驱动器,磁带,或非易失性存储器,包括闪存。
在以上说明中,已参照具体实施例描述了本发明。然而,很明显的是,在不背离如所附权利要求中所提出的本发明更为宽泛的精神和范围的情况下可以对其作出多种修改和改变。因此,说明书和附图是示例而不是限制。

Claims (34)

1、一种装置,包括:
指示处理器在可信任模式中运行的安全模式标记;以及
当所述安全模式标记为真时将机器状态寄存器标记为无效的定序器。
2、根据权利要求1所述的装置,其中所述定序器通过为所述机器状态寄存器设置有效位来将所述机器状态寄存器标记为无效。
3、根据权利要求1所述的装置,其中所述定序器通过将所述机器状态寄存器的部分混杂状态寄存器设置为无效数字来将所述机器状态寄存器标记为无效。
4、根据权利要求1所述的装置,其中当所述安全模式标记为假时所述定序器将机器状态数据加载到所述机器状态寄存器中。
5、根据权利要求4所述的装置,其中即使所述安全模式标记为真,当所述安全模式标记仍是真时,所述定序器确保所述机器状态寄存器没有被标记为无效。
6、根据权利要求1所述的装置,还包括内部调试标记,其中当所述内部调试标记为假并且所述安全模式标记为真时,所述定序器将机器状态寄存器标记为无效。
7、根据权利要求6所述的装置,其中当所述内部调试标记为真而忽视所述安全模式标记,所述定序器将机器状态数据加载到所述机器状态寄存器中。
8、根据权利要求1所述的装置,其中忽视所述安全模式标记的值,所述定序器将机器错误状态数据加载到机器错误状态寄存器中。
9、根据权利要求1所述的装置,其中所述安全模式标记是通过执行安全模式进入指令而设置的。
10、一种方法,包括:
接收机器错误数据;
确定安全模式标记的第一值;以及
如果所述第一值是真则将机器状态寄存器标记为无效。
11、根据权利要求10所述的方法,其中所述作标记步骤包括为所述机器状态寄存器设置有效位。
12、根据权利要求10所述的方法,其中所述作标记步骤包括将所述机器状态寄存器的部分混杂状态寄存器设置为无效数字。
13、根据权利要求10所述的方法,还包括当所述第一值为假时将机器状态数据加载到所述机器状态寄存器中。
14、根据权利要求13所述的方法,还包括当所述第一值为假时确保所述机器状态寄存器没有被标记为无效。
15、根据权利要求10所述的方法,其中所述作标记步骤包括当内部调试标记的第二值是假并且所述安全模式标记的所述第一值为真时,将所述机器状态寄存器标记为无效。
16、根据权利要求15所述的方法,还包括即使所述安全模式标记的所述第一值为真,当所述第二值仍是真时将机器状态数据加载到所述机器状态寄存器中。
17、根据权利要求10所述的方法,还包括忽视所述第一值,将机器错误状态数据加载到机器错误状态寄存器中。
18、根据权利要求10所述的方法,还包括通过执行安全模式进入指令来设置所述第一值。
19、一种系统,包括:
处理器,包括安全模式标记,其用于指示处理器以安全模式运行,以及定序器,其用于当所述安全模式标记是真时将机器状态寄存器标记为无效;
系统互连接口;以及
音频输入/输出逻辑。
20、根据权利要求19所述的系统,其中所述定序器通过为所述机器状态寄存器设置有效位来将所述机器状态寄存器标记为无效。
21、根据权利要求19所述的系统,其中所述定序器通过将所述机器状态寄存器的部分混杂状态寄存器设置为无效数字来将所述机器状态寄存器标记为无效。
22、根据权利要求19所述的系统,其中当所述安全模式标记为假时所述定序器将机器状态数据加载到所述机器状态寄存器中。
23、根据权利要求22所述的系统,其中当所述安全模式标记为假时所述定序器确保所述机器状态寄存器没有被标记为无效。
24、根据权利要求19所述的系统,其中忽视所述安全模式标记的值,所述定序器将机器错误状态数据加载到机器错误状态寄存器中。
25、根据权利要求19所述的系统,其中所述安全模式标记是通过执行安全模式进入指令而设置的。
26、一种计算机可读介质,包含机器可执行程序来执行以下处理:
接收机器错误数据;
确定安全模式标记的第一值;以及
如果所述第一值是真,则将机器状态寄存器标记为无效。
27、根据权利要求26所述的计算机可读介质,其中所述作标记步骤包括为所述机器状态寄存器设置有效位。
28、根据权利要求26所述的计算机可读介质,其中所述作标记步骤包括将所述机器状态寄存器的部分混杂状态寄存器设置为无效数字。
29、根据权利要求26所述的计算机可读介质,还包括当所述第一值为假时,将机器状态数据加载到所述机器状态寄存器中。
30、根据权利要求29所述的计算机可读介质,还包括当所述第一值为假时确保所述机器状态寄存器没有被标记为无效。
31、根据权利要求26所述的计算机可读介质,其中所述作标记步骤包括当内部调试标记的第二值是假并且所述安全模式标记的所述第一值为真时将所述机器状态寄存器标记为无效。
32、根据权利要求31所述的计算机可读介质,还包括即使所述安全模式标记的所述第一值为真,当所述第二值也是真时,将机器状态数据加载到所述机器状态寄存器中。
33、根据权利要求26所述的计算机可读介质,还包括忽视所述第一值,将机器错误状态数据加载到机器错误状态寄存器中。
34、根据权利要求26所述的计算机可读介质,还包括通过执行安全模式进入指令来设定所述第一值。
CNB2005101165905A 2004-09-30 2005-09-30 用于限制安全执行环境的硬件失败信息泄漏的系统和方法 Expired - Fee Related CN100530209C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/956,322 US7934076B2 (en) 2004-09-30 2004-09-30 System and method for limiting exposure of hardware failure information for a secured execution environment
US10/956322 2004-09-30

Publications (2)

Publication Number Publication Date
CN1760884A true CN1760884A (zh) 2006-04-19
CN100530209C CN100530209C (zh) 2009-08-19

Family

ID=36127102

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101165905A Expired - Fee Related CN100530209C (zh) 2004-09-30 2005-09-30 用于限制安全执行环境的硬件失败信息泄漏的系统和方法

Country Status (2)

Country Link
US (1) US7934076B2 (zh)
CN (1) CN100530209C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221608B (zh) * 2006-09-29 2011-03-02 英特尔公司 监控vt系统上的目标代理执行模式的方法、计算设备和系统
US8973094B2 (en) 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system
CN105051701A (zh) * 2013-03-26 2015-11-11 三菱电机株式会社 设计工具

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363564B2 (en) * 2005-07-15 2008-04-22 Seagate Technology Llc Method and apparatus for securing communications ports in an electronic device
US9026803B2 (en) * 2009-11-30 2015-05-05 Hewlett-Packard Development Company, L.P. Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms
US9087200B2 (en) 2009-12-22 2015-07-21 Intel Corporation Method and apparatus to provide secure application execution
DE112009005466T5 (de) * 2009-12-22 2012-10-31 Intel Corporation Verfahren und Vorrichtung zum Bereitstellen einer sicheren Anwendungsausführung
US9378379B1 (en) * 2011-01-19 2016-06-28 Bank Of America Corporation Method and apparatus for the protection of information in a device upon separation from a network
CN102841832B (zh) * 2011-06-24 2017-05-24 佛山慧捷电子科技有限公司 出错内存条定位方法
US8671309B2 (en) * 2011-07-01 2014-03-11 Intel Corporation Mechanism for advanced server machine check recovery and associated system software enhancements
WO2013101122A1 (en) 2011-12-29 2013-07-04 Intel Corporation Secure error handling
US9053042B2 (en) * 2012-06-27 2015-06-09 Intel Corporation Method, system, and device for modifying a secure enclave configuration without changing the enclave measurement
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法
US9524007B2 (en) * 2014-02-04 2016-12-20 Qualcomm Incorporated Diagnostic systems and methods of finite state machines
TWI712915B (zh) * 2014-06-12 2020-12-11 美商密碼研究公司 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體
US9336391B2 (en) * 2014-06-17 2016-05-10 International Business Machines Corporation Verification of intellectual property core trusted state
CN104408509A (zh) * 2014-08-27 2015-03-11 北京中电华大电子设计有限责任公司 一种增强智能卡芯片敏感操作安全启动的装置
US9766963B2 (en) * 2015-09-23 2017-09-19 Intel Corporation Secure tunneling access to debug test ports on non-volatile memory storage units
US9798641B2 (en) 2015-12-22 2017-10-24 Intel Corporation Method to increase cloud availability and silicon isolation using secure enclaves
GB2575869A (en) * 2018-07-27 2020-01-29 Rolls Royce Plc Integrated circuit processor
WO2023096677A1 (en) * 2021-11-23 2023-06-01 Qualcomm Incorporated Method for circumventing processor error induced vulnerability

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
GB2396713B (en) * 2002-11-18 2005-09-14 Advanced Risc Mach Ltd Apparatus and method for controlling access to a memory unit
US7117284B2 (en) * 2002-11-18 2006-10-03 Arm Limited Vectored interrupt control within a system having a secure domain and a non-secure domain
US7546642B2 (en) * 2004-07-09 2009-06-09 Arm Limited Latching processor state information

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8973094B2 (en) 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system
CN101454751B (zh) * 2006-05-26 2016-01-20 英特尔公司 在点对点互连中执行安全环境初始化的装置与方法
CN101221608B (zh) * 2006-09-29 2011-03-02 英特尔公司 监控vt系统上的目标代理执行模式的方法、计算设备和系统
CN105051701A (zh) * 2013-03-26 2015-11-11 三菱电机株式会社 设计工具

Also Published As

Publication number Publication date
CN100530209C (zh) 2009-08-19
US20060075312A1 (en) 2006-04-06
US7934076B2 (en) 2011-04-26

Similar Documents

Publication Publication Date Title
CN100530209C (zh) 用于限制安全执行环境的硬件失败信息泄漏的系统和方法
Dautenhahn et al. Nested kernel: An operating system architecture for intra-kernel privilege separation
US6986006B2 (en) Page granular curtained memory via mapping control
Ozdoganoglu et al. SmashGuard: A hardware solution to prevent security attacks on the function return address
CN101454751B (zh) 在点对点互连中执行安全环境初始化的装置与方法
Abadi et al. A theory of secure control flow
US8055989B2 (en) Boot security using embedded counters
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
JP2015043221A (ja) コンピュータプログラムコードを保護する方法
Kong et al. Improving software security via runtime instruction-level taint checking
Jackson et al. On the effectiveness of multi-variant program execution for vulnerability detection and prevention
JP6984710B2 (ja) コンピュータ装置およびメモリ管理方法
US20070056039A1 (en) Memory filters to aid system remediation
Piromsopa et al. Secure bit: Transparent, hardware buffer-overflow protection
Piromsopa et al. Survey of protections from buffer-overflow attacks
He et al. {FreeWill}: Automatically Diagnosing Use-after-free Bugs via Reference Miscounting Detection on Binaries
Molina et al. Using independent auditors as intrusion detection systems
Canella et al. SFIP: Coarse-Grained Syscall-Flow-Integrity Protection in Modern Systems
Xu et al. Silent Bugs Matter: A Study of {Compiler-Introduced} Security Bugs
Muench et al. Taming transactions: Towards hardware-assisted control flow integrity using transactional memory
Chan A framework for live forensics
CN111625784B (zh) 一种应用的反调试方法、相关装置及存储介质
Hiet Security at the Hardware/Software Interface
Ragel Architectural support for security and reliability in embedded processors
Kirmani et al. Enhancing Reliability During Physical Memory Forensics: Strategies and Practices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20180930