CN109063471A - 一种sgx运行的保护方法 - Google Patents

一种sgx运行的保护方法 Download PDF

Info

Publication number
CN109063471A
CN109063471A CN201810781232.3A CN201810781232A CN109063471A CN 109063471 A CN109063471 A CN 109063471A CN 201810781232 A CN201810781232 A CN 201810781232A CN 109063471 A CN109063471 A CN 109063471A
Authority
CN
China
Prior art keywords
enclave
sgx
data
sha1
code
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.)
Pending
Application number
CN201810781232.3A
Other languages
English (en)
Inventor
王国军
舒扬
周雷
彭滔
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.)
Guangzhou University
Original Assignee
Guangzhou University
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 Guangzhou University filed Critical Guangzhou University
Priority to CN201810781232.3A priority Critical patent/CN109063471A/zh
Publication of CN109063471A publication Critical patent/CN109063471A/zh
Pending legal-status Critical Current

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
    • 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/448Execution paradigms, e.g. implementations of programming paradigms

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)

Abstract

本发明属于计算机科学与技术领域,特别是涉及一种SGX运行的保护方法。通过在SGX的Enclave中嵌入完整性度量模块,从而实现应用程序的敏感数据和关键代码受到Enclave保护的同时还能检测Non‑Enclave中代码的完整性,不需要另外的硬件参与,同时也能减少TCB的大小;不需要增加HOOK内核模块;不仅能保护进程敏感数据,同时也保护了进程完整性度量模块,成本也更低。

Description

