CN102693379B - 保护操作系统配置值 - Google Patents

保护操作系统配置值 Download PDF

Info

Publication number
CN102693379B
CN102693379B CN201210051206.8A CN201210051206A CN102693379B CN 102693379 B CN102693379 B CN 102693379B CN 201210051206 A CN201210051206 A CN 201210051206A CN 102693379 B CN102693379 B CN 102693379B
Authority
CN
China
Prior art keywords
strategy
operating system
configuration values
environment
change
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.)
Active
Application number
CN201210051206.8A
Other languages
English (en)
Other versions
CN102693379A (zh
Inventor
S.D.安德森
D.J.林斯利
M.B.G.奈斯特伦
D.M.麦艾弗
R.K.斯皮格尔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102693379A publication Critical patent/CN102693379A/zh
Application granted granted Critical
Publication of CN102693379B publication Critical patent/CN102693379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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
    • G06F21/575Secure boot
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

在装置的预操作系统环境中,在将操作系统加载和运行在所述装置上之前,获得识别所述操作系统的配置设置的策略。阻止所述操作系统本身改变这个策略,但是在某种情况下可以由所述预操作系统环境的部件改变所述策略。将这个策略与由所述操作系统使用的配置值进行比较,并且如果所述配置值满足所述策略,则允许所述操作系统用所述配置值进行引导。然而,如果所述配置没有满足所述策略,则采取响应动作。

Description

保护操作系统配置值
技术领域
本发明一般地涉及操作系统安全性技术领域。
背景技术
经由各种网络,例如因特网,计算机之间变得愈加互连。虽然这种连接性允许用户访问各种不同的业务和数据,但是这种连接性没有摆脱它自身的问题。一个这种问题就是这种连接性可以允许恶意程序在这些计算机上运行。这些恶意程序可以执行各种不希望的操作,例如发起对其他计算机的攻击、发送私有数据给其他用户的计算机、阻止用户能够使用他的或她的计算机等。当前仍然难以保护计算机免受这样的恶意程序。
发明内容
提供本发明内容而以简化形式对精选的观点进行介绍,在以下具体实施方式中将进一步描述这些观点。本发明内容没有打算标识所要求保护的主题的关键特征或必要特征,也没有打算用来限制所要求保护的主题的范围。
依据一个或多个方面,在装置上的预操作系统环境中,在将操作系统加载并运行在所述装置上之前,获得识别至少一个操作系统的配置设置的策略(policy)。阻止所述操作系统改变这个策略。将这个策略与由所述操作系统使用的配置值进行比较,并且如果所述配置值满足所述策略,则允许所述操作系统用所述配置值进行引导(boot)。然而,如果所述配置没有满足所述策略,则采取响应动作。
依据一个或多个方面,接收识别配置设置的策略的改变,为了在装置上执行操作系统而由所述操作系统的配置值满足所述配置设置。阻止所述操作系统本身改变这个策略。进行关于所述策略的改变是否被预操作系统环境信赖的实体批准的检查,并且只有当所述策略的改变被预操作系统环境批准时,才改变所述策略。
附图说明
整个附图中,相同的标记用于引用相同的特征。
图1图示了依据一个或多个实施例的实现保护操作系统配置值的示例性装置。
图2图示了依据一个或多个实施例的示例性策略。
图3是图示依据一个或多个实施例的用于保护操作系统配置值的示例性过程的流程图。
图4是图示依据一个或多个实施例的用于改变装置中策略的示例性过程的流程图。
图5图示了依据一个或多个实施例的可以被配置为实现所述保护操作系统配置值的示例性计算装置。
具体实施方式
本文讨论了保护操作系统配置值。在引导装置的过程期间,由所述装置的一个或多个操作系统的至少一部分使用的配置值的集合(以及可选地包括由所述装置的预操作系统环境的部件使用的一个或多个配置值)对照所述装置的策略进行检查。如果所述配置值满足所述策略,则允许所述操作系统在所述装置上运行,但是如果所述配置值没有满足所述策略,则采取一个或多个适当的动作(例如,不运行所述操作系统、改变所述值等)。以防止由所述操作系统和在计算装置上运行的其他应用进行未授权修改的方式来存储所述策略。然而,一个或多个策略发行者可以更新所述策略,允许所述策略随着时间而改变。
本文参考对称密钥密码术、公开密钥密码术和公开/私有密钥对。尽管这种密钥密码术对于那些本领域技术人员来说是公知的,但是在此还是包括了这种密码术的简短概述,以助于读者理解。在公开密钥密码术中,实体(例如用户、硬件或软件部件、装置、域等)具有与它相关联的公开/私有密钥对。将公开密钥设置为公开可用的,但是所述实体对私有密钥进行保密。没有所述私有密钥,在计算上非常难以解密使用所述公开密钥加密的数据。因此,可以由任何实体使用所述公开密钥来加密数据,但是却只能由具有相应私有密钥的实体来解密数据。另外,可以通过使用所述数据和所述私有密钥来生成数据的数字签名。没有所述私有密钥,在计算上非常难以创建可使用所述公开密钥进行验证的签名。通过在所述公开密钥、所述签名和已被签名的数据上执行适当的数字签名验证算法,具有所述公开密钥的任何实体都可以使用所述公开密钥验证所述数字签名。
另一方面,在对称密钥密码术中,由两个实体知晓共享密钥(也被称为对称密钥),并由这两个实体对其保密。典型地,具有所述共享密钥的任何实体都能够解密用共享密钥加密的数据。没有所述共享密钥,在计算上非常难以解密用所述共享密钥加密的数据。因此,如果两个实体都知晓所述共享密钥,则每个实体都可以加密可由另一个实体解密的数据,但是如果其他的实体不知晓所述共享密钥,其他的实体就不能解密所述数据。同样,具有共享密钥的实体可以加密可由相同实体解密的数据,但是,如果其他的实体不知晓所述共享密钥,其他的实体不能解密该数据。另外,可以基于对称密钥密码术生成数字签名,例如使用密钥散列消息认证码机制。具有所述共享密钥的任何实体都可以生成和验证所述数字签名。例如,受信赖的第三方可以基于特定实体的身份生成对称密钥,并且然后可以为所述特定实体生成数字签名并且验证所述数字签名(例如,通过使用所述对称密钥加密或解密的数据)。
图1图示了依据一个或多个实施例的实现保护操作系统配置值的示例性装置100。装置100包括固件102、操作系统加载器(loader)104和操作系统内核106,上述每一个都是允许装置100执行各种操作的一个或多个部件或模块。这些部件或模块包括典型地存储在非易失性内存或存储装置(例如,闪速存储器、只读存储器(ROM)、磁盘、光盘、经由网络访问的远程装置或存储器等)中的指令和/或数据。将这些部件或模块从所述非易失性内存或存储装置加载到一个或多个易失性存储器(例如,随机存取存储器(RAM)),从中可以由一个或多个处理器重新获得并且执行这些部件或模块。
当装置100通电或重置时,引导装置100。装置100的引导指的是装置100的开始操作,典型地,加载并且执行装置100的操作系统。典型地,装置100的引导包括至少两个阶段。在第一阶段中,在装置100上加载并且运行预操作系统环境的部件。在所述预操作系统环境中,运行各种部件或模块而执行包括引导所述操作系统的各种操作。在第二阶段,在装置100上加载并且运行所述操作系统环境的部件。在所述操作系统环境中,所述操作系统正在装置100上运行。
部件的加载涉及将所述部件复制到易失性(或者另选地,非易失性)存储器,并且可选地对其他部件或数据存储执行另外的配置。部件的执行涉及通过装置100的处理器或控制器运行(执行)所述部件的指令。在引导装置100之后,可以通过所述操作系统在装置100上运行各种其他程序。
装置100可以是各种不同类型的实际装置。例如,装置100可以是台式计算机、膝上型计算机或上网本计算机、笔记本或平板计算机、移动站、娱乐设备、通信地耦合到显示装置上的机顶盒、电视机、蜂窝或其他无线电话,游戏控制台,汽车计算机等。装置100还可以是虚拟装置,例如在实际装置上运行的虚拟机。可以在各种不同类型的实际装置的任意一个上运行虚拟机。
在引导过程期间,由装置100加载并且执行固件102。固件102存储在装置100的非易失性存储器中。固件102可以存储在只读存储器中,或者备选地存储在可写入的非易失性存储器(例如,闪速存储器)中。在固件102被存储在可写入的非易失性存储器中的实施例中,典型地,需要注意以确保不会篡改这种固件102(并且因此,不会被恶意程序所改变)。例如,可以通过验证存储在可写入的非易失性存储器中的固件102上的签名、将固件102存储在仅能访问固件102的受保护的存储器中、使用各种传统受信赖的引导或安全引导技术等来加以注意。
固件102开始操作系统加载器104的执行。典型地,在执行前,由固件102加载并且验证操作系统加载器104。可以以不同方式验证操作系统加载器104,例如,通过验证操作系统加载器104的数字签名(其由固件102被配置(例如,编程)为信赖的实体生成)。
操作系统加载器104加载并且执行操作系统内核106。典型地,在执行之前,由操作系统加载器104加载并且验证操作系统内核106。可以以不同方式验证操作系统内核106,例如,通过验证操作系统内核106的数字签名(其由将操作系统加载器104配置(例如,编程)为信赖的实体生成)。然后,操作系统内核106可以着手于加载并且执行各种不同的操作系统部件和/或用户方式部件。可以响应于执行这种部件的用户请求或者响应于来自另一个部件或模块的请求而执行这些操作系统部件和用户方式部件。
操作系统内核106获得各种操作系统配置值112并且根据各种操作系统配置值112操作。尽管图示为可由操作系统内核106进行访问,但是还可以由操作系统加载器104和/或装置100的其他部件或模块来访问操作系统配置值112。操作系统配置值112可以是用于确定操作系统内核106(和/或操作系统加载器104)如何操作、将要加载和执行操作系统内核106(和/或操作系统加载器104)的什么部件、它们的组合等的各种不同信息的任意一个。例如,操作系统配置值112可以是操作系统内核106(和/或操作系统加载器104)是否允许在装置100上执行不可信赖程序或部件、或在装置100上运行程序或部件之前,操作系统内核106(和/或操作系统加载器104)是否认证所述程序或部件的指示。作为另一个示例,操作系统配置值112可以是反恶意软件应用(或特定的反恶意软件应用)是否要在装置100上运行的指示。作为另一个示例,操作系统配置值112可以是用于管理运行在装置100上的虚拟机的虚拟机管理器的配置值或设置的指示。作为又一个示例,操作系统配置值112可以是要使用的特定处理器或处理器内核设置(例如,将被标记为不可执行的存储器区域)的指示。
在一个或多个实施例中,将固件102和操作系统加载器104实现为预执行环境(也被称为预引导环境或预操作系统环境)的一部分,其涉及在结束引导所述操作系统以及运行所述操作系统之前运行在装置100上的环境。在这样的实施例中,固件102和操作系统加载器104可以存储在装置100的部件上(例如,存储在只读存储器(ROM)或闪速存储器中),例如在装置100的网络接口卡上。另选地,在所述预执行环境期间,可以从另一个装置或业务获得固件102和操作系统加载器104。例如,固件102和操作系统加载器104被包括作为从另一个装置或业务向装置100提供的引导图像的一部分。
可以以各种不同方式实现所述预执行环境,并且所述预执行环境可以以各种不同的传统技术作为基础。例如,可以依据预引导执行环境(PXE)标准版本2.0或其他版本实现所述预执行环境。作为另一个示例,可以依据统一的可扩展固件接口(UEFI)标准版本2.3或其他版本实现所述预执行环境。作为又一个示例,可以使用各种不同的个人计算机基本输入/输出系统(BIOS)版本实现所述预执行环境。
在所述引导过程期间,操作系统加载器104获得策略记录114,其是装置100将遵照的一个或多个策略的记录。策略的这个记录包括操作系统配置值112将满足的配置设置或值。操作系统加载器104将策略记录114中的一个或多个策略与操作系统配置值112进行比较,并且,如果操作系统配置值112满足策略记录114中的一个或多个策略继续开始操作系统内核106部件的执行。然而,如果一个或多个操作系统配置值112没有满足策略记录114中的策略,则采取适当的响应动作。可以采取各种不同的响应动作,例如不加载操作系统内核106、改变操作系统配置值112等。以下将更加详细地讨论这些响应动作。因此,操作系统加载器104保护了操作系统配置值112,识别出恶意程序也许已经改变操作系统配置值112的情况。
在一个或多个实施例中,策略记录114中的一个或多个策略还包括所述装置预操作系统环境的一个或多个部件将满足的配置设置或值。这些将由所述预操作系统环境满足的配置设置或值可以是所述预操作系统环境将如何操作、将加载和执行所述预操作系统环境的什么部件、它们的组合等的各种不同指示的任意一个。这些配置设置或值被包括作为操作系统配置值112的一部分,或者另选地,这些配置设置或值可以是其他设置或值。例如,这些配置设置或值可以指定仅将加载和执行特定的操作系统。
尽管图1中图示了单个操作系统内核106,但是应当注意到,另选地,可以在装置100上加载并执行多个不同操作系统内核106。这些不同的操作系统内核的每一个都可以具有它自己的操作系统配置值112和它自己的策略记录114(或它自己的位于策略记录114内的策略),并且操作系统加载器104将适当的一个或多个策略与正被引导的操作系统内核106的适当的操作系统配置值进行比较。另选地,这些不同的操作系统内核的两个或更多个可以共享操作系统配置值112和/或策略记录114(和/或位于策略记录114内的策略)的至少一部分。
图2图示了依据一个或多个实施例的示例性策略200。例如,策略200可以被包括作为图1的策略记录114中的策略。策略200包括策略标识符202、策略祖先列表(ancestor list)204和一个或多个配置值和/或设置206。通过对策略标识符202、策略祖先列表204和配置值/设置206的一个或多个进行数字签名还生成策略200上的数字签名208。
策略标识符202识别策略200,允许不同的策略彼此区分。例如,策略标识符202可以是分配给策略200的全局唯一ID(GUID)。策略祖先列表204是策略200替换的零个或多个其他策略的列表。策略祖先列表204便于阻止某些类型的攻击,如以下将更加详细地讨论的。
配置值和/或设置206包括所述操作系统配置值(例如图1的值112)将满足的值。配置值和/或设置206还可以包括如果所述操作系统配置值没有满足策略200中的所述配置值的一个或多个而采取的响应动作。可选地,可以通过操作系统加载器部件设置配置值和/或设置206的一个或多个,如以下将更加详细地讨论的。
配置值和/或设置206还可以包括对一个或多个其他策略的标识符的引用。这些一个或多个其他策略中的配置值和/或设置被包括作为策略200的一部分。因此,策略200可以有效地合并或者包括一个或多个其他策略。配置值和/或设置206还可以包括一个或多个受信赖的策略发行者的标识符。因此,可以在策略200中识别出允许往策略记录(例如,图1的策略记录114)增加策略的新的策略发行者。
返回图1,操作系统加载器104检查操作系统配置值112是否满足策略记录114中的一个或多个策略。策略记录114可以包括单个策略,如以下更加详细讨论的,其可以由一个或多个不同的策略发行者进行改变。另选地,策略记录114可以包括多个策略,其每一个都可以由一个或多个策略发行者进行改变。因此,例如,不同的策略发行者可以提供不同的策略(它们随后可以改变)以包括在策略记录114中。
可以以各种不同方式在所述策略中识别所述配置值。在一个或多个实施例中,策略识别名值对(name-value pair)中的值,所述名值对包括操作系统配置值的名(或其他标识符)和所述操作系统配置值为了满足所述策略而具有的一个或多个值。在其他实施例中,将值以相应的操作系统配置值所固有的次序关系或其他结构包括于策略中。
可以以不同方式执行操作系统配置值112是否满足策略记录114中的一个或多个策略的确定。在一个或多个实施例中,将数学运算符用来确定操作系统配置值是否满足策略。可以使用各种不同的数学运算符,例如等于、大于、小于等。在其他实施例中,将其他运算符或逻辑式用来确定操作系统配置值是否满足策略,例如,所述操作系统配置值是否被包括作为所述策略中的值的集合之一。
在将多个策略包括于策略记录114的情形中,确定操作系统配置值112是否满足策略记录114中的策略是确定操作系统配置值112是否满足策略记录114中的多个策略的每一个。因此,可以把所述多个策略看作是组合的,以为了确定操作系统配置值112是否满足策略记录114中的策略。
如果操作系统配置值112满足策略记录114,则操作系统加载器104继续开始操作系统内核106的执行。然而,如果一个或多个操作系统配置值112没有满足策略记录114,则响应于一个或多个操作系统配置值112没有满足策略记录114而采取适当的动作。可以为不同的操作系统配置值采取不同的响应动作,或者可以为多个操作系统配置值采取相同的响应动作。这些响应动作可以包括停止所述引导过程的动作,以便不在装置100上加载和运行所述操作系统,以及允许所述引导过程继续的动作,以便在装置100上加载和运行所述操作系统。
在一个或多个实施例中,把将要采取的响应动作包括于策略记录114中。策略记录114中的每个策略都可以包括如果没有满足所述策略的至少一部分(例如,特定的操作系统配置值112没有满足所述策略)则所要采取的响应动作的指示(例如,作为图2的配置值/设置206的一部分)。在其他实施例中,把将要采取的响应动作包括于(例如,编程于或设置为配置值)操作系统加载器104中,或通过操作系统加载器104获得所述将要采取的响应动作。
所述响应动作可以是停止所述引导过程-操作系统加载器104不开始操作系统内核106的执行,从而不在装置100上加载和运行所述操作系统。另选地,所述响应动作可以是忽视没有满足所述策略的操作系统配置值112,并替代地使用另一个值(例如,包括在所述策略中的)。另选地,所述响应动作可以是用来自所述策略(或由其识别出)的值来重写操作系统配置值112,并且允许所述引导过程继续。另选地,所述响应动作可以是使用操作系统配置值112并且允许所述引导过程继续,但是汇报一个事件,例如记录,或发送(例如,到另一个部件,装置或业务)操作系统配置值112没有满足所述策略的通知(所述特定操作系统配置值和/或策略的指示可以包括于所述通知中)。
另选地,所述响应动作可以是提示装置100的用户(例如,接收用户批准以继续进行所述引导过程)。例如,这个提示可以包括请求所述用户批准当前的操作系统配置值的提示。这个提示还可以包括为了满足所述策略,所述配置值应该是什么的指示。然后,所述用户可以提供各种不同的输入来批准(或不批准)利用当前的操作系统配置值继续,例如按压按钮或键、触摸屏幕特定部分、提供可听得见的输入、提供操作系统加载器104信赖的(或可以由其验证的)安全令牌等。操作系统加载器104务必验证所述输入是接收自装置100的用户(例如,接收自装置100的键盘、触摸屏、麦克风等),而不是远程装置(例如,验证所述用户输入接收自键的按压或本地麦克风,而不是从远程装置接收的请求)。因此,在这样的情形中,只有当用户出现于装置100处并且用户批准继续所述引导过程时,才可以继续所述引导过程-装置100的恶意装置或恶意部件无法批准继续所述引导过程。
以安全方式保存策略记录114,在这种安全方式中,操作系统加载器104可以改变策略记录114,但是阻止在操作系统加载器104之后执行的部件(在特定的操作系统内核106以及其他操作系统部件和/或用户方式部件)改变策略记录114。将策略记录114图示为由虚线116包围以反映出它的安全。可以以这个安全方式的各种不同方式保存策略记录114。
在一个或多个实施例中,将策略记录114存储在可写入的非易失性存储器中,例如非易失性随机存取存储器(NVRAM)。仅在一定条件下和/或在一定时间可以访问所述可写入的NVRAM。在一个或多个实施例中,经由可信赖平台模块(TPM)访问所述可写入的NVRAM。可以从俄勒冈州的比佛顿(Beaverton)的可信赖计算机组中获得关于TPM的附加信息。所述TPM允许所述可写入的NVRAM的读取和写入,直到某一时间点或某一事件发生,在此之后,所述TPM允许读取所述可写入的NVRAM而不允许写入。例如,这个某一时间点或事件可以是来自部件的关闭或锁定所述可写入的NVRAM的请求。因此,操作系统加载器104可以在所述可写入的NVRAM中进行策略记录114的改变,并且然后锁定所述可写入的NVRAM。因此,操作系统加载器104可以阻止恶意程序篡改策略记录114,这是因为锁定了所述可写入的NVRAM。所述可写入的NVRAM不会被解锁,直到再次引导装置100。下一次引导装置100时解锁所述可写入的NVRAM,但是在恶意程序将能执行并且向所述可写入的NVRAM写入之前,操作系统加载器104再次锁定所述可写入的NVRAM。同样,可以实现其他类型的存储装置(例如,磁盘驱动器),以便仅在一定条件和/或在一定时间访问。
另选地,可以以使用其他技术的安全方式保存策略记录114,例如通过仅由受保护接口(例如,应用编程接口(API))可以访问策略记录114,只有当由受信赖的实体对所述改变进行签名时,受保护接口才允许策略记录114的改变。这种受信赖的实体是受操作系统加载器104信赖的实体(例如,由操作系统加载器104认为是可值得信赖的实体,并且操作系统加载器104具有它的公开密钥)。例如,可以将策略记录114存储为UEFI认证变量,只有当由受信赖的实体对所述改变进行签名时,才可以改变所述UEFI认证变量。将任何请求的策略记录114的改变验证为由受信赖的实体进行签名,并且如果是由受信赖的实体进行签名,则进行所请求的改变,并且如果没有被受信赖的实体签名,则不进行所请求的改变。
作为另一个示例,在将装置100实现为虚拟机的情形中,可以通过管理装置上的一个或多个虚拟机操作的虚拟机管理器以安全的方式保存策略记录114。所述虚拟机管理器可以允许操作系统加载器104,而不是其他部件,改变策略记录114中的策略。
策略记录114的改变包括往策略记录114增加策略,从策略记录114移除策略,和/或用新的策略替换策略记录114中的策略。在一个或多个实施例中,通过操作系统加载器104执行策略记录114的改变,如果这种改变接收自受信赖的策略发行者(例如,这些改变被操作系统加载器104信赖的策略发行者实体数字签名)。可以以不同方式将改变策略记录114中的策略的请求提供给操作系统加载器104。在一个或多个实施例中,操作系统内核106或在装置100上运行的另一个部件在持久性位置中存储所述策略的改变,在装置100的下次引导时,操作系统加载器104可以访问所述持久性位置。在装置100下次引导时,操作系统加载器104获得所述改变,并且如果所述改变是适当的则实施所述改变。操作系统内核106或在装置100上运行的其他部件还可以存储针对特定类型改变的请求以及这种改变(例如,特定策略将被移除或替换另一个策略的指示)。另选地,针对特定类型改变的请求可以是固有的(例如,操作系统加载器104将持久性位置中存在的存储的策略视为往策略记录114增加策略的请求)。
响应于移除策略的请求(来自策略发行者),操作系统加载器104可以从策略记录114移除该策略。操作系统加载器104验证所述请求是否来自作为受信赖的实体的策略发行者,如果所述请求来自作为受信赖的实体的策略发行者,则移除所述策略,并且如果所述请求不是来自作为受信赖的实体的策略发行者,则不移除所述策略。
类似地,响应于增加所述策略的请求(来自策略发行者),操作系统加载器104可以往策略记录114增加新的策略。操作系统加载器104验证所述新的策略(以及,可选地,所述请求)是否来自作为受信赖的实体的策略发行者,并且如果所述新的策略(以及可选地,所述请求)来自作为受信赖的实体的策略发行者,则增加所述新的策略,并且如果所述新的策略(和/或可选地,所述请求)不是来自作为受信赖的实体的策略发行者,则不增加所述新的策略。
另外,操作系统加载器104可以用新的策略(也被称为策略的新的版本)替换策略记录114中的策略(也被称为策略的当前版本)。当接收到新的策略时,操作系统加载器104验证所述新的策略(并且可选地,所述请求)是否来自作为受信赖的实体的策略发行者。如果所述新的策略(和/或可选地,所述请求)不是来自作为受信赖的实体的策略发行者,则操作系统加载器104不会用所述策略的新的版本替换所述策略的当前版本。
然而,如果所述新的策略(并且可选地,所述请求)来自作为受信赖的实体的策略发行者,则操作系统加载器104检查所述策略的新的版本是否真正是所述策略当前版本的更新的版本。操作系统加载器104可以通过检查所述策略的当前版本是否包括在所述策略新的版本的祖先列表中来检查所述策略的新的版本是否真正是所述策略当前版本的更新的版本。所述策略的新的版本包括策略祖先列表,所述策略祖先列表识别由相同策略发行者发布的、由所述策略的新的版本替换的零个或多个在前的策略。所述策略祖先列表可以通过它们的策略标识符(例如,GUID)识别在前的策略。如果所述策略的新的版本来自作为受信赖的实体的策略发行者,并且所述策略的当前版本被包括在所述策略的新的版本的策略祖先列表中,则操作系统加载器104用所述策略的新的版本替换所述策略的当前版本。否则,操作系统加载器104不会用所述策略的新的版本替换所述策略的当前版本。
应当注意到,所述策略祖先列表的使用便于阻止恶意程序或用户的回退(rollback)或重放攻击。例如,恶意程序或用户可能试图用策略的较老版本(例如,其包括过期的安全相关的值或设置,所述值或设置将允许恶意程序或用户获得对装置100的部件的不适当的访问)替换策略的当前版本(例如,包括新的安全相关的值或设置)。通过只有当策略的当前版本被包括在所述策略的新的版本的策略祖先列表中时才用新的策略替换所述策略的当前版本,操作系统加载器104确保所述策略的当前版本不会被所述策略的较老版本替换。虽然作为受信赖的实体的策略发行者使得所述策略的较老版本可获得,但是所述策略的较老版本不会具有包括所述策略当前版本的祖先列表,并且因此操作系统加载器104将不会用策略的较老版本替换策略的当前版本。
另外,在一个或多个实施例中,只有当由预操作系统环境信赖(例如,由操作系统加载器104和/或固件102信赖)的实体(例如装置100的用户或其他受信赖的实体)批准改变时,才由操作系统加载器104执行策略记录114的改变。当所述实体是装置100的用户时,操作系统加载器104提示装置100的用户批准所述改变,例如通过在装置100(或耦合到装置100)的屏幕上显示可视提示、在装置100(或耦合到装置100)的扬声器上播放可听得见的提示等。所述用户可以通过提供各种不同的输入来批准所述策略的改变,例如按压按钮或键、触摸屏幕的特定部分、提供可听得见的输入等。操作系统加载器104负责验证所述输入是接收自装置100的用户(例如,接收自装置100的键盘、触摸屏、麦克风等),而不是远程装置(例如,验证所述用户输入接收自键的按压或本地麦克风,而不是从远程装置接收的请求)。因此,在这种情形中,只有当用户存在于装置100处并且用户批准所述改变时,才可以执行策略记录114的改变-装置100的恶意装置或恶意部件无法批准这样的改变。
当所述实体是由所述预操作系统环境信赖的另一个实体(而非用户)时,通过所述实体对策略记录114的改变进行数字签名。操作系统加载器104验证所述数字签名,并且只有当所述数字签名被验证为来自所述预操作系统环境信赖(例如,操作系统加载器104信赖)的实体时,才执行策略记录114的改变。如果不验证所述数字签名,则不进行策略记录114的改变。
在一个或多个实施例中,策略记录114中的策略具有关联的时间戳(例如,日期和时间)。与策略相关联的时间戳可以被包括作为所述策略的一部分,或者另选地,可以分别保存。例如,操作系统加载器104可以保存策略标识符和时间戳的单独记录,并且以安全方式保存这个记录(例如,以各种不同安全方式,其与以上关于以安全方式保存策略记录114中的策略的那些讨论类似)。
操作系统加载器104可以在确定是否改变策略记录114(例如,在确定所述策略的新的版本是否真正是所述策略当前版本的更新的版本)中使用这些时间戳。策略发行者可能打算用策略的新的版本替换策略的一个版本,对于所述策略的两个版本使用相同的策略标识符,但是使用不同的时间戳。操作系统加载器104检查策略的新的版本(并且可选地,改变策略的请求)是否来自作为受信赖的实体的策略发行者,并且检查策略的新的版本是否比策略的当前版本具有更近的时间戳。如果策略的新的版本来自作为受信赖的实体的策略发行者,并且策略的新的版本比所述策略的当前版本具有更近的时间戳,则操作系统加载器104用策略的新的版本替换策略的当前版本。否则,操作系统加载器104不会用策略的新的版本替换策略的当前版本。因为策略的当前版本和策略的新的版本具有相同的策略标识符,所以确定是否用策略的新的版本替换策略的当前版本是根据各个策略版本的时间戳,而不是策略的新的版本的祖先列表。
同类似地,策略记录114中的策略可以具有由所述策略发行者分配的关联的版本号。对于策略的每个新的版本递增策略的版本号(或在集合中选择下一个版本号)。可以与时间戳类似地使用版本号,但是它们只是号(和/或其他特征),而不是时间戳。
另选地,操作系统加载器104在确定是否改变策略记录114时无需使用时间戳和/或版本号。在这种情形中,如果策略发行者打算用策略的新的版本替换策略的版本,则策略发行者为所述策略的两个版本使用不同的策略标识符,并且将待替换的策略版本的策略标识符包括在所述策略的新的版本的祖先列表中。
在一个或多个实施例中,策略记录114的改变还包括由操作系统加载器104在引导过程期间写入的值。对于策略中的特定配置设置,操作系统加载器104在所述引导过程期间捕获装置100中的一个或多个当前值或设置。将这些捕获的值或设置存储为策略的一部分(或关联到所述策略),并且视为装置100后续引导时将满足的策略的一部分。相应地,在装置100的后续引导时,操作系统加载器104验证操作系统配置值112是否满足这些捕获的设置或值。
可以以不同方式识别出在引导过程期间要捕获哪些设置的当前值或设置。例如,策略可以包括设置,指示在所述引导过程期间由操作系统加载器104捕获且存储的特定值。作为另一个示例,可以用在所述引导过程期间由操作系统加载器104捕获且存储的哪些特定值的指示来配置(或编程)操作系统加载器104,或者操作系统加载器104可以获得所述指示。作为另一个示例,操作系统加载器104可以检测装置100的安全性何时变得更稳固或得到改进(例如,何时安装反恶意软件程序,何时安装隔火墙程序等),并且可以捕获和存储与更稳固的或得到改进的安全性相关联的值或设置(例如,捕获和存储反恶意软件程序的指示)。
由于可以多次引导装置100,可以以不同方式识别出这些多个引导过程的哪一个是在其持续时间内要捕获并存储值的那个引导过程。可以在装置100第一次被引导期间捕获和存储这些值,而不需要该值已经被捕获和存储(或者如果找不到任何值已经被捕获和存储)。另选地,可以用在装置100的哪次引导时捕获和存储所述值的指示来配置(例如,编程)操作系统加载器104,或者操作系统加载器104可以获得所述指示。另选地,策略记录114中的策略可以包括要在装置100的哪次引导时捕获和存储所述值的指示。
另选地,可以接收用户输入,所述用户输入指示操作系统加载器104捕获和存储所述值(例如,在当前引导过程期间或在装置100的下次引导时)。可以以不同方式提供所述用户输入,例如通过所述用户按压按钮或键、触摸屏幕的特定部分、提供可听得见的输入等。操作系统加载器104负责验证所述输入是接收自装置100的用户而不是远程装置(例如,验证所述用户输入接收自键的按压或本地麦克风,而不是从远程装置接收的请求)。因此,在这种情形中,只有当用户存在于装置100处并且用户批准这种捕获和存储时,才可以执行捕获和存储所述值的请求-装置100的恶意装置或恶意部件无法批准这种值的捕获和存储。
图3是图示依据一个或多个实施例的用于保护操作系统配置值的示例性过程300的流程图。由装置(例如图1的装置100)执行过程300,并且可以以软件、固件、硬件或它们的组合来实现过程300。在将操作系统运行在装置上之前,将过程300作为所述装置上的预操作系统环境的一部分而执行。将过程300表示为动作的集合,并且不局限于所示的执行各种动作的操作的次序。过程300是用于保护操作系统配置值的示例性过程;在本文中包括参照不同附图对保护操作系统配置值的另外的讨论。
在过程300中,获得识别操作系统的配置设置和/或值的策略(动作302)。可以由操作系统加载器改变所述策略,但是如上所讨论的,所述操作系统被阻止改变所述策略。
将策略与由操作系统使用的配置值进行比较(动作304),并且进行关于由所述操作系统使用的所述配置值是否满足所述策略的检查(动作306)。如上所讨论的,可以以各种不同方式确定由所述操作系统使用的配置值是否满足所述策略。
如果配置值满足所述策略,则允许所述操作系统用这些配置值进行引导(动作308)。然而,如果所述配置值没有满足所述策略,则采取响应动作(动作310)。如上所讨论的,可以采取各种不同的响应动作。
图4是图示依据一个或多个实施例的用于改变装置中的策略的示例性过程400的流程图。由装置(例如图1的装置100)执行过程400,并且可以以软件、固件、硬件或它们的组合来实现过程400。在将操作系统运行在所述装置上之前,将过程400作为所述装置上的预操作系统环境的一部分而执行。将过程400表示为动作的集合,并且不局限于所示的执行各种动作的操作的次序。过程400是用于改变装置中的策略的示例性过程;在本文中包括参照不同附图对装置中改变策略的另外的讨论。
在过程400中,接收识别操作系统的配置设置和/或值的策略的改变,为了执行或运行所述操作系统而将由所述操作系统的配置值满足所述操作系统的配置设置和/或值(动作402)。如上所讨论的,阻止所述操作系统改变所述策略。
进行关于所述策略的改变是否被受信赖的实体批准的检查(动作404)。如上所讨论的,这种受信赖的实体是所述预操作系统环境(例如,操作系统加载器)信赖的实体,并且可以通过提示所述用户批准所述改变、或者验证所述改变是否被受信赖的实体进行数字签名来进行这个检查。如果改变未被受信赖的实体批准,则不改变所述策略。然而,如果改变被受信赖的实体批准,则依据在动作402接收的所述改变来改变所述策略(动作406)。如上所讨论的,除了受信赖的实体的批准之外,在改变所述策略之前,还可以执行各种其他的验证或检查,例如检查时间戳、祖先列表等。
本文讨论的保护操作系统配置值技术支持各种使用场景。例如,操作系统配置值和策略可以指示来自多个制造商或开发者之一的反恶意软件程序将运行在装置上,并且将不会在所述装置上加载和运行所述操作系统,除非这种反恶意软件程序正在所述装置上运行。如果恶意程序试图修改操作系统配置值以指示为了加载和运行所述操作系统而没有必要运行反恶意软件程序,则下次引导所述装置时,操作系统加载器部件将检测到所述操作系统配置值没有满足所述策略,并且因此在没有所述反恶意软件程序的情况下就不加载和运行所述操作系统。
作为另一个示例,可以从制造商或经销商用默认的操作系统策略装运(ship)装置。所述装置的购买方可能期望在企业环境中使用所述装置(例如,作为公司网络或家庭网络的一部分),并且具有他或她期望代替所述默认操作系统策略而被使用的企业策略。与所述默认操作系统策略相比,这个企业策略可以具有不同的安全相关的设置等,并且所述企业策略具有包括所述默认操作系统策略标识符的祖先列表。企业环境的管理员可以是受信赖的实体,并且在所述企业策略上生成提供给所述操作系统加载器的数字签名。由于由受信赖的实体对所述企业策略进行签名,并且在它的祖先列表上识别所述默认操作系统,所以所述企业策略替换策略记录中的所述默认操作系统策略。然而,随后的默认操作系统策略不会意外地替换所述企业策略,因为所述随后的默认操作系统策略不能在它祖先列表上识别所述企业策略。
图5图示了依据一个或多个实施例的可以被配置为实现所述保护操作系统配置值的示例性计算装置500。例如,计算装置500可以是图1的装置100,或者运行实现该装置100的虚拟机。
计算装置500包括一个或多个处理器或处理单元502、可以包括一个或多个内存和/或存储部件506的一个或多个计算机可读介质504、一个或多个输入/输出(I/O)装置508、以及允许各种部件和装置彼此间通信的总线510。计算机可读介质504和/或一个或多个I/O装置508可以被包括作为计算装置500的一部分,或者可选地可以耦合到计算装置500。总线510表示若干类型总线结构的一个或多个,包括使用各种不同总线体系结构的存储器总线或存储器控制器、外围总线、加速图形端口、处理器或本地总线等。总线510可以包括有线和/或无线总线。
内存/存储部件506表示一个或多个计算机存储介质。部件506可以包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如只读存储器(ROM)、闪速存储器、光盘、磁盘等)。部件506可以包括固定介质(例如,RAM、ROM、固定硬盘等)以及可拆卸介质(例如,闪速存储器驱动器、可拆卸硬盘驱动器、光盘等)。
可以以软件用由一个或多个处理单元502执行的指令实现本文所讨论的技术。将意识到,可以将不同的指令存储在计算装置500的不同部件中,例如,存储在处理单元502中、存储在处理单元502的各种高速缓冲存储器中、存储在装置500的高速缓冲存储器(未示出)中、存储在其他计算机可读介质上等。另外,将意识到,计算装置500中存储指令的位置可以随着时间而改变。
一个或多个输入/输出装置508允许用户将命令和信息输入到计算装置500,并且还允许将信息呈现给用户和/或其他部件或装置。输入装置的示例包括键盘、光标控制装置(例如,鼠标)、麦克风、扫描仪等。输出装置的示例包括显示装置(例如,监视器或投影仪)、扬声器、打印机、网卡等。
本文可以在软件或程序模块的通常上下文中描述各种技术。通常,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、应用、对象、部件、数据结构等。这些模块和技术的实现方式可以存储在某种形式的计算机可读介质上,或者通过所述某种形式的计算机可读介质传送。计算机可读介质可以是由计算装置可以访问的任何可用的媒介或介质。作为示例而不是限制,计算机可读介质可以包含“计算机存储介质”和“传播介质”。
“计算机存储介质”包括以任何用于存储信息的方法或技术实现的易失性和非易失性的、可拆卸和不可拆卸的介质,所述信息例如为,计算机可读指令、数据结构、程序模块或其他数据。计算机存储介质包括,但不局限于,RAM、ROM、EEPROM、闪速存储器或其他存储技术、CD-ROM、数字多用光盘(DVD)或其他光存储器、磁带盒、磁带、磁盘存储器或其他磁存储装置、或可用于存储期望的信息并且可由计算机访问的任何其他介质。
典型地,“传播介质”具体化计算机可读指令、数据结构、程序模块、或已调数据信号中的其他数据,例如载波或其他传送机构。传播介质还包括任何信息分发介质。术语“已调数据信号”是指已经设置或改变其一个或多个特征的信号,用这种方式以将信息编码到所述信号中。作为示例而不是限制,传播介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声波、RF、红外线、以及其他无线介质)。上述任意一个的组合也被包括在计算机可读介质的范围内。
通常,可使用软件、固件、硬件(例如,固定逻辑电路)、手动处理、或这些实施的组合来实现本文所描述的任一功能或技术。本文所使用的术语“模块”和“部件”通常表示软件、固件、硬件或它们的组合。在软件实现方式的情况下,模块或部件表示当在处理器(例如,一个或多个CPU)上执行时,执行指定任务的程序代码。所述程序代码可以存储在一个或多个计算机可读存储装置中,参照图5可以得到其进一步的描述。本文所描述的保护操作系统配置值技术的特征是平台独立的,这意味着可以在具有各种处理器的各种商业计算平台上实现所述技术。
虽然已经以具体到结构特征和/或方法动作的表达方式描述了本主题,但是将理解的是,在附加的权利要求书中限定的主题没有必要局限于以上所述的具体特征或动作。相反,将以上描述的具体特征和动作作为实现权利要求书的示例形式而公开。

