CN102428471A - 从系统管理模式确定信任级别的系统和方法 - Google Patents

从系统管理模式确定信任级别的系统和方法 Download PDF

Info

Publication number
CN102428471A
CN102428471A CN200980159350XA CN200980159350A CN102428471A CN 102428471 A CN102428471 A CN 102428471A CN 200980159350X A CN200980159350X A CN 200980159350XA CN 200980159350 A CN200980159350 A CN 200980159350A CN 102428471 A CN102428471 A CN 102428471A
Authority
CN
China
Prior art keywords
smm
processor
smi
trust
level
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
CN200980159350XA
Other languages
English (en)
Other versions
CN102428471B (zh
Inventor
M·A·皮旺卡
B·D·德塞勒
L·B·霍布森
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102428471A publication Critical patent/CN102428471A/zh
Application granted granted Critical
Publication of CN102428471B publication Critical patent/CN102428471B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/2113Multi-level security, e.g. mandatory access control

Abstract

公开了用于从系统管理模式确定信任级别的系统和方法。一种这样的方法包括:响应于系统管理模式中断(SMI),确定与调用所述SMI的代码相关联的信任级别;以及响应于确定所述信任级别是不可信的,至少部分地基于由调用SMI的代码进行的请求的类型,同意或拒绝所述请求。

Description

从系统管理模式确定信任级别的系统和方法
背景技术
目前的个人计算机(PC)系统可以包括支持系统管理模式的处理器。该系统管理模式(SMM)具有各种用途:处理低级别系统事件,例如,存储器或芯片组错误;系统安全功能,例如,在高处理器温度时关机;功率管理操作,例如,打开风扇;未实施的母板硬件的模拟(例如,USB鼠标表现为PS/2鼠标)。SMM的最近的用途是控制对各种安全特性的访问。期望允许可信软件部件通过SMM控制安全特性并且阻止不可信软件部件通过SMM控制安全特性,同时仍然允许不可信软件部件使用SMM用于其他目的。
附图说明
通过参考以下附图可以更好地理解本公开内容的多个方面。附图中的部件不一定是按照比例绘制的,而是着重于清楚地示出本公开内容的原理。
图1是根据本文公开的一些实施例的包括用于安全地调用系统管理中断的模块的系统的系统架构图。
图2示出了SMM地址空间。
图3是根据本文公开的一些实施例的包括用于安全地调用系统管理中断的模块的系统的各个部件的框图。
图4A-C是示出了在SMM调用的各种示例情形期间,由用于安全地调用系统管理中断的模块的一些实施例执行的动作的序列图。
图5是示出了根据一些实施例的图1的信任调用逻辑的操作的流程图。
图6是示出了根据本文公开的一些实施例的包括用于安全地调用系统管理中断的模块的另一系统的所选择的部件的框图。
具体实施方式
图1是根据本文公开的一些实施例的包括用于从系统管理模式确定信任级别的模块的系统的系统架构图。系统100包括硬件部件和软件部件。如本领域普通技术人员所应当理解的,软件部件在硬件平台上执行;具体而言,软件部件在硬件平台中的处理器(例如,微处理器、网络处理器、微控制器、数字信号处理器、数字信号控制器、专用指令集处理器等)上执行。该可执行代码可以体现在任何计算机可读介质中以用于由处理器使用或结合处理器使用。硬件平台通常还包括除了(直接地或间接地)与软件交互的处理器之外的硬件部件。这些其他硬件部件可以通过各种形式的专用逻辑来实现,例如,可编程逻辑设备(PLD)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、片上系统(SoC)、封装级系统(SiP)等。
如图1所见,这些部件可以被视为具有分层布置。底层包括硬件部件,在该示例系统中所述硬件部件包括:处理器110;存储器120;以及诸如存储设备135(例如,硬盘、闪速RAM、闪速ROM或EEPROM)等的I/O设备130和安全设备140。安全设备140(有时被称为可信平台模块或TPM)执行密码功能并且可以用于存储密码密钥、数字证书和密码。
在硬件层之上的层中布置有各种软件部件。管理程序150软件部件最靠近硬件,并且是唯一被允许不受监督地访问硬件的软件部件。因此,应用程序160和来宾操作系统170被认为是不可信部件,并且不能直接访问硬件部件100-140。替代地,处理器110的各种架构特性允许管理程序150监视或监督应用程序160和来宾操作系统170的动作,以使得这些不可信部件对某些指令的执行或对某些存储器或I/O位置的访问导致管理程序150被调用并且进行控制。由于处理器110可以在各种特权模式中执行,因此管理程序150的监督特性是可能的。在系统300中,管理程序150在最大特权模式中运行,而应用程序160和来宾操作系统170在更小特权模式中运行。
除了至少两种特权相关的模式,处理器110还支持被称为系统管理模式(SMM)的另一模式。对SMM的调用触发相关联的系统管理模式处理程序180的执行。在系统100中,SMM处理程序180的一个角色是控制对安全设备140的访问。信任确定模块190(SMM处理程序180的部分)允许该处理程序确定该处理程序是由可信部件(例如,管理程序150)调用的还是由不可信部件(例如,应用程序160之一或来宾操作系统170)调用的。然后,基于该确定,SMM处理程序180采取适当的动作。
在一些实施例中,当作为对安全设备140试图访问的结果,SMM处理程序180被管理程序150调用时,模块190代表管理程序150物理地访问安全设备140。然而,如果作为对安全设备140试图访问的结果,SMM处理程序180被应用程序160或来宾操作系统170调用,则模块190不会物理地访问安全设备140,而是替代地虚拟化该访问,以使得对于应用程序160或来宾操作系统170,看起来好像访问发生了一样。应用程序160或来宾操作系统170可以针对除了访问安全设备140之外的原因来调用SMM,并且在一些实施例中,模块190然后确保SMM处理程序180代表不可信部件执行所请求的动作。
下面将结合图3-5讨论关于由信任确定模块190所采取的动作的更多细节。现在将结合图2的框图讨论信任确定模块190确定是可信部件还是不可信部件调用了SMM的机制,其中,图2示出了SMM地址空间200。
当在SMM中执行时,处理器110使用专用私有地址空间200,该专用私有地址空间200与上文描述的最大特权或更小特权模式所使用的地址空间不同。因此,如同SMM状态保存区210驻留在该地址空间中,SMM处理程序180也驻留在该地址空间中。可以称为处理器模型特定寄存器(PMSR)的寄存器指向SMM地址空间200中SMM处理程序180的位置。SMM状态保存区210在地址空间200的顶部开始并且向下形成。
仅通过被称为系统管理中断(SMI)的特定硬件中断来调用SMM。响应于SMI,处理器110将状态信息保存到SMM状态保存区210并且跳转至SMM处理程序180。SMM状态保存区210包括各种类型的状态信息,例如,寄存器和状态信息。根据本文公开的特性,处理器110还在执行SMM处理程序180之前保存信任调用数据220,并且(处理程序180中的)信任确定模块190检查信任调用数据220来确定当发生SMI时是可信部件还是不可信部件正在执行。信任调用数据220可以采取各种形式,例如,指定可信或不可信的1比特值,或指定特权级别(例如,0至N,其中低于M的级别是可信的)的多比特值。本领域普通技术人员应当认识到,表示该数据的其他方式也是可能的,并且其他实现方式旨在落入本公开内容的范围内。如上所述,信任确定模块190的一些实施例允许可信代码对安全设备140的访问,但是拒绝或阻止不可信代码的访问。
特别地,包括信任调用数据200的状态信息的保存是由处理器110本身而非由软件执行的(即,不是由在处理器110上执行的指令执行的)。本领域普通技术人员应当理解在处理器上执行的指令与处理器中的微代码之间的基本区别。在一些实施例中,处理器110通过微代码实现状态保存。其他实施例在专用逻辑中实现该动作,并且另一些其他实施例通过微代码和专用逻辑的组合来实现该动作。
图3是根据本文公开的一些实施例的包括用于从系统管理模式确定信任级别的模块的系统的各种部件的框图。系统300包括处理器110,该处理器110包括用于保存信任调用数据的模块310。处理器110通过总线330访问I/O设备320、安全设备140和存储器120。存储器120包含由处理器110执行的代码的各个部分(例如,应用程序160、来宾OS 170、管理程序150)。SMM RAM 340是映射到上文针对SMM描述的私有地址空间中的存储器。SMM RAM 340还包含可执行代码,尤其是SMM处理程序180。
SMI逻辑350生成系统管理中断(SMI)360,该系统管理中断被作为输入提供给处理器110。如本领域普通技术人员应当知道的,处理器110响应于接收SMI 360而进入SMM模式(上文所描述的)。SMI逻辑350还包括控制SMI 360的操作的各种寄存器370。在一些实施例中,这些寄存器中的一个或更多直接地充当SMI控制寄存器:代码将其视为SMI控制寄存器并且对该寄存器执行I/O写入以请求SMI。在这些实施例的一些中,寄存器370中的一个或更多充当请求或命令寄存器,使得代码进行要由SMM处理程序180执行的特定类型的请求。这种请求的示例包括禁用、启用、去激活和重置安全设备140的请求。其他示例包括对安全设备140或其他设备的关机和待机请求。因此,与软件中断类似,寄存器370可以被视为请求SMM处理程序180采取特定动作的手段,尽管SMI是硬件而非软件中断。在这些实施例的一些中,SMM处理程序通过对SMI状态寄存器和/或SMMRAM 340的保存状态区进行写入来与调用程序进行通信,并且代码(例如,SMM处理程序180)可以查询该寄存器/存储器位置以发现SMI的原因。
在一些实施例中,这些寄存器中的一个或更多间接地充当SMI控制寄存器。在这种情况中,寄存器370被映射到另一I/O设备(例如,键盘控制器寄存器)的位置,使得代码不会将寄存器370视为SMI控制寄存器。然而,在对寄存器370进行一些组合的读取和写入之后,SMI逻辑350可以生成SMI 360,从而寄存器最终可以用作SMI控制寄存器。
图4A-C是示出了在SMM调用的各种示例情形期间,由用于从系统管理模式确定信任级别的模块的一些实施例执行的动作的序列图。转到图4A,这些动作可以被分为三种类型:在处于除了SMM之外的模式中的处理器110上执行的代码所执行的动作(列410);处理器110自身所执行的动作(列420);以及在处于SMM中的处理器110上执行的代码所执行的动作(列430)。序列以非SMM代码执行(411)对SMI控制寄存器的I/O写入开始。如前面结合图3所描述的,该I/O写入触发SMI 360。作为响应,处理器110采取动作(421),该动作涉及:将处理器模式切换到SMM;保存包括信任调用数据220的处理器状态;以及调用SMM处理程序。
SMM处理程序开始执行。在某一点,SMM处理程序检查(431)信任调用数据220。在图4A的示例情形中,该数据指示“调用程序”是可信的。(尽管该调用通过中断而非调用指令发生,但是为了简单,在SMI时正在执行的代码将被称为“调用程序”)。由于该调用程序是可信的,因此SMM处理程序检查SMI逻辑350中的寄存器和/或所保存的状态数据,以确定调用程序已经请求了哪些动作,并且执行(432)所请求的动作。SMM处理程序最后返回,其在一些实施例中使用专用指令。
一旦SMM处理程序返回,则处理器110采取动作(422),该动作涉及:切换到先前的(被中断的)处理器模式;恢复处理器状态;以及(例如,经由栈)返回到被中断的执行路径。在非SMM模式中执行的被中断代码继续(412)在调用SMI的指令后面的指令处执行。在该示例的情形中,该下一条指令是SMI状态寄存器的I/O读取,调用程序通过该指令来确定SMM处理程序是否成功地执行了所请求的动作。
图4B示出了SMM调用的一种不同情形。序列以非SMM代码执行(413)对SMI控制寄存器的I/O写入开始,该I/O写入触发SMI 360。作为响应,处理器110采取动作(423),该动作涉及:将处理器模式切换到SMM;保存包括信任调用数据220的处理器状态;以及调用SMM处理程序。SMM处理程序开始执行。在某一点,SMM处理程序检查(433)信任调用数据220。在图4B的该示例情形中,该数据指示调用程序是不可信的。在该实施例中,尽管不执行其他的动作,但SMM处理程序确实代表不可信调用程序执行某些请求的动作。因此,SMM处理程序代表不可信调用程序确定(434)所请求的动作是否被允许。在一些实施例中,不允许不可信调用程序对安全设备140的读或写访问,但是允许其他的请求。
在图4B的该示例情形中,允许所请求的动作,因此SMM处理程序确保所请求的动作被执行(435)。SMM处理程序还可以通过对SMI状态寄存器和/或SMMRAM的保存状态区进行写入来与调用程序进行通信。在一些实施例中,SMM处理程序通过发出一个或更多指令(例如,I/O指令)来直接地执行所请求的动作。在其他实施例中,SMM处理程序不直接执行所请求的动作,而是采取间接地导致所请求的动作发生的动作,例如,将值保存在SMM状态保存区210中,这会导致处理器110重新开始由调用程序执行的导致SMM处理程序的调用的指令。
SMM处理程序最后返回,并且一旦SMM处理程序返回,则处理器110采取动作(424),该动作涉及:切换到先前的(被中断的)处理器模式;恢复处理器状态;以及(例如,经由栈)返回到被中断的执行路径。在非SMM模式中执行的被中断代码继续(414)在调用SMI的指令后面的指令处执行。在该示例的情形中,该下一条指令是SMI状态寄存器的I/O读取,调用程序通过该指令来确定SMM处理程序是否成功地执行了所请求的动作。
图4C示出了SMM调用的另一情形。序列以非SMM代码执行(415)对SMI控制寄存器的I/O写入开始,该I/O写入触发SMI 360。作为响应,处理器110采取动作(425),该动作涉及:将处理器模式切换到SMM;保存包括信任调用数据220的处理器状态;以及调用SMM处理程序。然后SMM处理程序开始执行。
在某一点,SMM处理程序检查(436)信任调用数据220。在图4C的该示例情形中,该数据指示调用程序是不可信的。在该实施例中,SMM处理程序代表不可信调用程序执行某些请求的动作,同时阻止或拒绝其他动作。因此,SMM处理程序代表不可信调用程序确定(437)所请求的动作是否被允许。在图4C的该示例情形中,所请求的动作是对安全设备140(由SMM处理程序管理的设备)的读取或写入,其是不被允许的。因此,SMM处理程序不执行所请求的动作,而是替代地虚拟化(438)该访问,使得对于不可信部件,看起来好像发生了所请求的访问一样。SMM处理程序还可以通过对SMI状态寄存器和/或SMMRAM的保存状态区进行写入来与调用程序进行通信。替代于将不允许的访问虚拟化,其他实施例忽略不允许的访问。
SMM处理程序最后返回,并且一旦SMM处理程序返回,则处理器110采取动作(426),该动作涉及:切换到先前的(被中断的)处理器模式;恢复处理器状态;以及(例如,经由栈)返回到被中断的执行路径。在非SMM模式中执行的被中断代码继续(416)在调用SMI的指令后面的指令处执行。在该示例的情形中,该下一条指令是SMI状态寄存器的I/O读取。如上所解释的,SMM处理程序虚拟化所请求的动作,因此调用程序如同所请求的动作实际上发生了一样进行。
图5是示出了根据一些实施例的信任确定模块190的操作的流程图。处理500在框510处开始,在框510处,检查(存储在SMMRAM中的)信任调用数据220,以确定调用程序是否是可信的。如果调用程序是可信的,则在框520处,执行(如由信任调用数据220和/或SMI逻辑350所指示的)所请求的动作,并且在框530处,将状态信息传输给调用程序(如果合适的话)。然后处理500结束。
如果调用程序是不可信的,则框540代表不可信调用程序关于所请求的动作是否是被允许的动作来进行确定。如果该动作是被允许的,则处理如上文所描述的在框520和530处继续,然后处理结束。如果所请求的动作不被允许,则替代地,处理在框550处继续,在框550处,虚拟化所请求的动作,使得对于不可信部件,看起来好像执行了所请求的动作一样。
图6是示出了根据本文公开的一些实施例的包括用于从系统管理模式确定信任级别的模块的另一系统的所选择的部件的框图。有时被称为可信计算设备600的计算设备600包括安全处理器110S和安全设备140。有时被称为可信平台模块(TPM)的安全设备140执行密码功能,并且可以用于存储密码密钥、数字证书和密码。
安全处理器110S支持多个隔离的执行环境或分区的创建和管理。这些隔离的环境中的每一个均具有由处理器、芯片组和OS内核管理的专用资源(例如,存储器、处理器状态等)。在一些实施例中,这些分区中的至少一个是受保护的分区,其中软件可以隔离地运行,不会被在平台上运行的其他软件观察或损害。
在可信计算设备600的一些实施例中,安全处理器110S通过主机总线620与存储器控制中心610通信。存储器控制中心610再通过存储器总线640连接到系统存储器630,并且通过I/O总线660连接到输入/输出(I/O)控制中心650。在一些实施例中,中心610和650被称为“主机桥”,并且特别地,存储器控制中心610可以被称为“北桥”,而I/O控制中心650可以被称为“南桥”。I/O控制中心650通过外围总线670连接到各种外围设备,并且连接到基板(baseboard)管理控制器680。可信计算设备600的一些实施例还包括存储设备135(例如,硬盘、闪速RAM、闪速ROM或EEPROM)。
在本公开内容的上下文中,“计算机可读介质”可以是可包含或存储用于由处理器使用或结合处理器使用的程序的任何装置。该计算机可读介质可以与存储设备结合使用,并且可以是(例如但不限于)基于磁、光、电磁或半导体技术的介质。使用半导体技术的计算机可读介质的具体示例包括(但不限于)以下:随机存取存储器(RAM);只读存储器(ROM);可擦除可编程只读存储器(EPROM或闪速存储器)。使用磁技术的具体示例包括(但不限于)计算机磁盘或软磁盘。使用光技术的具体示例包括(但不限于)压缩盘只读存储器(CD-ROM)。
本文中的流程图提供了本文中公开的实施例的操作的示例。可替换地,这些图可以被视为描述由模块700执行的方法的示例的动作。这些图中的框表示包括用于实现该处理中的逻辑功能或步骤的一个或更多可执行指令的程序、功能、模块或代码的部分。可替换的实施例也包括在本公开内容的范围内。在这些可替换的实施例中,取决于所涉及的功能,可以不按照所示出或讨论的顺序来执行功能,包括基本上并发的或者相反的顺序。不是所有的实施例都需要全部的步骤。
已经为了说明和描述的目的而介绍了上述描述。其不旨在穷举或将本发明限制到所公开的精确形式。根据上述教导,各种修改和变型是可能的。然而,选择和描述所讨论的实施例来说明本发明的原理和其实际应用,从而使本领域普通技术人员能够使用各种实施例的本发明以及具有适合于所设想的特定用途的各种修改的本发明。当根据相当地和在法律上赋予权利要求的宽度来解释时,所有这种修改和变型均落入由所附权利要求确定的本发明的范围内。

Claims (15)

1.一种方法,包括:
响应于系统管理模式中断(SMI),确定与调用所述SMI的代码相关联的信任级别;以及
响应于确定所述信任级别是不可信的,至少部分地基于由调用所述SMI的所述代码进行的请求的类型,同意或拒绝所述请求。
2.根据权利要求1所述的方法,还包括:
响应于确定所述信任级别是不可信的,当所述请求是访问密码硬件设备时拒绝所述请求,以及当所述请求不是访问密码硬件时同意所述请求。
3.根据权利要求1所述的方法,还包括:
响应于确定所述信任级别是不可信的,当所述请求与除了所述密码硬件设备之外的硬件设备有关时同意所述请求。
4.根据权利要求1所述的方法,还包括:
响应于确定所述信任级别是可信的,同意所述请求。
5.根据权利要求1所述的方法,其中,所述请求是访问密码硬件设备。
6.一种计算机系统,包括:
系统管理模式(SMM)随机存取存储器(RAM);
在其上存储有指令的存储器;以及
处理器,其被从所述存储器获取的并且在所述处理器上执行的所述指令中的至少一些配置为通过以下动作来响应系统管理模式中断(SMI):
至少部分地基于在所述SMM RAM中存储的信任调用数据,来确定与调用所述SMI的代码相关联的信任级别;以及
响应于确定所述信任级别是不可信的,阻止由调用所述SMI的所述代码进行的对密码硬件设备的所请求的访问。
7.根据权利要求7所述的计算机系统,其中,所述密码硬件设备是由可信平台模块(TPM)实现的。
8.根据权利要求7所述的计算机系统,其中,所述处理器还被从所述存储器获取的并且在所述处理器上执行的所述指令中的至少一些配置为通过虚拟化对所述密码硬件设备的所请求的访问来阻止对所述密码硬件设备的所请求的访问。
9.根据权利要求7所述的计算机系统,其中,所述处理器还被从所述存储器获取的并且在所述处理器上执行的所述指令中的至少一些配置为通过忽略对所述密码硬件设备的所请求的访问来阻止对所述密码硬件设备的所请求的访问。
10.根据权利要求7所述的计算机系统,其中,所述处理器还被从所述存储器获取的并且在所述处理器上执行的所述指令中的至少一些配置为通过以下动作来响应系统管理模式中断(SMI):
响应于确定所述信任级别是可信的,同意对所述密码硬件设备的所请求的访问。
11.一种计算机系统,包括:
处理器,具有包括系统管理模式(SMM)和另外的模式的多个模式,所述处理器包括:
微代码,可操作为使得所述处理器响应于系统管理中断(SMI)来:
将所述处理器切换到所述系统管理模式;
将指示当发生所述SMI时是可信部件还是不可信部件正在执行的信任调用数据保存到仅在所述系统管理模式中映射的存储器区;以及
调用与所述SMM相关联的处理程序。
12.根据权利要求12所述的系统,所述微代码还可操作为使得所述处理器来:
响应于确定所述信任级别是不可信的,至少部分地基于由调用所述SMI的所述代码进行的请求的类型,同意或拒绝所述请求。
13.根据权利要求12所述的系统,所述系统还包括SMM随机存取存储器(RAM),所述SMM随机存取存储器(RAM)实现仅在所述系统管理模式中映射的所述存储器区。
14.根据权利要求12所述的系统,所述系统还包括:
SMI逻辑,其被配置为生成所述系统管理模式中断(SMI)。
15.根据权利要求12所述的系统,所述系统还包括:
可信平台模块。
CN200980159350.XA 2009-05-18 2009-05-18 从系统管理模式确定信任级别的系统和方法 Expired - Fee Related CN102428471B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2009/044309 WO2010134902A1 (en) 2009-05-18 2009-05-18 Systems and methods of determining a trust level from system management mode

Publications (2)

Publication Number Publication Date
CN102428471A true CN102428471A (zh) 2012-04-25
CN102428471B CN102428471B (zh) 2016-05-25

Family

ID=43126400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980159350.XA Expired - Fee Related CN102428471B (zh) 2009-05-18 2009-05-18 从系统管理模式确定信任级别的系统和方法

Country Status (4)

Country Link
US (1) US8850601B2 (zh)
EP (1) EP2433238B1 (zh)
CN (1) CN102428471B (zh)
WO (1) WO2010134902A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104885057A (zh) * 2012-09-21 2015-09-02 英特尔公司 虚拟化计算系统中隔离的客创建

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex
US8826243B2 (en) 2010-12-14 2014-09-02 International Business Machines Corporation System, method, and computer program product for error code injection
DE102012203521A1 (de) * 2011-03-28 2012-10-04 International Business Machines Corp. Architektur mit zwei Vertrauenswürdigkeitsstufen
US8973158B2 (en) * 2011-07-20 2015-03-03 Microsoft Technology Licensing Llc Trust level activation
DE102012110766A1 (de) * 2012-11-09 2014-05-15 MAQUET GmbH Instrumentenhalter zum Befestigen eines medizinischen Instrumentes an einem Gelenkarm
US10437310B2 (en) * 2016-12-21 2019-10-08 Intel Corporation Technologies for secure hybrid standby power management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228177A (zh) * 1996-06-21 1999-09-08 英特尔公司 计算机系统中控制对映射到i/o地址空间的寄存器的访问的系统
US6243809B1 (en) * 1998-04-30 2001-06-05 Compaq Computer Corporation Method of flash programming or reading a ROM of a computer system independently of its operating system
US20080134321A1 (en) * 2006-12-05 2008-06-05 Priya Rajagopal Tamper-resistant method and apparatus for verification and measurement of host agent dynamic data updates

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
CN1460208A (zh) 1999-10-25 2003-12-03 凤凰技术有限公司 使用主叫用户地址的安全软件smi调度
US7200761B1 (en) * 2000-11-09 2007-04-03 International Business Machines Corporation Method to use secure passwords in an unsecure program environment
US6848046B2 (en) * 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US20030037244A1 (en) * 2001-08-16 2003-02-20 International Business Machines Corporation System management interrupt generation upon completion of cryptographic operation
WO2003090052A2 (en) * 2002-04-18 2003-10-30 Advanced Micro Devices Inc. A computer system including a secure execution mode - capable cpu and a security services processor connected via a secure communication path
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
US20050114687A1 (en) * 2003-11-21 2005-05-26 Zimmer Vincent J. Methods and apparatus to provide protection for firmware resources
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US7318150B2 (en) * 2004-02-25 2008-01-08 Intel Corporation System and method to support platform firmware as a trusted process
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7418584B1 (en) * 2004-05-11 2008-08-26 Advanced Micro Devices, Inc. Executing system management mode code as virtual machine guest
US20060137008A1 (en) * 2004-12-16 2006-06-22 Intel Corporation Techniques for providing secure communication modes
US8806224B2 (en) * 2005-06-28 2014-08-12 Intel Corporation Low cost trusted platform
US8533530B2 (en) * 2006-11-15 2013-09-10 Qualcomm Incorporated Method and system for trusted/untrusted digital signal processor debugging operations
US20080163212A1 (en) 2006-12-29 2008-07-03 Zimmer Vincent J Paralleled management mode integrity checks
US8316414B2 (en) * 2006-12-29 2012-11-20 Intel Corporation Reconfiguring a secure system
US20090119748A1 (en) * 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US7844809B2 (en) * 2007-09-26 2010-11-30 Intel Corporation Verifying a trusted SMI handler
US20090113111A1 (en) * 2007-10-30 2009-04-30 Vmware, Inc. Secure identification of execution contexts
US20090320128A1 (en) * 2008-06-04 2009-12-24 Dell Products L.P. System management interrupt (smi) security
US8843742B2 (en) * 2008-08-26 2014-09-23 Hewlett-Packard Company Hypervisor security using SMM
US8495354B2 (en) * 2008-09-24 2013-07-23 Hewlett-Packard Development Company, L.P. Apparatus for determining during a power-on sequence, a value to be written to a first register in a secure area and the same value to a second register in non-secure area, which during a protected mode, the value is compared such that if it is equal, enabling writing to a memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228177A (zh) * 1996-06-21 1999-09-08 英特尔公司 计算机系统中控制对映射到i/o地址空间的寄存器的访问的系统
US6243809B1 (en) * 1998-04-30 2001-06-05 Compaq Computer Corporation Method of flash programming or reading a ROM of a computer system independently of its operating system
US20080134321A1 (en) * 2006-12-05 2008-06-05 Priya Rajagopal Tamper-resistant method and apparatus for verification and measurement of host agent dynamic data updates

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104885057A (zh) * 2012-09-21 2015-09-02 英特尔公司 虚拟化计算系统中隔离的客创建

Also Published As

Publication number Publication date
US20120017285A1 (en) 2012-01-19
EP2433238B1 (en) 2015-10-07
EP2433238A1 (en) 2012-03-28
WO2010134902A1 (en) 2010-11-25
EP2433238A4 (en) 2012-11-21
CN102428471B (zh) 2016-05-25
US8850601B2 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
EP3047419B1 (en) Virtual secure mode for virtual machines
CN102207886B (zh) 虚拟机快速仿真辅助
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
EP2397958B1 (en) Computing system providing normal security and high security services
US7380049B2 (en) Memory protection within a virtual partition
JP5042848B2 (ja) 仮想マシン・モニタの構成部分を特権化解除するためのシステム及び方法
US7209994B1 (en) Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests
US7748037B2 (en) Validating a memory type modification attempt
US7707341B1 (en) Virtualizing an interrupt controller
RU2513909C1 (ru) Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности
KR102189296B1 (ko) 가상 머신 보안 어플리케이션을 위한 이벤트 필터링
KR101920980B1 (ko) 멀티-운영 체제 디바이스들에 대한 액세스 격리
US20070067590A1 (en) Providing protected access to critical memory regions
EP1939754A2 (en) Providing protected access to critical memory regions
CN102428471A (zh) 从系统管理模式确定信任级别的系统和方法
TW201120752A (en) Improving nested virtualization performance in a computer system
US8316414B2 (en) Reconfiguring a secure system
US10552345B2 (en) Virtual machine memory lock-down
US20180136867A1 (en) Address based host page table selection
WO2021086747A1 (en) Embedded system and method
CN108491249B (zh) 一种基于模块权能的内核模块隔离方法及系统
CN113449292B (zh) 一种可信应用的运行方法、装置及设备
Im et al. On-demand virtualization for live migration in bare metal cloud
US11836514B2 (en) System and method of utilizing memory medium fault resiliency with secure memory medium portions
CN114741194A (zh) I/o请求的处理方法及装置

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

Granted publication date: 20160525

CF01 Termination of patent right due to non-payment of annual fee