基于虚拟化的块内工作负荷隔离的制作方法

文档序号:10663626阅读:325来源:国知局
基于虚拟化的块内工作负荷隔离的制作方法
【专利摘要】本公开一般地提供用于基于虚拟化的块内工作负荷隔离的系统、设备、方法和计算机可读介质。该系统可包括创建安全虚拟化环境或沙箱的虚拟机管理器(VMM)模块。该系统还可包括将数据加载到沙箱的第一区域中并且基于数据生成工作负荷包的处理器块。工作负荷包被存储在沙箱的第二区域中。该系统可进一步包括从工作负荷包取回并执行指令的操作块。
【专利说明】
基于虚拟化的块内工作负荷隔离
技术领域
[0001]本公开涉及块内工作负荷隔离,例如在片上系统(SoC)的组件块上,并且更具体地涉及采用安全性引擎或虚拟机管理器(VMM)的块内工作负荷隔离。
【背景技术】
[0002]诸如例如片上系统(SoC)或其它类型的平台之类的计算系统典型地具有一个或多个处理器或核以及其它操作块或组件,其它操作块或组件可包括设备控制器、图形处理器、音频处理器、通信模块等。这些操作块往往能够以与处理器可执行多个线程的方式类似的方式执行多个工作负荷。在这种情况下可以出现安全性问题。在操作块上执行的不受信工作负荷可以无意或恶意地干扰在相同操作块上的另一个工作负荷的执行(即块内干扰)。例如,在媒体引擎(图形、成像、视频等)上执行的不同工作负荷可能潜在地彼此干扰(无论恶意还是无意),从而破坏工作负荷的正常流或期望的操作。
[0003]虽然访问控制机制对于块间事务和/或块到存储器事务可能是可用的,但是这些技术没有解决块内干扰的问题,随着工业进一步朝着异构计算和并行工作负荷执行前进,块内干扰的问题正变得越来越重要。
【附图说明】
[0004]随着下面的【具体实施方式】的继续进行,并且在参考附图时,要求保护的主题的实施例的特征和优点将变得显而易见,其中相同的附图标记描绘相同的部件,并且在附图中:
图1图示与本公开一致的一个示例性实施例的顶层系统图;
图2图示与本公开一致的一个示例性实施例的框图;
图3图示与本公开一致的一个示例性实施例的操作的流程图;
图4图示与本公开一致的另一个示例性实施例的框图;
图5图示与本公开一致的另一个示例性实施例的操作的流程图;以及图6图示与本公开一致的另一个示例性实施例的平台的系统图。
[0005]虽然下面的【具体实施方式】将继续进行,同时对说明性的实施例进行参考,但是许多替代方案、修改及其变型将对本领域技术人员显而易见。
【具体实施方式】
[0006]通常,本公开提供用于基于虚拟化的块内工作负荷隔离的系统、设备、方法和计算机可读介质。例如片上系统(SoC)的系统可包括处理块(核或CPU)、存储器和一个或多个其它操作块或组件,诸如例如设备控制器、图形处理器(GPU)、音频处理器、成像设备、通信模块等。每个操作块可被配置成执行多个工作负荷。工作负荷可由CPU生成,并且作为工作负荷包被提交给操作块以用于执行。工作负荷可被生成并且安全地存储在存储器中(例如使用基于虚拟化和页表的访问),以包含沙箱中的工作负荷。虚拟机管理器(VMM)或其它类型的安全性引擎可被配置成允许操作块在特定上下文中执行来自沙箱的工作负荷,使得在包括其它沙箱中的其它工作负荷的该操作块上执行的任何其它代码可以不访问该沙箱。因此虚拟化可用于在操作块内提供工作负荷隔离,包括与工作负荷相关联的代码、数据(存储器或寄存器内容)和状态信息的隔离,如以下将更详细地描述的。基于工作负荷执行,VMM还可被配置成允许操作块将结果安全地写回沙箱中。
[0007]图1图示与本公开一致的一个示例性实施例的顶层系统图100。系统102被示为包括许多块或组件,包括处理器104、存储器106、VMM 108和被配置用于工作负荷隔离的一个或多个操作块110-1,...110-n,该系统102可能是固定或移动的片上系统(SoC)或者其它类型的计算或通信平台。
[0008]在一些实施例中,例如互联网服务供应商的第三方实体(未示出)可将请求发送给系统102。为了满足这些请求,处理器104可生成并提交工作负荷给操作块110之一,用于与其它工作负荷一起执行。执行的结果可被返回给第三方实体,并且处理器102可证明由于系统的工作负荷隔离能力的结果的安全性或完整性,如以下将更详细地描述的。
[0009]图2图示与本公开一致的一个示例性实施例的框图200。处理器104可被配置成执行一个或多个进程(或线程),例如进程A 202、进程B 204和进程C 206。这些进程可包括操作系统(OS)、应用程序或任何其它系统或用户软件组件。这些进程202、204、206中的一个或多个可与做出进程的请求的外部或第三方实体(例如互联网服务供应商)通信。最终可以生成的工作负荷的形式将这些请求分派任务给操作块110中的一个或多个,如以下描述的。
[0010]操作块110被示为包括可能是处理器或电路的块引擎214,处理器或电路被配置成执行一个或多个工作负荷,例如工作负荷A 216、工作负荷B218和工作负荷C220。工作负荷可与进程相关联(例如由进程生成或代表进程)。例如,工作负荷A 216可与进程A 202相关联,等等,虽然这无须是这种情况。工作负荷可被彼此分离(例如通过虚拟化硬件支持或其它合适的机制),以提供安全性并且防止在给定的操作块上的工作负荷之间的无意或恶意干扰。
[0011]CPU虚拟化208由VMM 208生成,作为处理器104、进程202、204、206、存储器106和操作块110之间的接口。页表可用作该虚拟化的部分,以在物理和虚拟地址之间变换并维持对与沙箱相关联的存储器106的受保护区域或页210的访问控制(例如读取/写入/执行)。类似地,基于页表和访问控制,设备虚拟化212由VMM 208生成,作为操作块110与处理器104和存储器106之间的接口。
[0012]VMM被配置成提供虚拟化环境,虚拟化环境充当用于工作负荷的安全容器或沙箱。沙箱受到保护以免于托管它的进程,并且受到保护以免于处理器104上的OS和其它进程,使得平台上的恶意软件不可以干扰工作负荷的生成。沙盘还受到保护以免于在操作块上执行的其它工作负荷和软件组件。在一些实施例中,对于包含工作负荷包的沙箱的区域,VMM可将访问控制设置成对于除了沙箱内的代码以外的所有实体不可执行。沙箱从而在操作块内提供工作负荷隔离,包括与工作负荷相关联的代码、数据(存储器或寄存器内容)和状态信息的隔离。
[0013]在一些实施例中,操作块可包括被配置成监视工作负荷的上下文并实施访问控制策略(例如读取/写入/执行许可)的存储器访问控制器。
[0014]图3图示与本公开一致的一个示例性实施例的操作300的流程图。更详细地示出在图的左侧上的处理器104的操作以及在图的右侧上的块110的操作之间的交互。在操作302处,处理器例如从第三方或其它实体接收请求。请求可包括以任何合适格式的代码和/或数据。在操作304处,处理器使用VMM 108或任何其它类型的安全性引擎创建安全虚拟化环境(例如沙箱)。在操作306处,处理器将代码/数据加载到沙箱的区域(或页)中,并且在操作308处例如使用加密技术或任何其它合适的验证机制认证它。在操作310处,基于提供的代码/数据或基于从另一个源获得的或本地创建的附加信息,处理器生成工作负荷包。工作负荷包也被存储在沙箱中,例如在可能或可能不在任何程度上与第一区域重叠的第二区域中。可通过任何合适类型的变换、转换、拆包和/或解密过程从提供的代码/数据中生成工作负荷包。生成的工作负荷包可包括适合于由操作块的引擎执行的指令。
[0015]在操作312处,处理器请求VMM建立包括页表的设备虚拟化,操作块可通过设备虚拟化访问工作负荷包。在操作314处,工作负荷包被提交给操作块。
[0016]在操作320处,操作块将块引擎设置成安全或受保护模式,该模式可能是由VMM维护的块引擎或状态标识符的硬件模式。在该安全模式中,引擎可仅仅从由VMM指定的沙箱取回并执行指令。在操作322和324处,操作块通过从沙箱取回指令(和数据)而收集并执行工作负荷包。在操作326处,执行的结果可被回写给沙箱的第三区域,第三区域可能或可能不在任何程度上与其它区域重叠。在操作316处,处理器收集这些结果,并可将它们返回到第三方请求实体。处理器还可基于工作负荷隔离证明结果的安全性或完整性。
[0017]在一些实施例中,工作负荷包可由嵌入式安全性引擎生成,该引擎诸如例如融合安全性引擎(CSE)或融合安全性可管理性引擎(CSME)t3CSE可被配置成产生进程以响应于应用程序请求创建工作负荷包。从其它CPU软件、进程和应用程序隔离CSE产生的进程以提供保护以免于干扰或攻击。
[0018]在一些实施例中,CSE可被配置成将代码/数据加密为二进制大对象(BLOB),并使用VMM加密地将它绑定到操作块。只有授权的操作块可被配置成解密代码/数据,以获得工作负荷包。VMM可识别授权的操作块,并提供解密所需的凭据。该实施例可能对于不执行代码和/或可不与处理器共享地址空间的诸如例如显示元件的相对“哑的(dumb) ”设备特别有用。
[0019]图4图示与本公开一致的另一个示例性实施例的框图400。示出简化的示例,简化的示例仅包括两个操作块:图形处理单元(GPU) 110-1和显示引擎110-2。在GPU 110_1通常被配置成生成显示表面(例如待显示的位图),而显示引擎110-2通常被配置成向显示元件提供驱动信号以使得显示表面被显示。
[0020]在本示例中,第三方402可将请求提交给系统,以显示某种类型的图像。请求可以任何提取级别(例如范围从通常的描述下到单独的像素)指定图像,并且可包括可用于生成图像的数据、代码、伪代码和/或算法。在处理器104上的进程404可接收该代码/数据并将它加载到基于虚拟化和页表的容器或沙箱中,其中它将受到保护以免于包括OS的其它进程202、204、206。进程404可被配置成验证代码/数据的真实性,并使用它来为GPU 110-1生成工作负荷包。工作负荷包可包括GHJ不可理解的机器代码。用于保持生成的工作负荷包的沙箱的存储器区域(页)的访问控制例如可由VMM 108设置成不可执行的状态,以防止由任何其它未授权的进程或处理块的意外的执行。
[0021]可进一步请求VMM 108,以允许GPU例如通过块引擎214从沙箱中的工作负荷包取回并执行指令。这些指令的执行为显示生成工作负荷406形成基础,显示生成工作负荷406可被配置成生成对应于来自第三方402的请求的显示表面。
[0022]生成的显示表面可被存储在专用于工作负荷结果的沙箱的区域中。VMM可被配置成允许显示引擎110-2访问沙箱的该结果区域。然而,在一些实施例中,可将结果从GPU110-1直接发送到显示引擎110-2,在这种情况下可加密结果并且可通过VMM以安全方式将密钥(用于解密)提供给显示引擎。
[0023]VMM 108还可被配置成在用于来自多个沙箱的显示资源的请求之间仲裁,每个沙箱执行显示生成工作负荷。例如,如果对于Z次序优先级(来自一个沙箱的图像平面或表面重叠来自另一个沙箱的图像平面)存在多个请求,VMM可决定优先级并确定显示图像的哪些部分。VMM可以向代表多个沙箱的显示表面提供显示引擎110-2所需的加密资源。显示引擎可被配置成跟踪哪些表面属于哪些沙箱,并且保护工作负荷请求免于任何沙箱读取不属于它的表面。类似地,显示引擎110-2可被配置成实施如由沙箱的工作负荷请求的Z次序。显示引擎还可被配置成生成显示表面的配置的快照并将其发送给沙箱作为表面的可见性的证明。每当显示表面的配置不符合由沙箱请求的配置时,显示引擎可进一步通知沙箱。
[0024]图5图示与本公开一致的另一个示例性实施例的操作500的流程图。该操作提供用于基于虚拟化的块内工作负荷隔离的方法。在操作510处,创建安全虚拟化环境(沙箱)ο沙箱与系统的处理器块相关联,并且由虚拟机管理器(VMM)管理。在操作520处,将数据加载到沙箱中。数据加载可由处理器块执行。在操作530处,认证数据。在操作540处,基于数据生成工作负荷包。与工作负荷相关联的工作负荷包被存储在沙箱中的存储器的非可执行区域中。在操作550处,将工作负荷包从沙箱提交给系统的操作块以用于执行。
[0025]图6图示与本公开一致的一个示例性实施例的系统图600。系统600可能是移动平台610或计算设备,诸如例如智能手机、智能平板、个人数字助理(PDA)、移动互联网设备(MID)、可转换平板、笔记本或膝上型电脑、台式电脑、服务器、智能电视或不论是固定还是移动的任何其它设备。经由显示元件670,诸如例如触摸屏、液晶显示器(LCD)或任何其它合适的显示器类型,该设备通常可向用户呈现各种界面。
[0026]系统600被示为包括处理器104。在一些实施例中,处理器104可被实现为任何数量的处理器核。处理器(或处理器核)可能是任何类型的处理器,诸如例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、现场可编程门阵列或被配置成执行代码的其它设备。处理器104可能是单线程核或多线程核,在多线程核中它可包括每个核一个以上的硬件线程上下文(或“逻辑处理器”)。系统600还被示为包括耦合到处理器104的存储器106。存储器106可能是对本领域技术人员已知或可以其它方式获得的任何的各种各样的存储器(包括存储器分层结构的各种层和/或存储器高速缓存)。系统600还被示为包括VMM模块108或其它合适的安全性引擎,如先前所述。
[0027]系统600还被示为包括任何数量的操作块110,操作块110可包括输入/输出(1)系统或控制器650,输入/输出(1)系统或控制器650可被配置成使能或管理在处理器104和系统600的其它元件或系统600外部的其它元件(未示出)之间的数据通信。操作块110还可包括无线通信接口 620,无线通信接口 620被配置成使能系统600和任何外部实体之间的无线通信(例如通过无线通信收发器660)。无线通信可符合或以其它方式与任何现有的或尚未开发的通信标准兼容,该通信标准包括移动电话通信标准。操作块110还可包括图形处理器(或GPU)630和被配置成驱动显示元件670的显示引擎640。操作块110可被配置成如本文所述地采用VMM模块108的安全性能力提供块内工作负荷隔离。
[0028]将理解的是:在一些实施例中,可在片上系统(SoC)架构中组合系统600的各种组件。在一些实施例中,组件可能是硬件组件、固件组件、软件组件或者硬件、固件或软件的任何合适的组合。
[0029]可在包括一个或多个存储介质的系统中实现本文所述的方法的实施例,一个或多个存储介质具有单独地或组合地在其上存储的指令,该指令在由一个或多个处理器执行时执行方法。这里,处理器例如可包括系统CPU(例如核处理器)和/或可编程电路。从而,其意图是:根据本文所述的方法的操作可以跨越多个物理设备(诸如在几个不同物理位置处的处理结构)而分布。此外,其意图是:可单独地或在子组合中执行方法操作,如将由本领域技术人员所理解。从而,不需要执行流程图中每一个的所有操作,并且本公开明确的意图是:使能将由本领域普通技术人员理解的这样的操作的所有子组合。
[0030]存储介质可包括任何类型的有形介质,例如任何类型的盘,包括软盘、光盘、致密盘只读存储器(CD-ROM)、可重写致密盘(CD-RW)、数字多功能盘(DVD)和磁光盘,半导体器件,诸如只读存储器(R0M)、诸如动态和静态RAM之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPR0M)、快闪存储器、磁或光卡,或者适合于存储电子指令的任何类型的介质。
[0031]如在本文的任何实施例中使用的“电路”例如可单独地或任意组合地包括硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。app可被体现为可在诸如主机处理器或其它可编程电路之类的可编程电路上执行的代码或指令。如在本文中任何实施例中使用的模块可被体现为电路。该电路可被体现为集成电路,诸如集成电路芯片。
[0032]从而,本公开提供用于基于虚拟化的块内工作负荷隔离的系统、设备、方法以及计算机可读介质。下面的示例涉及进一步的实施例。
[0033]根据示例I,提供有一种用于块内工作负荷隔离的系统。该系统可包括创建安全虚拟化环境(沙箱)的虚拟机管理器(VMM)模块。该示例的系统还可包括将数据加载到沙箱的第一区域中的处理器块。该示例的处理器块可被进一步配置成生成与工作负荷相关联的工作负荷包,该工作负荷包基于该数据并存储在沙箱的第二区域中。该示例的系统可进一步包括从工作负荷包取回并执行指令的操作块。
[0034]示例2可包括前述示例的元件,并且VMM将进一步设置沙箱的第二区域的访问控制,以提供与工作负荷相关联的代码、数据和状态信息的块内隔离。
[0035]示例3可包括前述示例的元件,并且VMM将进一步将沙箱的第二区域的访问控制设置成非可执行模式。
[0036]示例4可包括前述示例的元件,并且在工作负荷包的选择的执行时段期间,VMM将进一步将沙箱的第二区域的访问控制设置成针对操作块的可执行模式。
[0037]示例5可包括前述示例的元件,并且操作块将进一步向沙箱的第三区域写入结果,该结果基于工作负荷包的执行。
[0038]示例6可包括前述示例的元件,并且处理器块将进一步加密地认证数据。
[0039]示例7可包括前述示例的元件,并且VMM将进一步提供与沙箱相关联的虚拟和物理地址之间的基于页表的变换,并且进一步提供与地址相关联的读取/写入/执行访问控制。
[0040]示例8可包括前述示例的元件,并且操作块是从由图形处理单元、设备控制器、无线通信接口、数字信号处理器和音频处理器组成的组中选择的。
[0041 ]示例9可包括前述示例的元件,并且系统是片上系统。
[0042]示例10可包括前述示例的元件,并且系统是智能手机、膝上型计算设备、智能TV或智能平板。
[0043]示例11可包括前述示例的元件,并且进一步包括用户界面,并且该用户界面是触摸屏。
[0044]根据示例12,提供有一种用于块内工作负荷隔离的方法。该示例的方法可包括:创建与系统的处理器块相关联的安全虚拟化环境(沙箱),该沙箱由虚拟机管理器(VMM)管理。该示例的方法还可包括将数据加载到沙箱中。该示例的方法可进一步包括认证数据。该示例的方法可进一步包括生成与工作负荷相关联的工作负荷包,该工作负荷包基于该数据并且存储在沙箱中的存储器的非可执行区域中。该示例的方法可进一步包括从沙箱向系统的操作块提交工作负荷包以用于执行。
[0045]示例13可包括前述示例的元件,并且进一步包括在沙箱上设置访问控制,以提供与工作负荷相关联的代码、数据和状态信息的块内隔离。
[0046]示例14可包括前述示例的元件,并且提交进一步包括:请求VMM以使得操作块能够从工作负荷包取回并执行指令。
[0047]示例15可包括前述示例的元件,并且进一步包括:从操作块接收结果,该结果基于执行。
[0048I示例16可包括前述示例的元件,并且接收进一步包括:请求VMM以使得操作块能够写入到沙箱中的存储器的区域。
[0049]示例17可包括前述示例的元件,并且操作块是图形处理单元、设备控制器、无线通信接口、数字信号处理器或音频处理器。
[0050]示例18可包括前述示例的元件,并且认证进一步包括验证加密签名。
[0051]示例19可包括前述示例的元件,并且VMM提供与沙箱相关联的虚拟和物理地址之间的基于页表的变换,并且进一步提供与地址相关联的读取/写入/执行访问控制。
[0052]根据示例20,提供有一种用于块内工作负荷隔离的系统。该示例的系统可包括:用于创建与系统的处理器块相关联的安全虚拟化环境(沙箱)的装置,该沙箱由虚拟机管理器(VMM)管理。该示例的系统还可包括用于将数据加载到沙箱中的装置。该示例的系统可进一步包括用于认证数据的装置。该示例的系统可进一步包括用于生成与工作负荷相关联的工作负荷包的装置,该工作负荷包基于该数据并且存储在沙箱中的存储器的非可执行区域中。该示例的系统可进一步包括用于从沙箱向系统的操作块提交工作负荷包以用于执行的
目.ο
[0053]示例21可包括前述示例的元件,并且进一步包括用于在沙箱上设置访问控制以提供与工作负荷相关联的代码、数据和状态信息的块内隔离的装置。
[0054]示例22可包括前述示例的元件,并且用于提交的装置进一步包括用于请求VMM以使得操作块能够从工作负荷包取回并执行指令的装置。
[0055]示例23可包括前述示例的元件,并且进一步包括用于从操作块接收结果的装置,该结果基于执行。
[0056]示例24可包括前述示例的元件,并且用于接收的装置进一步包括用于请求VMM以使得操作块能够写入到沙箱中的存储器的区域的装置。
[0057]示例25可包括前述示例的元件,并且操作块是图形处理单元、设备控制器、无线通信接口、数字信号处理器或音频处理器。
[0058]示例26可包括前述示例的元件,并且用于认证的装置进一步包括用于验证加密签名的装置。
[0059]示例27可包括前述示例的元件,并且VMM提供用于与沙箱相关联的虚拟和物理地址之间的基于页表的变换的装置,并且进一步提供用于与地址相关联的读取/写入/执行访问控制的装置。
[0060]根据另一个示例,提供有具有在其上存储的指令的至少一个计算机可读存储介质,该指令在由处理器执行时使得处理器执行如以上任何示例中所述的方法的操作。
[0061]根据另一个示例,提供有一种装置,包括执行如以上任何示例中所述的方法的装置。
[0062]已经在本文中采用的术语和表达用作描述的术语而不是限制,并且在这样的术语和表达的使用中没有意图排除所示和所述的特征(或其部分)的任何等同物,并且认识到:在权利请求的范围内各种修改是可能的。因此,权利请求意在覆盖所有这样的等同物。本文已经描述了各种特征、方面和实施例。特征、方面和实施例易于与彼此以及变型和修改组合,如将由本领域技术人员所理解的。因此,本公开应当被认为包含这样的组合、变型和修改。
【主权项】
1.一种用于块内工作负荷隔离的系统,所述系统包括: 创建安全虚拟化环境(沙箱)的虚拟机管理器(VMM)模块; 将数据加载到所述沙箱的第一区域中的处理器块; 所述处理器块进一步生成与所述工作负荷相关联的工作负荷包,所述工作负荷包基于所述数据并存储在所述沙箱的第二区域中;以及 从所述工作负荷包取回并执行指令的操作块。2.根据权利要求1所述的系统,其中所述VMM将进一步设置所述沙箱的所述第二区域的访问控制,以提供与所述工作负荷相关联的代码、数据和状态信息的块内隔离。3.根据权利要求1所述的系统,其中所述VMM将进一步将所述沙箱的所述第二区域的访问控制设置成非可执行模式。4.根据权利要求3所述的系统,其中在所述工作负荷包的选择的执行时段期间,所述VMM将进一步将所述沙箱的所述第二区域的访问控制设置成针对所述操作块的可执行模式。5.根据权利要求1所述的系统,其中所述操作块将进一步向所述沙箱的第三区域写入结果,所述结果基于所述工作负荷包的执行。6.根据权利要求1所述的系统,其中所述处理器块将进一步加密地认证所述数据。7.根据权利要求1所述的系统,其中所述VMM将进一步提供与所述沙箱相关联的虚拟和物理地址之间的基于页表的变换,并且进一步提供与所述地址相关联的读取/写入/执行访问控制。8.根据权利要求1所述的系统,其中所述操作块是从由图形处理单元、设备控制器、无线通信接口、数字信号处理器和音频处理器组成的组中选择的。9.根据权利要求1所述的系统,其中所述系统是片上系统。10.根据权利要求1所述的系统,其中所述系统是智能手机、膝上型计算设备、智能TV或智能平板。11.根据权利要求1所述的系统,进一步包括用户界面,其中所述用户界面是触摸屏。12.—种用于块内工作负荷隔离的方法,所述方法包括: 创建与系统的处理器块相关联的安全虚拟化环境(沙箱),所述沙箱由虚拟机管理器(VMM)管理; 将数据加载到所述沙箱中; 认证所述数据; 生成与所述工作负荷相关联的工作负荷包,所述工作负荷包基于所述数据并且存储在所述沙箱中的存储器的非可执行区域中;以及 从所述沙箱向所述系统的操作块提交所述工作负荷包以用于执行。13.根据权利要求12所述的方法,进一步包括在所述沙箱上设置访问控制,以提供与所述工作负荷相关联的代码、数据和状态信息的块内隔离。14.根据权利要求12所述的方法,其中所述提交进一步包括:请求所述VMM以使得所述操作块能够从所述工作负荷包取回并执行指令。15.根据权利要求12所述的方法,进一步包括:从所述操作块接收结果,所述结果基于所述执行。16.根据权利要求15所述的方法,其中所述接收进一步包括:请求所述VMM以使得所述操作块能够写入到所述沙箱中的存储器的区域。17.根据权利要求12所述的方法,其中所述操作块是从由图形处理单元、设备控制器、无线通信接口、数字信号处理器和音频处理器组成的组中选择的。18.根据权利要求12所述的方法,其中所述认证进一步包括验证加密签名。19.根据权利要求12所述的方法,其中所述VMM提供与所述沙箱相关联的虚拟和物理地址之间的基于页表的变换,并且进一步提供与所述地址相关联的读取/写入/执行访问控制。20.具有在其上存储的指令的至少一个计算机可读存储介质,该指令在由处理器执行时导致用于块内工作负荷隔离的下列操作,所述操作包括: 创建与系统的处理器块相关联的安全虚拟化环境(沙箱),所述沙箱由虚拟机管理器(VMM)管理; 将数据加载到所述沙箱中; 认证所述数据; 生成与所述工作负荷相关联的工作负荷包,所述工作负荷包基于所述数据并且存储在所述沙箱中的存储器的非可执行区域中;以及 从所述沙箱向所述系统的操作块提交所述工作负荷包以用于执行。21.根据权利要求20所述的计算机可读存储介质,进一步包括:在所述沙箱上设置访问控制以提供与所述工作负荷相关联的代码、数据和状态信息的块内隔离的操作。22.根据权利要求20所述的计算机可读存储介质,其中所述提交进一步包括:请求所述VMM以使得所述操作块能够从所述工作负荷包取回并执行指令的操作。23.根据权利要求20所述的计算机可读存储介质,进一步包括:从所述操作块接收结果的操作,所述结果基于所述执行。24.根据权利要求23所述的计算机可读存储介质,其中所述接收进一步包括:请求所述VMM以使得所述操作块能够写入到所述沙箱中的存储器的区域的操作。25.根据权利要求18所述的计算机可读存储介质,其中所述认证进一步包括验证加密签名的操作。26.根据权利要求18所述的计算机可读存储介质,其中所述VMM提供与所述沙箱相关联的虚拟和物理地址之间的基于页表的变换,并且进一步提供与所述地址相关联的读取/写入/执行访问控制。
【文档编号】G06F21/53GK106030602SQ201580010723
【公开日】2016年10月12日
【申请日】2015年3月26日
【发明人】D.普拉尚特, U.森古塔, S.齐哈布拉, D.杜尔罕, X.康, U.萨瓦高恩卡, A.纳伦拉特里维迪
【申请人】英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1