Claims (9)

1.一种保护操作系统的配置值的方法,包括:
在装置上的预操作系统环境中,在将操作系统运行在所述装置上之前,获得识别一个或多个操作系统的配置设置的策略,所述预操作系统的部件被允许改变所述策略而所述操作系统被阻止改变所述策略;
在所述预操作系统环境中,将所述策略与由所述操作系统使用的配置值进行比较;
在所述预操作系统环境中,如果所述配置值满足所述策略,则允许所述操作系统用所述配置值进行引导;以及
在所述预操作系统环境中,如果所述配置值没有满足所述策略,则采取响应动作,所述策略针对不同的配置值识别不同的响应动作,其中至少一个响应动作是请求用户批准当前的操作系统配置值的提示,所述提示包括为了满足所述策略,所述配置值应该是什么的指示;以及
每次所述装置被引导时,执行所述获得和所述比较,以及所述允许或所述采取。
2.如权利要求1所述的方法,为了允许引导所述操作系统,所述策略还识别所述预操作系统环境将满足的配置设置。
3.如权利要求1所述的方法,所述方法还包括:
在所述预操作系统环境中,捕获所述策略的配置设置的值;
将所捕获的值存储为所述策略的一部分;以及
将所捕获的值用作所述装置的随后引导的策略的策略设置的一部分。
4.如权利要求1所述的方法,所述方法还包括:只有当策略的新的版本来自作为受信赖的实体的策略发行者并且当策略的新的版本被确定为策略的更新的版本时,才允许由所述策略的新的版本替换所述策略。
5.如权利要求4所述的方法,所述方法还包括:如果所述策略的标识符包括在所述策略的新的版本的祖先列表中,则确定所述策略的新的版本是所述策略的更新的版本。
6.如权利要求1所述的方法,其中,所述预操作系统环境是运行在计算装置上的虚拟机的预操作系统环境。
7.如权利要求1所述的方法,其中,以安全的方式保存所述策略,在所述安全的方式中,所述预操作系统环境的部件可以改变所述策略,但是所述操作系统被阻止改变所述策略。
8.一种计算装置,所述计算装置包括:
一个或多个处理器;以及
一个或多个计算机可读介质,在其上存储多个指令,所述多个指令当由所述一个或多个处理器执行时,使得所述一个或多个处理器实施所述计算装置的预操作系统环境,其执行动作,包括:
接收识别配置设置的策略的改变,为了在所述计算装置上执行所述操作系统而由所述操作系统的配置值满足所述配置设置,所述操作系统被阻止改变所述策略,响应于所述配置值没有满足所述策略,所述策略进一步针对特定的配置值识别特定的响应动作,其中两个或更多不同的配置值具有不同的响应动作,其中所述响应动作中的至少一个是请求用户批准当前的操作系统配置值的提示,所述提示包括为了满足所述策略,所述配置值应该是什么的指示;
在所述计算装置处,检查对于策略的改变是否被所述预操作系统环境信赖的实体批准;以及
只有对于策略的改变被所述预操作系统环境信赖的所述实体批准时,才改变所述策略。
9.如权利要求8所述的计算装置,其中,以所述操作系统难以访问的安全方式保存所述策略。
CN201210051206.8A 2011-03-01 2012-03-01 保护操作系统配置值 Active CN102693379B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/037962 2011-03-01
US13/037,962 US9256745B2 (en) 2011-03-01 2011-03-01 Protecting operating system configuration values using a policy identifying operating system configuration settings