一种SGX运行的保护方法
技术领域
本发明属于计算机科学与技术领域,特别是涉及一种SGX运行的保护方法。
背景技术
Intel Software Guard Extensions(SGX)是Intel于2013年推出一套基于CPU架构的软件防护扩展。此技术新增了一组新的指令集以及定义了一种新的内存访问机制,目的是使得用户可以在用户层构建由底层硬件提供安全防护的可信执行环境(TEE,TrustedExecution Environment)。SGX能够将应用程序中定义的安全操作封装在一个自行创建的Enclave容器中,此Enclave即这个应用程序的TEE。Enclave是在应用程序地址空间中划分出的一块受保护的内存区域,此内存区域只有Enclave内部的代码才能访问,而Enclave之外的特权软件(如操作系统,VMM,BIOS)以及非特权软件都不能够访问。如此便为Enclave中的代码和数据提供了机密性和完整性保护,免受恶意攻击。
然而,SGX只为Enclave中的代码和数据提供了保护,而对创建Enclave的进程却没有提供任何的保护。虽然,SGX被提出的最大的意义就在于在用户层可以为用户进程创建一个或多个安全的执行环境,以对用户进程中敏感的代码和数据提供安全性保护。但是其实,这里存在一个安全隐患。即在进程创建之后,恶意程序篡改了进程相关的代码、数据或者相关联的动态链接库,使得Enclave中的安全区域不能得到正确的运行结果。如果Enclave中得不到正确可信的运算结果,那么其受到的安全保护也是没有意义。
发明内容
本发明提供了一种SGX运行的保护方法,使SGX运行更加安全。
具体技术方案是,所述SGX运行保护方法在SGX的Enclave中嵌入完整性度量模块。
所述的SGX运行保护方法,包括以下步骤,
a在Enclave的定义中增加一个保存进程代码段SHA1值的数据成员Process_SHA1,数据成员Process_SHA1将在Enclave的初始化阶段被初始化;
b在Non-Enclave中调用进入Enclave的Ecalls调用;
c在Enclave中的Trusted Functions被调用之前执行完整性度量模块;
d执行Trusted Functions的调用;
e将执行流放回至Non-Enclave,并继续应用程序的执行。
所述完整性度量模块包括以下步骤,
(1)对Enclave进程中的代码段数据进行SHA1值的计算,得到计算结果Process_Runtime_SHA1;
(2)将Process_Runtime_SHA1与Process_SHA1进行对比;
(3)两个值一致,则判断应用程序的完整性没有被破坏,继续执行;两个值不一致,则表示Non-Enclave区域中的数据或代码被篡改,中断执行。
所述初始化的方式为调用置于Enclave的完整性度量模块进行SHA1值的第一次计算并保存。
有益效果:通过在SGX的Enclave中嵌入完整性度量模块,从而实现应用程序的敏感数据和关键代码受到Enclave保护的同时还能检测Non-Enclave中代码的完整性,不需要另外的硬件参与,同时也能减少TCB的大小;不需要增加HOOK内核模块;不仅能保护进程敏感数据,同时也保护了进程完整性度量模块,成本也更低。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需的附图作简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,这些附图所直接得到的技术方案也应属于本发明的保护范围。
图1是本发明所述SGX运行保护方法流程图。
图2是本发明涉及的进程内存分布图。
图3是本发明动态完整性验证框架图。
图4是SGX源码函数调用层次结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面对本发明的具体实施方式做详细说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施方式的限制。
现有技术中的SGX能够对Enclave中的数据和代码提供严密的保护,然而,却不能够对Non-Enclave中的代码和数据提供任何的防护措施。当然,可以认为即使处于Non-Enclave中的代码和数据受到攻击也不会泄露应用程序的关键信息,但是却存在应用程序的执行逻辑遭到篡改的可能,进而影响该进程不能为用户提供正确的服务。又由于每个Enclave的最大容量为128MB,每个应用程序能够开辟的Enclave也存在上限,因此,将应用程序所有数据和逻辑代码都放置于Enclave中这种极端思路也不能够普遍适用,且这种方案将对应用程序的执行效率产生很大的影响。目前SGX只能实现对Enclave中的数据和代码的保护,但却无法实现对Non-Enclave的完整验证保护。
为了解决上述问题,本申请的具体技术方案是,实施例1,所述SGX运行保护方法在SGX的Enclave中嵌入完整性度量模块。通过在SGX的Enclave中嵌入完整性度量模块,在应用程序进行进入Enclave的Ecalls调用时,通过对本进程的代码段.text进行完整性度量。在进程的内存分布上,数据段分为已初始化数据段.data和未初始化数据段.bss,但是在具有TEE的SGX中,我们可以把数据段分为只读数据和读写数据。只读数据也就是如已初始化的字符串常量,或者static的常量数据,而读写数据就是类似char指针指向的数据,或者非static非常量的内置类型数据等。如此划分之后,对于数据的存放位置为Enclave还是Non-Enclave可以执行这样的策略:非敏感的只读数据存在于Non-Enclave中,其余都存放至Enclave中。如此一来,需要被保护的数据都能够被Enclave保护,Non-Enclave中没有需要数据被保护的情况下,只需要验证其代码的完整性就已经做到对该应用程序的全面保护。
进程的完整性验证方式很多,(1)如将应用程序的散列值信息保存于TPM的存储寄存器,在进程创建过程通过HOOK技术截获系统调用,使得在进行系统调用的同时进行完整性验证。(2)将进程完整性度量模块放置于TrustZone的Secure World,也能做到既可以完整进程完整性验证,同时也能保证完整性度量模块的可信。(3)进程完整性度量模块嵌入SMM的隔离区域,可以实现同TrustZone类似的效果。但都基本都需要增加硬件或增加HOOK内核模块,并且不能对完整性度量模块进行保护。
通过在SGX的Enclave中嵌入完整性度量模块,从而实现应用程序的敏感数据和关键代码受到Enclave保护的同时还能检测Non-Enclave中代码的完整性,不需要另外的硬件参与,同时也能减少TCB的大小,并且能够对整性度量模块本身进行保护。
实施例2如图1所示,所述的SGX运行保护方法,包括以下步骤,a在Enclave的定义中增加一个保存进程代码段SHA1值的数据成员Process_SHA1;数据成员Process_SHA1将在Enclave的初始化阶段被初始化;b在Non-Enclave中调用进入Enclave的Ecalls调用;c在Enclave中的Trusted Functions被调用之前执行完整性度量模块;d执行TrustedFunctions的调用;e将执行流放回至Non-Enclave,并继续应用程序的执行。所述初始化的方式为调用置于Enclave的完整性度量模块进行SHA1值的第一次计算并保存。
进一步的,在上述技术方案的基础上,所述完整性度量模块包括以下步骤,首先对Enclave进程中的代码段数据进行SHA1值的计算,得到计算结果Process_Runtime_SHA1;接下来将Process_Runtime_SHA1与Process_SHA1进行对比;如果两个值一致,则判断应用程序的完整性没有被破坏,继续执行应用程序;如果两个值不一致,则表示Non-Enclave区域中的数据或代码被篡改,中断执行。通过在SGX的Enclave中嵌入完整性度量模块,从而实现应用程序的敏感数据和关键代码受到Enclave保护的同时还能检测Non-Enclave中代码的完整性,不需要另外的硬件参与,同时也能减少TCB的大小;不需要增加HOOK内核模块;不仅能保护进程敏感数据,同时也保护了进程完整性度量模块,成本也更低。
具体实现方法,实验平台为Lenovo Ideapad 700,搭载Intel(R)Core(TM)i5-6300HQ CPU,8GB内存,Ubuntu 14.04LTS操作系统。处理器为Intel 6代及更新系列;操作系统为64位Windows 7级更新版本或者Ubuntu 14.04及更新版本。而选择Ubuntu操作系统的原因是Intel公司只开源了SGX的Linux平台版本。
下面分别从SGX进行Ecalls调用时的内部层次结构和进程代码段数据SHA1值的计算来详细阐述。
SGX源码Ecalls的调用层次结构:分析SGX开源的源代码,得知SGX从Non-Enclave区域通过Ecalls调用进入Enclave并执行Enclave中的Trusted Functions会经过如下图3-4所示的函数调用层次。分为Non-Enclave区域中的操作与Enclave区域中的操作。
Ecalls调用的发起者是位于Non-Enclave区域中程序代码。在源码层面,Enclave的定义是由名为CEnclave的C++Class给出,这个Class中定义了Enclave提供给用户调用的一切函数接口以及数据成员,包括常被使用的ecall、ocall、destroy等等函数。其中CEnclave::ecall()函数就是Ecalls调用的核心函数以及出发点,之后在CEnclave::ecall()函数中会调用do_ecall()函数来进行Ecalls调用的具体工作。因为进行具体的Trust Functions调用需要先从Non-Enclave进入Enclave,因此,在do_ecall()函数中会经过enter_enclave()函数来实现过渡。在进行Trusted Functions调用时,需要首先进入SGX SDK中一个重要组件tRTS(Trusted Runtime System),tRTS提供了Enclave入口点逻辑以及由Enclave开发者使用的其他功能。进入rRTS之后,将继续执行trts_ecall.cpp中的do_ecall()函数,此do_ecall函数中的参数index就是Enclave中Trusted Functions的编号。do_ecall()函数根据index通过真正执行Trusted Functions的函数trts_ecall()完成整个Ecall调用流程。
进程代码段数据SHA1值的计算:由于需要在SGX应用程序运行时计算进程的代码段.text的SHA1值,因此不能通过可执行文件的静态数据内容进行计算。所以这里可以采用读取进程内存映射文件的方法来获取代码段的数据。首先,我们来看看/proc文件系统和进程内存映射文件/proc/pid/maps的作用与格式。
Linux内核提供的/proc文件系统,可以在进程运行时访问内核进程相关的数据结构。在Linux系统中,每个运行中的进程在/proc目录下都有一个以进程号PID为目录名的目录,此目录作为读取进程内存信息的接口。由于/proc文件系统会随着进程运行过程的变化而动态的进行更新。因此,在不同时刻,都可以通过/proc文件系统动态的读取进程内存信息。
Proc/pid/maps文件能够显示进程数据在内存地址空间的映射范围,即虚拟地址的起始范围,还会显示相应虚拟地址的访问权限。每个进程的虚拟地址空间都以结构体的形式保存在内核中,此结构体名为vm_area_struct。在此结构体中以task->mm->mmap链表存储了所有地址空间;vm_file域保存了映射到内存区域文件的文件描述符。另外,保存在内存中的为有名内存区域,保存在磁盘上的为匿名映射内存区域。
/proc/pid/maps的文件格式:该文件有6列,对应Vm_area_struct结构中的7项,如下表1:
表1Vm_area_struct结构
通过一个实例更直观地来理解/proc/self/maps的文件格式。以/proc/1/maps为例,如下表2所示:
表2/proc/self/maps实例
通过对上述两个表的理解与分析,我们只需要vm_start、vm_end和vm_flags三个属性就能获取到整个进程的代码段的数据。因为,可以看出代码段的数据权限为只读,而数据段的数据权限是可读可写,堆和栈的数据也都是可读可写的,对于可执行属性可以选择忽略。因此,通过vm_flags属性可以筛选出进程的代码段,通过vm_start和vm_end可以获得代码段的起始地址。有了代码段的虚拟起始地址,利用SGX内置的SHA1函数UpdateSHA1(),就能够获取SGX应用程序进程代码段的SHA1值,实现进程完整性度量模块。
首先完整性度量模块具体实现如下:在源码中路径为/psw/urts/里的Enclave类头文件enclave.h中,增加一个成员变量名为Process_SHA1长度为64的字符数组。其次,创建Enclave后,在Enclave初始化函数CEnclave::initialize()中利用进程完整性度量方法初始化Process_SHA1字符数组。此SHA1值位于Enclave内,因此会受到保护。再次,由SGX进行Ecalls调用时的内部层次结构可知,我们可以在tRTS中的do_ecall()函数中嵌入进程动态完整性度量模块。当Ecalls调用进入Enclave,到达tRTS中执行函数do_ecall()时,将经过完整性度量模块。tRTS中的do_ecall()函数位于SGX源码路径/sdk/trts/中trts_ecall.cpp。接下来,执行流到达完整性度量模块时,首先利用进程代码段数据SHA1值的计算方法获取此时此刻进程代码段数据的SHA1值,命其名为Process_Runtime_SHA1。最后将步骤1中计算并保存在Enclave中的Process_SHA1值与步骤4中由进程动态完整性度量模块计算得到的Process_Runtime_SHA1值利用函数strncmp()进行比较。若返回值为0,表示两个值一致,同时说明进程的完整性没有被破坏,则继续通过trts_ecall()调用TrustedFunctions;若返回值不为0,表示进程完整性遭到破坏,此时进程没有再继续运行的意义,调用函数abort()终止进程。
所述SGX运行保护方法安全验证,分别从进程数据的安全性、进程动态完整性度量模块的安全性、进程代码段数据的完整性进行分析。在SGX应用程序开发阶段,将程序数据进行划分,再根据本方案提出的应用程序数据存放策略,即把应用程序中非敏感只读数据置于Non-Enclave中,把敏感可写数据存放于Enclave中,可以在保证应用程序最大执行效率的同时,对应用程序数据进行全面而严密的保护。因为每次Ecalls调用需要进过多个层次才能最终执行Trusted Function并返回,频繁的Ecalls调用将会对程序执行效率造成很大的影响。还有,非敏感的只读数据也不需要担心被窥探泄露机密信息。所以,尽可能细致的对数据进行划分,可以尽量减少Ecalls的调用。Enclave的隔离执行区域可以保证其中的数据的完整性与机密性。
进程动态完整性度量模块完全处于Enclave中,度量数据和度量流程都不会被篡改,可以保证度量结果的真实可信。
在Linux内核不被攻击,内核信息可靠的情况下,进程代码数据的完整性也能够得到保证。因为本方案是通过内核中的proc文件系统动态地从系统内核中读出并提交的,所以,只要内核中的信息真实,通过/proc/pid/maps读到的进程代码数据就是可靠的。

