用于运行不可信代码的框架的制作方法

文档序号:9583626阅读:459来源:国知局
用于运行不可信代码的框架的制作方法
【专利说明】用于运行不可信代码的框架
[0001] 背景
[0002] 在一种技术中,测试框架可通过在虚拟机上运行不可信代码来对其进行测试。虚 拟机所提供的抽象防止不可信代码伤害主存该虚拟机的底层系统。然而,在一些情况下,可 能期望在不采用虚拟机抽象的情况下在物理系统本身上运行不可信代码。例如,在一些情 况下,底层物理系统可能不支持(或可能不能容易地支持)使用虚拟机或模拟器。例如,使 用基于ARM技术的物理系统(诸如智能手机等)目前并不容易容许虚拟机的使用。替代地 或附加地,物理系统内的一些硬件特征(诸如数据执行防止技术)不能完全由虚拟机或模 拟器来抽象。
[0003] 概述
[0004] 此处描述了一种用于直接在物理系统的资源上执行任务的处理平台。在这样做 时,处理平台提供与虚拟机相同类型的隔离保证,但是不使用虚拟机。
[0005] 在一种方法中,处理平台可通过使用两个文件系统来实现上述结果,每一个文件 系统可被加载以运行一个操作系统(0S)。第一文件系统使用文件保护机制来提供第一、安 全版本的0S。第二文件系统提供第二、非安全版本的0S。在操作中,能够访问第一 0S的代 理首先执行检查来确保第二0S未被破坏。处理平台随后存储第二0S的状态,引导到第二 0S,并且使用第二0S的资源来执行任务。处理平台随后引导回到第一 0S以检索任务的结 果,随后将第二文件系统还原到其先前的干净状态。
[0006] 凭借使用文件保护机制,处理平台可确保运行在第二非安全0S上的任务不能损 害第一安全0S所执行的操作。借助还原第二文件系统,处理平台可确保任务所产生的任何 有害效果都不会损害第二文件系统;此外,这一结果可在不执行从头开始重新安装任何0S 的昂贵操作的情况下实现。
[0007] 第二文件系统可以各种方式存储第二0S的干净状态并在稍后还原到该干净状 态。在一种方法中,第二文件系统提供使用虚拟硬盘(VHD)来实现的父0S,并且随后产生差 分盘来存储对第二文件系统所作的改动。第二文件系统通过在任务被执行之后丢弃差分盘 来还原干净状态。在另一种方法中,第二文件系统使用状态存储机制来存储第二0S在其干 净状态下的快照。第二文件系统使用第二0S的资源来运行测试,并且随后使用所存储的快 照来基于该快照将第二0S还原到其干净状态。
[0008] 此处还描述了包括两个或更多个处理平台以及用于管理处理平台所执行的操作 的控制系统的处理框架。
[0009] 上面的方法可以显现在各种类型的系统、组件,方法、计算机可读存储介质、数据 结构、图形用户界面呈现、制品等等中。
[0010] 提供本概述以便以简化形式介绍一些概念;这些概念将在以下的详细描述中进一 步描述。本
【发明内容】
并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于 限制所要求保护主题的范围。
[0011] 附图简述
[0012] 图1示出用于在一个或多个处理平台上执行任务的说明性处理框架。每个处理平 台使用用于提供操作系统(os)的安全版本的第一文件系统以及用于提供OS的不安全版本 的第二文件系统。
[0013] 图2示出用于实现第一和第二文件系统的存储设备。
[0014] 图3是示出由图1的处理框架执行的说明性操作序列的流程图。
[0015] 图4示出了实现图1的第二文件系统的一种方式。图4还示出了描述第二文件系 统的这一实现的一种操作方式的流路径。
[0016] 图5示出了实现图1的第二文件系统的另一种方式。图5还示出了描述第二文件 系统的这一实现的一种操作方式的流路径。
[0017] 图6示出其中可使用图1的处理框架的一种环境。
[0018] 图7是示出图1的处理框架的一种操作方式的流程图。
[0019] 图8示出了可以被用来实现前面的附图中所示出的特征的任何方面的说明性计 算功能。
[0020] 贯穿本公开和各附图,相同的编号参考相同的组件和特征。100系列标号指的是最 初在图1中所找到的特征,200系列的标号指的是最初在图2中找到的特征,300系列的标 号指的是最初在图3中找到的特征,依此类推。
[0021] 详细描述
[0022] 本发明是按如下方式来组织的。章节A描述了用于在物理系统上执行任务的说明 性功能,该功能提供与虚拟机相同的隔离保证但是不使用虚拟机。章节B阐述了解释章节 A的功能的操作的说明性方法。章节C描述了可以被用来实现章节A和B中所描述的特征 的任何方面的说明性计算功能。
[0023] 作为预备,一些附图在被不同地称为功能、模块、特征、元素等的一个或多个结构 组件的上下文中描述概念。附图中示出的各组件可以通过任何物理和有形机制用各种方式 来实现,例如通过运行在计算机装备上的软件、硬件(例如,芯片实现的逻辑功能)等、和/ 或它们的任意组合。在一种情况下,附图中所示出的将各种组件分离为不同的单元可以反 映在实际实现中使用对应的不同的物理和有形的组件。另选地或者另外地,附图中所示出 的任何单个组件都可以通过多个实际物理组件来实现。另选地或另外地,附图中的任何两 个或更多分开组件的描绘可以反映单个实际物理组件所执行的不同功能。图8(将依次讨 论)提供关于附图中所示的功能的一个说明性物理实现的附加细节。
[0024] 其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成以某一顺 序执行的不同的框。这些实现是说明性而非限制性的。此处描述的某些框可被分组在一起 并在单个操作中执行,某些框可被分成多个组件框,并且某些框可以按与此处所示出的不 同的次序来执行(包括以并行方式执行这些框)。流程图中示出的框可以任何方式由任何 物理和有形机制来实现,例如由正在计算机装备上运行的软件、硬件(如芯片实现的逻辑 功能)等和/或它们的任何组合来实现。
[0025] 至于术语,短语"被配置成"包含任何类型的物理和有形的功能可以被构建来执行 已标识的操作的任何方式。功能可以被配置成使用例如正在计算机装备上运行的软件、硬 件(例如,芯片实现的逻辑功能)等和/或其任何组合来执行操作。
[0026] 术语"逻辑"包含用于执行任务的任何物理和有形的功能。例如,流程图中示出的 每一个操作都对应于用于执行该操作的逻辑组件。操作可以使用例如正在计算机装备上运 行的软件、硬件(例如,芯片实现的逻辑功能)等和/或其任何组合来执行操作。在由计算 装备实现时,逻辑组件表示作为计算系统的物理部分的、无论如何实现的电子组件。
[0027] 下列的阐述可以将一个或多个特征标识为"可任选的"。这种类型的陈述不应该被 解读为可以被视为可选的特征的穷尽的指示;也就是说,其他特征也可以被视为可选,虽然 在文本中没有明确地标识。最后,术语"示例性"或"说明性"指的是可能的许多实现中的 一个实现。
[0028] A.说明性处理框架
[0029] 图1示出用于在一个或多个处理平台上执行任务的说明性处理框架102,诸如代 表性处理平台104。任务可涉及出于任何原因执行一个或多个计算机程序。例如,任务可 涉及执行对于不可信代码(诸如提交到市场的应用(app))的一个或多个测试;这一场景将 (在以下)参照图6更详细地描述。
[0030] 处理框架102可包括控制系统106,该控制系统106管理在一个或多个处理平台上 执行的操作。例如,控制系统106可调度要由各个处理平台执行的任务。控制系统106还 可收集各个处理平台所执行的任务的结果。
[0031] 控制系统106可被实现为一个或多个计算机设备,这些计算机设备被提供在相对 于处理平台套件的本地或远程位置。例如,控制系统106可对应于由一个或多个服务器实 现的远程功能,处理平台经由任何网络108 (诸如本地局域网、广域网(例如因特网)、一个 或多个点对点链路等)与服务器通信。更具体地,控制系统106可经由加密信道(诸如代 表性的加密信道110)与每一个处理平台交互。加密信道110可以各种方式实现,诸如通过 使用传输层安全(TLS)机制等。
[0032] 代表性处理平台104可包括用于加载来自不同文件系统的操作系统(0S)的引导 管理器112。更具体地,引导管理器112可加载由第一文件系统116提供的第一 0S114,或 者由第二文件系统120提供的第二0S118。引导管理器112基于引导数据存储122中提供 的引导控制数据来作出这一选择。例如,默认地,引导管理器112可尝试加载由第一文件系 统116提供的第一 0S114。但是当在引导数据存储122中发现一次性重引导条目时,引导 管理器112可替代地加载由第二文件系统120提供的第二0S118。
[0033] 文件保护机制124保护与第一 0S114相关联的文件。为此,第一 0S114被视为 "安全"或可靠的0S。文件保护机制124可以用不同方式来实现。不作为限制,在一个示例 中,文件保护机制124可被实现为由华盛顿州雷蒙德市的微软公司提供的BitLoeker? 机制,该机制连同可信平台模块(TPM)来操作。
[0034] 更一般地,文件保护机制124可包括用于生成密钥信息的机制126,以及用于存储 该密钥信息的安全数据存储128。文件保护机制124还包括用于使用数据存储128中存储 的密钥信息对第一文件系统116所存储的信息进行加密/解密的加密/解密机制130。机 制130还提供用于在加载第一 0S114之际提供对于第一 0S114的访问的协议。例如,当 引导管理器112尝试加载第一 0S114时,机制130可检查用于启动第一 0S114的过程的 完整性,例如通过将于第一 0S114相关联的配置信息的散列与(与干净状态下的配置信息 的前一快照相关联的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1