Publications (2)

Publication Number Publication Date
CN102693379A CN102693379A (zh) 2012-09-26
CN102693379B true CN102693379B (zh) 2016-12-14

Family

ID=46754046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210051206.8A Active CN102693379B (zh) 2011-03-01 2012-03-01 保护操作系统配置值

Country Status (6)

Country Link
US (2) US9256745B2 (zh)
EP (1) EP2681689B1 (zh)
JP (1) JP5992457B2 (zh)
KR (1) KR101888712B1 (zh)
CN (1) CN102693379B (zh)
WO (1) WO2012118984A2 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256745B2 (en) 2011-03-01 2016-02-09 Microsoft Technology Licensing, Llc Protecting operating system configuration values using a policy identifying operating system configuration settings
TWI607376B (zh) * 2011-04-08 2017-12-01 系微股份有限公司 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法
WO2013048422A1 (en) * 2011-09-30 2013-04-04 Hewlett-Packard Development Company, L.P. Virtualized device control in computer systems
US9317689B2 (en) 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
US9984250B2 (en) * 2012-06-22 2018-05-29 Microsoft Technology Licensing, Llc Rollback protection for login security policy
US9092233B2 (en) * 2012-09-07 2015-07-28 Apple Inc. Accessory booting over USB
US9164773B2 (en) * 2012-09-21 2015-10-20 Dell Products, Lp Deciding booting of a server based on whether its virtual initiator is currently used by another server or not
US9235710B2 (en) 2013-05-23 2016-01-12 Cisco Technology, Inc. Out of band management of basic input/output system secure boot variables
US9167002B2 (en) * 2013-08-15 2015-10-20 Microsoft Technology Licensing, Llc Global platform health management
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
US20150121054A1 (en) * 2013-10-31 2015-04-30 Advanced Micro Devices, Inc. Platform Secure Boot
US20150172120A1 (en) * 2013-12-12 2015-06-18 Commvault Systems, Inc. Managing non-conforming entities in information management systems, including enforcing conformance with a model entity
US10049216B2 (en) * 2014-02-06 2018-08-14 Intel Corporation Media protection policy enforcement for multiple-operating-system environments
JP5889933B2 (ja) * 2014-02-15 2016-03-22 レノボ・シンガポール・プライベート・リミテッド コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ
US11048778B2 (en) 2014-06-13 2021-06-29 Artis Solutions Co., Ltd Application program
US9792305B1 (en) * 2014-10-30 2017-10-17 Amazon Technologies, Inc. System for controlling access to stored values
US9563765B2 (en) * 2015-02-10 2017-02-07 Apple Inc. Baseband secure boot with remote storage
US10803175B2 (en) * 2015-03-06 2020-10-13 Microsoft Technology Licensing, Llc Device attestation through security hardened management agent
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10467418B2 (en) * 2015-08-28 2019-11-05 Ncr Corporation Computer pre-boot security verification, enforcement, and remediation
US10803437B2 (en) * 2015-08-28 2020-10-13 Ncr Corporation Self-service terminal technical state monitoring and alerting
GB2545010B (en) * 2015-12-03 2018-01-03 Garrison Tech Ltd Secure boot device
US10917239B2 (en) * 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
CN106528201B (zh) * 2016-10-10 2019-12-13 网易(杭州)网络有限公司 游戏中加载动画的方法和装置
KR20190103292A (ko) * 2017-01-04 2019-09-04 게르하르트 슈바르츠 비대칭 시스템 및 네트워크 아키텍쳐
US10389594B2 (en) * 2017-03-16 2019-08-20 Cisco Technology, Inc. Assuring policy impact before application of policy on current flowing traffic
US10467416B2 (en) * 2017-06-16 2019-11-05 International Business Machines Corporation Securing operating system configuration using hardware
KR102434444B1 (ko) * 2017-11-29 2022-08-19 한국전자통신연구원 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치
US10719606B2 (en) * 2018-02-23 2020-07-21 Infineon Technologies Ag Security processor for an embedded system
US10482253B2 (en) * 2018-03-30 2019-11-19 Dell Products L. P. Configuring basic input output system (BIOS) features based on a policy
US11150911B2 (en) 2018-06-15 2021-10-19 Dell Products, L.P. System and method for managing UEFI boot device path based on custom selection
US11303523B2 (en) * 2018-09-24 2022-04-12 Microsoft Technology Licensing, Llc Cloud-based service policy reroute
FR3096153B1 (fr) * 2019-05-17 2021-04-23 Psa Automobiles Sa Procédé et dispositif de retour à un état précédent une mise à jour logicielle d’un calculateur d’un véhicule à distance
US12003371B1 (en) * 2022-12-13 2024-06-04 Sap Se Server configuration anomaly detection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004504648A (ja) * 1999-12-10 2004-02-12 マイクロソフト コーポレイション クライアント側のブートドメインおよびブート規則

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487656B1 (en) 1999-12-10 2002-11-26 Phoenix Technologies Ltd. System and method for providing functionalities to system BIOS
US7293087B2 (en) * 2000-01-21 2007-11-06 Scriptlogic Corporation Event-based application for performing configuration changes in a networked environment
US6792556B1 (en) 2000-05-31 2004-09-14 Dell Products L.P. Boot record recovery
US6941355B1 (en) 2000-09-08 2005-09-06 Bbnt Solutions Llc System for selecting and disseminating active policies to peer device and discarding policy that is not being requested
US7281125B2 (en) * 2001-08-24 2007-10-09 Lenovo (Singapore) Pte. Ltd. Securing sensitive configuration data remotely
US20030061494A1 (en) 2001-09-26 2003-03-27 Girard Luke E. Method and system for protecting data on a pc platform using bulk non-volatile storage
US7216369B2 (en) 2002-06-28 2007-05-08 Intel Corporation Trusted platform apparatus, system, and method
US7017039B2 (en) * 2002-12-31 2006-03-21 John Alan Hensley Method of booting a computer operating system to run from a normally unsupported system device
US20040255106A1 (en) 2003-06-10 2004-12-16 Rothman Michael A. Recovery of operating system configuration data by firmware of computer system
US7117348B2 (en) * 2003-06-27 2006-10-03 American Megatrends, Inc. Method and system for detecting the validity of configuration data
JP4574161B2 (ja) * 2003-11-17 2010-11-04 キヤノン株式会社 通信装置、その制御方法およびプログラム
US20050114687A1 (en) 2003-11-21 2005-05-26 Zimmer Vincent J. Methods and apparatus to provide protection for firmware resources
US7546640B2 (en) 2003-12-10 2009-06-09 International Business Machines Corporation Fine-grained authorization by authorization table associated with a resource
US7363482B2 (en) 2004-03-03 2008-04-22 Intel Corporation Method and apparatus to support remote configuration code
JP4772291B2 (ja) * 2004-04-09 2011-09-14 富士通株式会社 セキュリティ機能を備えた情報処理装置
US7631175B2 (en) * 2006-02-21 2009-12-08 Microsoft Corporation Control protocol for image enumeration and transfer
US7546448B2 (en) * 2006-02-21 2009-06-09 Microsoft Corporation Boot architecture discovery in pre-boot environment
US20070235517A1 (en) * 2006-03-30 2007-10-11 O'connor Clint H Secure digital delivery seal for information handling system
US7886190B2 (en) 2006-09-29 2011-02-08 Intel Corporation System and method for enabling seamless boot recovery
US8131986B2 (en) 2006-09-29 2012-03-06 Lenovo (Singapore) Pte. Ltd. System and method for boot loading of programs within a host operating environment having one or more linked guest operating systems
US7743242B2 (en) * 2006-10-16 2010-06-22 Scalent Systems Inc. Method and system for automatic generation of operating system boot images
US7822960B2 (en) 2006-12-22 2010-10-26 Intel Corporation Platform management processor assisted resume
US7805598B2 (en) 2007-05-03 2010-09-28 Dell Products L.P. Auto-detecting and auto-correcting system state changes before booting into operating systems
US7836309B2 (en) 2007-07-20 2010-11-16 Microsoft Corporation Generic extensible pre-operating system cryptographic infrastructure
US7779305B2 (en) * 2007-12-28 2010-08-17 Intel Corporation Method and system for recovery from an error in a computing device by transferring control from a virtual machine monitor to separate firmware instructions
US8259948B2 (en) * 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
US8166516B2 (en) 2008-03-27 2012-04-24 Microsoft Corporation Determining effective policy
US8185727B2 (en) * 2008-04-24 2012-05-22 Dell Products, Lp Method of using an information handling system having a boot file, and an information handling system and machine-executable code for carrying out the method
US20090271606A1 (en) * 2008-04-28 2009-10-29 Kabushiki Kaisha Toshiba Information processing device and information processing system
US20090327741A1 (en) 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
JP2010020570A (ja) * 2008-07-11 2010-01-28 Hitachi Ltd 情報処理システム及びデータ回復方法
US8095799B2 (en) * 2008-07-28 2012-01-10 Apple Inc. Ticket authorized secure installation and boot
US8131987B2 (en) * 2008-12-10 2012-03-06 Dell Products L.P. Virtual appliance pre-boot authentication
US8694761B2 (en) 2008-12-31 2014-04-08 Vincent Zimmer System and method to secure boot both UEFI and legacy option ROM's with common policy engine
US8588422B2 (en) 2009-05-28 2013-11-19 Novell, Inc. Key management to protect encrypted data of an endpoint computing device
US8250273B2 (en) * 2009-09-14 2012-08-21 International Business Machines Corporation Secure handling and routing of message-signaled interrupts
US8402553B2 (en) * 2009-10-30 2013-03-19 International Business Machines Corporation Updating an operating system of a computer system
US8667263B2 (en) * 2010-02-12 2014-03-04 The Johns Hopkins University System and method for measuring staleness of attestation during booting between a first and second device by generating a first and second time and calculating a difference between the first and second time to measure the staleness
CN102236621B (zh) * 2010-04-28 2014-12-24 国网浙江富阳市供电公司 计算机接口信息配置系统及方法
US8566574B2 (en) * 2010-12-09 2013-10-22 International Business Machines Corporation Secure encrypted boot with simplified firmware update
US9256745B2 (en) 2011-03-01 2016-02-09 Microsoft Technology Licensing, Llc Protecting operating system configuration values using a policy identifying operating system configuration settings

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004504648A (ja) * 1999-12-10 2004-02-12 マイクロソフト コーポレイション クライアント側のブートドメインおよびブート規則

