CN106030602B - 基于虚拟化的块内工作负荷隔离 - Google Patents

基于虚拟化的块内工作负荷隔离 Download PDF

Info

Publication number
CN106030602B
CN106030602B CN201580010723.2A CN201580010723A CN106030602B CN 106030602 B CN106030602 B CN 106030602B CN 201580010723 A CN201580010723 A CN 201580010723A CN 106030602 B CN106030602 B CN 106030602B
Authority
CN
China
Prior art keywords
sandbox
workload
block
vmm
processor
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
CN201580010723.2A
Other languages
English (en)
Other versions
CN106030602A (zh
Inventor
D.普拉尚特
U.森古塔
S.齐哈布拉
D.杜尔罕
X.康
U.萨瓦高恩卡
A.纳伦拉特里维迪
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 CN106030602A publication Critical patent/CN106030602A/zh
Application granted granted Critical
Publication of CN106030602B publication Critical patent/CN106030602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本公开一般地提供用于基于虚拟化的块内工作负荷隔离的系统、设备、方法和计算机可读介质。该系统可包括创建安全虚拟化环境或沙箱的虚拟机管理器(VMM)模块。该系统还可包括将数据加载到沙箱的第一区域中并且基于数据生成工作负荷包的处理器块。工作负荷包被存储在沙箱的第二区域中。该系统可进一步包括从工作负荷包取回并执行指令的操作块。

Description

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

Claims (28)

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.一种计算机可读存储设备,该设备具有在其上存储的指令,该指令在由一个或多个处理器执行时导致接下来的操作,该操作包括根据权利要求12至19中任一项所述的方法。
21.一种用于块内工作负荷隔离的装置,所述装置包括:
用于创建与系统的处理器块相关联的安全虚拟化环境沙箱的部件,所述沙箱由虚拟机管理器VMM管理;
用于将数据加载到所述沙箱中的部件;
用于认证所述数据的部件;
用于生成与所述工作负荷相关联的工作负荷包的部件,所述工作负荷包基于所述数据并且存储在所述沙箱中的存储器的非可执行区域中;以及
用于从所述沙箱向所述系统的操作块提交所述工作负荷包以用于执行的部件。
22.根据权利要求21所述的装置,进一步包括用于在所述沙箱上设置访问控制的部件,用于提供与所述工作负荷相关联的代码、数据和状态信息的块内隔离。
23.根据权利要求21所述的装置,其中所述提交进一步包括:请求所述VMM以使得所述操作块能够从所述工作负荷包取回并执行指令。
24.根据权利要求21所述的装置,进一步包括:用于从所述操作块接收结果的部件,所述结果基于所述执行。
25.根据权利要求24所述的装置,其中所述接收进一步包括:请求所述VMM以使得所述操作块能够写入到所述沙箱中的存储器的区域。
26.根据权利要求21所述的装置,其中所述操作块是从由图形处理单元、设备控制器、无线通信接口、数字信号处理器和音频处理器组成的组中选择的。
27.根据权利要求21所述的装置,其中所述认证进一步包括验证加密签名。
28.根据权利要求21所述的装置,其中所述VMM提供与所述沙箱相关联的虚拟和物理地址之间的基于页表的变换,并且进一步提供与所述地址相关联的读取/写入/执行访问控制。
CN201580010723.2A 2014-03-28 2015-03-26 基于虚拟化的块内工作负荷隔离 Active CN106030602B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/228994 2014-03-28
US14/228,994 US20150278512A1 (en) 2014-03-28 2014-03-28 Virtualization based intra-block workload isolation
PCT/US2015/022802 WO2015148834A1 (en) 2014-03-28 2015-03-26 Virtualization based intra-block workload isolation

Publications (2)

Publication Number Publication Date
CN106030602A CN106030602A (zh) 2016-10-12
CN106030602B true CN106030602B (zh) 2019-04-30

Family

ID=54190795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580010723.2A Active CN106030602B (zh) 2014-03-28 2015-03-26 基于虚拟化的块内工作负荷隔离

Country Status (4)

Country Link
US (2) US20150278512A1 (zh)
EP (1) EP3123388B1 (zh)
CN (1) CN106030602B (zh)
WO (1) WO2015148834A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097263B2 (en) * 2017-01-18 2018-10-09 Ciena Corporation User defined applications executed on optical modules for performance monitoring in optical networks
US11055401B2 (en) * 2017-09-29 2021-07-06 Intel Corporation Technologies for untrusted code execution with processor sandbox support
US11175939B2 (en) * 2019-05-09 2021-11-16 International Business Machines Corporation Dynamically changing containerized workload isolation in response to detection of a triggering factor
CN110687878A (zh) * 2019-09-16 2020-01-14 广东鑫光智能系统有限公司 工业设备模型组件应用云平台
CN112241309B (zh) * 2020-10-21 2022-04-01 海光信息技术股份有限公司 一种数据安全方法、装置、cpu、芯片及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101517591A (zh) * 2006-09-29 2009-08-26 英特尔公司 虚拟安全模块的体系结构
KR20110052194A (ko) * 2009-11-12 2011-05-18 제주대학교 산학협력단 가상화 보안 시스템 및 방법
TW201232410A (en) * 2010-11-02 2012-08-01 Ibm Managing a workload of a plurality of virtual servers of a computing environment
CN103034524A (zh) * 2011-10-10 2013-04-10 辉达公司 半虚拟化的虚拟gpu

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7689676B2 (en) * 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US8274518B2 (en) * 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
JP4601557B2 (ja) * 2005-02-07 2010-12-22 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置
US8200796B1 (en) * 2005-05-05 2012-06-12 Digital Display Innovations, Llc Graphics display system for multiple remote terminals
US8549513B2 (en) * 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7836303B2 (en) * 2005-12-09 2010-11-16 University Of Washington Web browser operating system
US7656409B2 (en) * 2005-12-23 2010-02-02 Intel Corporation Graphics processing on a processor core
WO2007083300A2 (en) * 2006-01-17 2007-07-26 Kidaro (Israel) Ltd. Securing data in a networked environment
US20070226795A1 (en) * 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
US7941813B1 (en) * 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox
US8146079B2 (en) * 2006-07-26 2012-03-27 Hewlett-Packard Development Company, L.P. Systems and methods for controlling resource usage by a driver domain on behalf of a virtual machine
US20080279189A1 (en) * 2007-05-07 2008-11-13 3Com Corporation Method and System For Controlled Delay of Packet Processing With Multiple Loop Paths
US8806479B2 (en) * 2007-06-05 2014-08-12 International Business Machines Corporation Creating an application virtual machine image by isolating installation artifacts in shadow area
US20090070752A1 (en) * 2007-09-06 2009-03-12 International Business Machines Corporation Method and system for optimization of an application
US20090275407A1 (en) * 2008-04-30 2009-11-05 Bally Gaming, Inc. Virtualization for gaming devices
US8381288B2 (en) * 2008-09-30 2013-02-19 Intel Corporation Restricted component access to application memory
US8868925B2 (en) * 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
US8135964B2 (en) * 2008-12-09 2012-03-13 Nvidia Corporation Apparatus, system, method, and computer program product for executing a program utilizing a processor to generate keys for decrypting content
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
WO2010102875A1 (en) * 2009-03-13 2010-09-16 Abb Technology Ag A method for control in a process control system implemented in part by one or more computer implemented run-time processes
TW201104561A (en) * 2009-07-23 2011-02-01 Young Optics Inc Projection system and method thereof
US8938723B1 (en) * 2009-08-03 2015-01-20 Parallels IP Holdings GmbH Use of GPU for support and acceleration of virtual machines and virtual environments
US20110102443A1 (en) * 2009-11-04 2011-05-05 Microsoft Corporation Virtualized GPU in a Virtual Machine Environment
US8595446B2 (en) * 2009-11-25 2013-11-26 Oracle America, Inc. System and method for performing dynamic mixed mode read validation in a software transactional memory
US8954958B2 (en) * 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US20110191562A1 (en) * 2010-02-02 2011-08-04 Broadcom Corporation Apparatus and method for partitioning, sandboxing and protecting external memories
US8813065B2 (en) * 2010-04-26 2014-08-19 Vmware, Inc. Microcloud platform delivery system
US9772831B2 (en) * 2010-04-26 2017-09-26 Pivotal Software, Inc. Droplet execution engine for dynamic server application deployment
US8640187B2 (en) * 2010-05-28 2014-01-28 Red Hat, Inc. Systems and methods for providing an fully functional isolated execution environment for accessing content
US9323921B2 (en) * 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US8458791B2 (en) * 2010-08-18 2013-06-04 Southwest Research Institute Hardware-implemented hypervisor for root-of-trust monitoring and control of computer system
US9405700B2 (en) * 2010-11-04 2016-08-02 Sonics, Inc. Methods and apparatus for virtualization in an integrated circuit
US20120159127A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Security sandbox
US8913067B1 (en) * 2011-03-01 2014-12-16 Google Inc. GPU accelerated compositing on a multithreaded browser
US9891939B2 (en) * 2011-03-03 2018-02-13 Microsoft Technology Licensing, Llc Application compatibility with library operating systems
US10496824B2 (en) * 2011-06-24 2019-12-03 Microsoft Licensing Technology, LLC Trusted language runtime on a mobile platform
US9311126B2 (en) * 2011-07-27 2016-04-12 Mcafee, Inc. System and method for virtual partition monitoring
CN102254120B (zh) * 2011-08-09 2014-05-21 华为数字技术(成都)有限公司 恶意代码的检测方法、系统及相关装置
US8812830B2 (en) * 2011-08-31 2014-08-19 Microsoft Corporation Attestation protocol for securely booting a guest operating system
WO2013055313A1 (en) * 2011-10-10 2013-04-18 Hewlett-Packard Development Company, L.P. Methods and systems for planning execution of an application in a cloud computing system
US8590041B2 (en) * 2011-11-28 2013-11-19 Mcafee, Inc. Application sandboxing using a dynamic optimization framework
US9389933B2 (en) * 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US20130185729A1 (en) * 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US8692832B2 (en) * 2012-01-23 2014-04-08 Microsoft Corporation Para-virtualized asymmetric GPU processors
US9122507B2 (en) * 2012-02-18 2015-09-01 Cisco Technology, Inc. VM migration based on matching the root bridge of the virtual network of the origination host and the destination host
EP2642715A1 (en) * 2012-03-20 2013-09-25 British Telecommunications public limited company Method and system for malicious code detection
US9115626B2 (en) * 2012-07-10 2015-08-25 GM Global Technology Operations LLC Kinetics-based SCR control model improvement
US8933662B2 (en) * 2012-07-26 2015-01-13 Daifuku Co., Ltd. Charging apparatus for lead storage battery
US9898445B2 (en) * 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
EP2898407A4 (en) * 2012-09-21 2016-06-15 Intel Corp ISOLATED GAS GENERATION IN A VIRTUALIZED CALCULATION SYSTEM
US9465596B2 (en) * 2012-09-27 2016-10-11 Google Inc. Cross system installation of web applications
US10977061B2 (en) * 2012-12-18 2021-04-13 Dynavisor, Inc. Dynamic device virtualization for use by guest user processes based on observed behaviors of native device drivers
RU2535175C2 (ru) * 2012-12-25 2014-12-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносного программного обеспечения путем создания изолированной среды
RU2541895C2 (ru) * 2012-12-25 2015-02-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ повышения защищенности данных организации путем создания изолированной среды
US9223602B2 (en) * 2012-12-28 2015-12-29 Intel Corporation Processors, methods, and systems to enforce blacklisted paging structure indication values
US9396011B2 (en) * 2013-03-12 2016-07-19 Qualcomm Incorporated Algorithm and apparatus to deploy virtual machine monitor on demand
US9781118B2 (en) * 2013-03-14 2017-10-03 Intel Corporation Differentiated containerization and execution of web content based on trust level and other attributes
US9430258B2 (en) * 2013-05-10 2016-08-30 Vmware, Inc. Efficient sharing of identical graphics resources by multiple virtual machines using separate host extension processes
US9298506B2 (en) * 2013-09-30 2016-03-29 Teradata Us, Inc. Assigning resources among multiple task groups in a database system
WO2015087333A1 (en) * 2013-12-13 2015-06-18 Comilion Mobile Ltd. Collaborative system for cyber security analysis
US9621524B2 (en) * 2013-12-16 2017-04-11 Sophos Limited Cloud-based key management
US9311508B2 (en) * 2013-12-27 2016-04-12 Intel Corporation Processors, methods, systems, and instructions to change addresses of pages of secure enclaves
US9843533B2 (en) * 2014-03-06 2017-12-12 Trilio Data Inc. Elastic compute cloud based on underutilized server resources using a distributed container system
US9213866B1 (en) * 2014-04-01 2015-12-15 Xilinx, Inc. Circuits for and methods of preventing unauthorized access in an integrated circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101517591A (zh) * 2006-09-29 2009-08-26 英特尔公司 虚拟安全模块的体系结构
KR20110052194A (ko) * 2009-11-12 2011-05-18 제주대학교 산학협력단 가상화 보안 시스템 및 방법
TW201232410A (en) * 2010-11-02 2012-08-01 Ibm Managing a workload of a plurality of virtual servers of a computing environment
CN103034524A (zh) * 2011-10-10 2013-04-10 辉达公司 半虚拟化的虚拟gpu

Also Published As

Publication number Publication date
US20170372063A1 (en) 2017-12-28
EP3123388B1 (en) 2024-04-24
CN106030602A (zh) 2016-10-12
WO2015148834A1 (en) 2015-10-01
EP3123388A4 (en) 2017-08-23
EP3123388A1 (en) 2017-02-01
US10395028B2 (en) 2019-08-27
US20150278512A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
US10831886B2 (en) Virtual machine manager facilitated selective code integrity enforcement
US8812871B2 (en) Method and apparatus for trusted execution in infrastructure as a service cloud environments
CN103748594B (zh) 针对arm*trustzonetm实现的基于固件的可信平台模块
JP6620595B2 (ja) 情報処理システム、情報処理装置、管理装置、処理プログラム、及び処理方法
US9021476B1 (en) Ensuring the privacy and integrity of a hypervisor
CN109565444A (zh) 安全公共云
US10372628B2 (en) Cross-domain security in cryptographically partitioned cloud
US11847225B2 (en) Blocking access to firmware by units of system on chip
CN106030602B (zh) 基于虚拟化的块内工作负荷隔离
CN106605233A (zh) 使用处理器提供可信执行环境
WO2022103489A1 (en) Method and apparatus for trusted devices using trust domain extensions
CN103177212B (zh) 一种基于轻量虚拟机监控器的计算机安全输入系统与方法
US10140139B1 (en) Ensuring the privacy and integrity of a hypervisor
EP3935536B1 (en) Secure execution guest owner controls for secure interface control
EP3913513A1 (en) Secure debug of fpga design
US9135046B1 (en) Preventing host operating system from inspecting or modifying data received by hardware controller by moving host operating system into a virtual machine after boot up
Zobaed et al. Confidential computing across edge-to-cloud for machine learning: A survey study
Johnson et al. Confidential Container Groups: Implementing confidential computing on Azure container instances
US12013954B2 (en) Scalable cloning and replication for trusted execution environments
US20220245252A1 (en) Seamless firmware update mechanism
US12124581B2 (en) System on chip and operation method thereof
US20240070091A1 (en) Isolation of memory regions in trusted domain
Yao Building Secure Systems Across All Layers
CN118467104A (zh) 云平台启动控制方法、装置、处理器、云平台、存储介质及产品
CN118749097A (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
GR01 Patent grant
GR01 Patent grant