Claims (4)

1.一种SGX运行保护方法,其特征在于:在SGX的Enclave中嵌入完整性度量模块。
2.根据权利要求1所述的SGX运行保护方法,其特征在于:包括以下步骤,
a在Enclave的定义中增加一个保存进程代码段SHA1值的数据成员Process_SHA1,数据成员Process_SHA1将在Enclave的初始化阶段被初始化;
b在Non-Enclave中调用进入Enclave的Ecalls调用;
c在Enclave中的Trusted Functions被调用之前执行完整性度量模块;
d执行Trusted Functions的调用;
e将执行流放回至Non-Enclave,并继续应用程序的执行。
3.根据权利要求2所述的SGX运行保护方法,其特征在于:所述完整性度量模块包括以下步骤,
(1)对Enclave进程中的代码段数据进行SHA1值的计算,得到计算结果Process_Runtime_SHA1;
(2)将Process_Runtime_SHA1与Process_SHA1进行对比;
(3)两个值一致,则判断应用程序的完整性没有被破坏,继续执行;两个值不一致,则表示Non-Enclave区域中的数据或代码被篡改,中断执行。
4.根据权利要求2所述的SGX运行保护方法,其特征在于:所述初始化的方式为调用置于Enclave的完整性度量模块进行SHA1值的第一次计算并保存。
CN201810781232.3A 2018-07-17 2018-07-17 一种sgx运行的保护方法 Pending CN109063471A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810781232.3A CN109063471A (zh) 2018-07-17 2018-07-17 一种sgx运行的保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810781232.3A CN109063471A (zh) 2018-07-17 2018-07-17 一种sgx运行的保护方法

Publications (1)

Publication Number Publication Date
CN109063471A true CN109063471A (zh) 2018-12-21

Family

ID=64816920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810781232.3A Pending CN109063471A (zh) 2018-07-17 2018-07-17 一种sgx运行的保护方法

Country Status (1)

Country Link
CN (1) CN109063471A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918907A (zh) * 2019-01-30 2019-06-21 国家计算机网络与信息安全管理中心 Linux平台进程内存恶意代码取证方法、控制器及介质
CN110674474A (zh) * 2019-09-19 2020-01-10 大唐高鸿信安(浙江)信息科技有限公司 一种应用程序的运行控制方法及装置
CN112836217A (zh) * 2021-01-12 2021-05-25 清华大学深圳国际研究生院 基于sgx的动态减小tcb的区块链虚拟机方法及系统
CN113065134A (zh) * 2020-12-28 2021-07-02 上海能链众合科技有限公司 一种区块链代码和数据安全计算方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159184A1 (en) * 2010-12-17 2012-06-21 Johnson Simon P Technique for Supporting Multiple Secure Enclaves
US20120163589A1 (en) * 2010-12-22 2012-06-28 Johnson Simon P System and method for implementing a trusted dynamic launch and trusted platform module (tpm) using secure enclaves
CN103268440A (zh) * 2013-05-17 2013-08-28 广东电网公司电力科学研究院 可信内核动态完整性度量方法
CN105956465A (zh) * 2016-05-04 2016-09-21 浪潮电子信息产业股份有限公司 一种基于vtpm构建虚拟可信平台的方法
US20170118215A1 (en) * 2015-10-23 2017-04-27 Srikanth Varadarajan Systems and methods for providing confidentiality and privacy of user data for web browsers
CN107111715A (zh) * 2014-12-16 2017-08-29 英特尔公司 将可信执行环境用于代码和数据的安全性
CN107463838A (zh) * 2017-08-14 2017-12-12 广州大学 基于sgx的安全监控方法、装置、系统及存储介质
CN107832606A (zh) * 2017-09-28 2018-03-23 中国船舶重工集团公司第七0九研究所 基于sgx的信任链实现方法及系统
US20180114012A1 (en) * 2016-10-20 2018-04-26 Kapil Sood Trusted packet processing for multi-domain separatization and security
EP3333747A1 (en) * 2016-12-06 2018-06-13 ETH Zurich Methods and systems for detecting rollback attacks

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159184A1 (en) * 2010-12-17 2012-06-21 Johnson Simon P Technique for Supporting Multiple Secure Enclaves
US20120163589A1 (en) * 2010-12-22 2012-06-28 Johnson Simon P System and method for implementing a trusted dynamic launch and trusted platform module (tpm) using secure enclaves
CN103268440A (zh) * 2013-05-17 2013-08-28 广东电网公司电力科学研究院 可信内核动态完整性度量方法
CN107111715A (zh) * 2014-12-16 2017-08-29 英特尔公司 将可信执行环境用于代码和数据的安全性
US20170118215A1 (en) * 2015-10-23 2017-04-27 Srikanth Varadarajan Systems and methods for providing confidentiality and privacy of user data for web browsers
CN105956465A (zh) * 2016-05-04 2016-09-21 浪潮电子信息产业股份有限公司 一种基于vtpm构建虚拟可信平台的方法
US20180114012A1 (en) * 2016-10-20 2018-04-26 Kapil Sood Trusted packet processing for multi-domain separatization and security
EP3333747A1 (en) * 2016-12-06 2018-06-13 ETH Zurich Methods and systems for detecting rollback attacks
CN107463838A (zh) * 2017-08-14 2017-12-12 广州大学 基于sgx的安全监控方法、装置、系统及存储介质
CN107832606A (zh) * 2017-09-28 2018-03-23 中国船舶重工集团公司第七0九研究所 基于sgx的信任链实现方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918907A (zh) * 2019-01-30 2019-06-21 国家计算机网络与信息安全管理中心 Linux平台进程内存恶意代码取证方法、控制器及介质
CN110674474A (zh) * 2019-09-19 2020-01-10 大唐高鸿信安(浙江)信息科技有限公司 一种应用程序的运行控制方法及装置
CN110674474B (zh) * 2019-09-19 2021-07-20 大唐高鸿信安(浙江)信息科技有限公司 一种应用程序的运行控制方法及装置
CN113065134A (zh) * 2020-12-28 2021-07-02 上海能链众合科技有限公司 一种区块链代码和数据安全计算方法
CN113065134B (zh) * 2020-12-28 2024-03-12 上海零数众合信息科技有限公司 一种区块链代码和数据安全计算方法
CN112836217A (zh) * 2021-01-12 2021-05-25 清华大学深圳国际研究生院 基于sgx的动态减小tcb的区块链虚拟机方法及系统
CN112836217B (zh) * 2021-01-12 2023-02-10 清华大学深圳国际研究生院 基于sgx的动态减小tcb的区块链虚拟机方法及系统

Similar Documents

Publication Publication Date Title
US10445498B2 (en) Systems and methods of application control in virtualized environments
EP3201820B1 (en) Protecting application secrets from operating system attacks
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
Murray et al. Improving Xen security through disaggregation
Jiang et al. Stealthy malware detection and monitoring through VMM-based “out-of-the-box” semantic view reconstruction
KR102189296B1 (ko) 가상 머신 보안 어플리케이션을 위한 이벤트 필터링
CN109063471A (zh) 一种sgx运行的保护方法
US20130152209A1 (en) Facilitating System Service Request Interactions for Hardware-Protected Applications
Watson et al. Capability hardware enhanced RISC instructions: CHERI instruction-set architecture
Ding et al. HyperVerify: A VM-assisted architecture for monitoring hypervisor non-control data
Mi et al. (Mostly) exitless {VM} protection from untrusted hypervisor through disaggregated nested virtualization
Leon et al. Hypervisor-assisted dynamic malware analysis
Cheng et al. Building dynamic and transparent integrity measurement and protection for virtualized platform in cloud computing
Im et al. The endokernel: Fast, secure, and programmable subprocess virtualization
Zhu et al. HA-VMSI: A lightweight virtual machine isolation approach with commodity hardware for ARM
Chfouka et al. Trustworthy prevention of code injection in linux on embedded devices
Xing et al. OB‐IMA: out‐of‐the‐box integrity measurement approach for guest virtual machines
Kittel et al. Counteracting data-only malware with code pointer examination
WO2018235858A1 (ja) 情報処理監視装置、情報処理監視方法、プログラム、記録媒体及び情報処理装置
AT&T
Buchner et al. Survey on trusted execution environments
Lin et al. HyperPS: A Virtual-Machine Memory Protection Approach Through Hypervisor's Privilege Separation
Yu et al. A container-oriented virtual-machine-introspection-based security monitor to secure containers in cloud computing
Douglas Thin hypervisor-based security architectures for embedded platforms
Zhao et al. FIMCE: a fully isolated micro-computing environment for multicore systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181221

RJ01 Rejection of invention patent application after publication