Also Published As

Publication number Publication date
WO2012118984A2 (en) 2012-09-07
KR101888712B1 (ko) 2018-08-14
JP5992457B2 (ja) 2016-09-14
WO2012118984A3 (en) 2013-01-31
EP2681689B1 (en) 2017-04-19
US20120226895A1 (en) 2012-09-06
JP2014507043A (ja) 2014-03-20
US9256745B2 (en) 2016-02-09
EP2681689A2 (en) 2014-01-08
KR20140016280A (ko) 2014-02-07
EP2681689A4 (en) 2014-08-06
US9424431B2 (en) 2016-08-23
US20160012234A1 (en) 2016-01-14
CN102693379A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
CN102693379B (zh) 保护操作系统配置值
CN102279760B (zh) 利用初始保护组件来进行设备引导
KR100737628B1 (ko) 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션
US8909940B2 (en) Extensible pre-boot authentication
CN1801091B (zh) 用可信处理模块安全地引导计算机的系统和方法
US8549313B2 (en) Method and system for integrated securing and managing of virtual machines and virtual appliances
JP4116024B2 (ja) ペリフェラルの使用管理方法、電子システム及びその構成装置
US8201239B2 (en) Extensible pre-boot authentication
US10650139B2 (en) Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
CN111723383B (zh) 数据存储、验证方法及装置
US8886964B1 (en) Protecting remote asset against data exploits utilizing an embedded key generator
CN109313690A (zh) 自包含的加密引导策略验证
US20050021968A1 (en) Method for performing a trusted firmware/bios update
CN102884535A (zh) 受保护装置管理
US9940146B2 (en) Controlling the configuration of computer systems
US11727115B2 (en) Secured computer system
US8656190B2 (en) One time settable tamper resistant software repository
CN114651253A (zh) 用于策略强制实施的虚拟环境类型验证
US12019752B2 (en) Security dominion of computing device
CN114091027A (zh) 信息配置方法、数据访问方法及相关装置、设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150617

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150617

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant