[2022.10.14][ISCA 2020] Nested Enclave: Supporting Fine-grained Hierarchical Isolation with SGX

Source: https://ieeexplore.ieee.org/document/9138984 Authors: Joongun Park, Naegyeong Kang, Taehoon Kim, Youngjin Kwon, Jaehyuk Huh Download Note: Contributor: cyp Overview 现在Intel SGX的局限性就是monolithic的Enclave设计,Enclave中所有的代码都有相同的权限,并没有一个比较等级分明的权限等级。在Enclave里面提供权限隔离会使得低权限的用户代码无法获取到高权限等级的数据,可以保护高权限等级的数据不会被低权限的漏洞代码所窃取。 本文把MLS(mutil-level security)的概念应用到TEE上,提出了Nested Enclave。 本文贡献: 提出了enclave新的模型,给原本的enclave增加了一些指令,使其支持权限隔离。 通过实验展示,可以通过修改比较少的代码增加该扩展 通过case studies可以论证nested enclave的高效性和安全性。

[2022.09.30][USENIX Security 2022] A Hardware-Software Co-design for Efficient IntraEnclave Isolation

Source: https://www.usenix.org/system/files/sec22-gu-jinyu.pdf Authors: Jinyu Gu, Bojun Zhu, Mingyu Li, Wentai Li, Yubin Xia, Haibo Chen Download Note: https://jbox.sjtu.edu.cn/l/X19mia Contributor: ydh Overview 现在的SGX程序为了最大程度地减少代码重构的工作量,避免应用程序分块带来的性能损失,现在流行的编程趋势是在单个SGX Enclave中使用第三方库或者是LibOSes运行整个应用程序。但这会使得TCB膨胀并危及敏感代码/数据。一旦三方库或是LibOS中存在漏洞,都会威胁到整个enclave的安全性。 为了解决这个问题,现在存在几种解决方法: 将一个程序拆分并放到不同的相互独立的enclaves中(Ryoan,Panoply),这种方式利用了不同enclave之间的隔离性,但是很明显在enclave交互过程中有很大的overhead。 于是就有了在enclave内部的隔离(CHANCEL,Spons & shields,Occlum,Nested Enclave)。但是这些方案都在灵活性和效率上存在限制。前三种是通过对enclave内存访问指令插桩的方法(软件方法)来做强制性的边界检查来实现的。插桩的方式会带来在运行时不可忽略的开销,并且 也会增大代码的体积。Nested Enclave使用了硬件拓展的方式,将它分为inner和outer enclave,但是inner和outer之间的交互边界的overhead依然很大。 本文的工作是设计一个有效率且安全的intra-enclave隔离方案。使用Intel MPK这个硬件特性对enclave内部的地址空间做细粒度的划分以完成隔离。

[2022.06.15] [S&P 2022] vSGX: Virtualizing SGX Enclaves on AMD SEV

Author: Shixuan Zhao, Mengyuan Li, Yinqian Zhang, Zhiqiang Lin Conference: S&P 2022 Paper Link: https://www.computer.org/csdl/proceedings-article/sp/2022/131600a687/1A4Q3q3W28E Note Link: https://jbox.sjtu.edu.cn/l/01EAPB Contributor: pdh Overview 现如今对可信执行环境的需求加速了可信硬件的发展,然而在不同架构下有着不同的可信硬件的实现方式,导致开发者在开发时还要针对架构进行不同程度的开发,兼容性很差。本文提供了vSGX,用于在AMD SEV的环境下虚拟一个SGX enclave,使得AMD架构能够兼容SGX的代码。其问题的关键在于SGX代码有一些额外的指令集(ENCLS和ENCLU),需要在AMD平台下对这些指令进行模拟,并且利用SEV虚拟机创建一个类似于SGX的地址空间和内存执行环境。具体来说,vSGX可以被视作一个被插入到SEV虚拟机中的SGX硬件模块,其核心思路就是利用SEV提供的虚拟机保护机制创建一个可信执行环境,用来移植SGX。这样,SGX enclave的代码和数据的机密性由AMD的内存加密引擎(Memory Encryption Engine, MEE)来保证,完整性由基于AMD SEV的远程认证设计出的认证服务来保证。移植了SGX enclave的虚拟机被称为enclave VM (EVM),而运行不可信app的虚拟机则被称为app VM (AVM)。因此,通过本文的设计,vSGX在AMD平台下达到了和Intel SGX相似的安全性,并且有着合理的额外开销。 虽然这个在AMD架构上虚拟化SGX的想法非常直观,但是完成这个想法需要面对几个不平凡的挑战: 如何在AMD SEV中插入SGX的指令; 如何处理那些需要跨越EVM和AVM的操作(例如EENTER和EEXIT); 如何处理跨EVM和AVM的内存访问; 如何处理AVM的OS中存在的不可信的代码,甚至是恶意的hypervisor; 如何去实现远程认证。 本文分析了vSGX的安全性,并且讨论了本文的设计是如何达到和原生SGX可比较的安全级别。同时,本文对vSGX的运行性能进行了评估,运行了一个benchmark集合以及现实世界中真实的SGX应用。结果显示一些SGX的指令确实会显著降低vSGX的运行性能(例如EENTER和EEXIT),但是这些只有那些拥有很多ECall和I/O操作的程序中才会显示出来。本文通过对真实世界SGX应用进行评估的结果显示,vSGX的额外性能开销是可以接受的。

[2021.09.14] [CCS 2019] OPERA: Open Remote Attestation for Intel’s Secure Enclaves

Author: Guoxing Chen, Yinqian Zhang, Ten-Hwang Lai Affiliation: The Ohio State University, The Ohio State University, The Ohio State University Conference: CCS 2019 Paper Link: https://dl.acm.org/doi/10.1145/3319535.3354220 Note Link: https://jbox.sjtu.edu.cn/l/S1oYKk Contributor: pdh Overview This paper presents OPERA, which is an Open Platform for Enclave Remote Attestation. Instead of completely trusting the IAS, OPERA leverage the feature […]

[2021.09.29] [EuroSys 2019] ShieldStore: Shielded In-memory Keyvalue Storage with SGX

Source: http://calab.kaist.ac.kr:8080/~jhuh/papers/kim_eurosys19_shieldst.pdf Authors: Taehoon Kim, Joongun Park, Jaewook Woo Download Note: https://jbox.sjtu.edu.cn/l/aF2d4t Contributor: cyp Overview key-value数据库在云服务中非常常用,比如 Memcached和redis。key-value数据库存储key作为 index,并且支持把在内存中的data放入磁盘,进行永久的存储。利用intel SGX的技术,可以防止恶意 的云厂商对内存中数据的监听和修改。 但是intel SGX的最大限制就是它的容量,它的EPC( enclave page cash )只有128M,如果放入 enclave的数据大于128M,就会进行消耗很大的paging 操作。 所以这篇文章提出了一个可以基于于intel SGX的key-value设计ShieldStore,它在enclave里面加密每 个key-value对,当加密完成后,此时这些key-value已经受到加密性和完整性的保护,则可以把这些 key-value放入no-enclave的区域。

[2021.09.01] [MIDDLEWARE 2019] AccTEE: A WebAssembly-based Two-way Sandbox for Trusted Resource Accounting >

Source: https://dl.acm.org/doi/abs/10.1145/3361525.3361541?casa_token=U0LOekVX1D4AAAAA:HAT3p4fiK0r8VwKbAX95Lib256TfCZVcIT130Zxg7gSUcjn4QZh9I9eTbp0-puE6NmIfd2ZOCZUsog Authors: David Goltzsche(TU Braunschweig, Germany);Manuel Nieke(TU Braunschweig, Germany);Thomas Knauth(Intel, United States);Rüdiger Kapitza(TU Braunschweig, Germany) Download Note: https://jbox.sjtu.edu.cn/l/S11yks Contributor: lty 远程计算,例如云计算、客户端的web应用和volunteer计算。这些服务的资源计算方法依赖于infrastructure provider。这些远程计算往往需要沙箱对其进行保护,理由是:隔离主机环境免受攻击;控制和限制资源使用。通常云服务器和代码提供者相互都是不信任的。 AccTEE是一个在服务器和用户之间提供资源使用可信服务的双路沙箱。SGX+WASM,在确保代码和数据的机密性和完整性的同时,使用自动代码工具进行细粒度的资源核算。

[2021.07.19] [USENIX Security 2020] TeeRex: Discovery and Exploitation of Memory Corruption Vulnerabilities in SGX Enclaves

Source: https://www.usenix.org/system/files/sec20-cloosters.pdf Authors: Tobias Cloosters, Michael Rodler, Lucas Davi. Download Note: https://jbox.sjtu.edu.cn/l/xF3PaM Contributor: ydh Overview SGX本身无法完全保护三类攻击。第一种是侧信道攻击,第二种是enclave内部的内存破坏,第三种是Iago攻击。 侧信道和Iago攻击不在本文的研究范围内。在legacy code移植或是SGX项目开发的过程中,如果开发者不熟悉SGX特性,很可能会引入漏洞。本文采用了符号执行的方法分析host-to-enclave边界,发现enclave内部可信代码中的漏洞。

[2021.07.02] [NDSS 2021] CHANCEL: Efficient Multi-client Isolation Under Adversarial Programs

Source: https://web.ics.purdue.edu/~ahmad37/papers/ahmad-chancel.pdf Authors: Adil Ahmad,Juhee Kim,Jaebaek Seo,Insik Shin,Pedro Fonseca,Byoungyoung Lee. Download Note: https://jbox.sjtu.edu.cn/l/415lI6 Contributor: lty Overview 英特尔SGX旨在为不受信任的云计算机上的用户数据提供机密性。 但是,处理机密用户数据的应用程序可能包含漏洞,这些漏洞会泄漏信息或被恶意编程以收集用户数据。 SGX可信但是其中运行程序不可信,云服务商是不可信的。 为此,本文提出了CHANCEL,它是一个沙箱,旨在在单个SGX enclave内进行多客户端隔离。CHANCEL允许程序的线程在处理请求时访问每个线程的内存区域和共享的只读内存区域。

[2021.05.18] [NDSS 2021] Emilia: Catching Iago in Legacy Code

Source: https://security.csl.toronto.edu/wp-content/uploads/2021/01/rcui-ndss2021-emilia.pdf Authors: Rongzhen Cui, Lianying Zhao, David Lie. Download Note: https://jbox.sjtu.edu.cn/l/oFjqy9 Contributor: ydh Overview Iago攻击是恶意的操作系统修改运行在TEE中可信应用程序syscall的返回值导致应用程序非预期行为。本文通过fuzz的方法劫持应用程序请求的syscall,并对syscall的返回值fuzz来发现应用程序中潜在的Iago漏洞。 使用本文实现的工具对17个legacy应用程序fuzz,发现了51个Iago漏洞,并对漏洞做了进一步深入分析。

[2021.04.13] [S&P 2015] VC3: Trustworthy Data Analytics in the Cloud using SGX

Source: https://ieeexplore.ieee.org/document/7163017 Authors: Felix Schuster∗, Manuel Costa, Cedric Fournet, Christos Gkantsidis,Marcus Peinado, Gloria Mainar-Ruiz, Mark Russinovich, Microsoft Research Download Note: https://jbox.sjtu.edu.cn/l/HFguB2 Contributor: cyp Overview 用户可以租赁云服务商提供的算力,在基于MapReduce框架下运行大规模的分布式计算,但是云服务商有可能窃取和篡改用户的代码和数据,所以用户希望云服务商可以提供如下安全保证: 代码和数据的完整性和机密性保证 代码执行的可验证性 传统的方法比如同态加密、零知识如果应用到分布式计算中都会又很大的性能消耗,所以作者提出了Verifiable Confidential Cloud Computing(VC3)在没有太多性能消耗的前提下达到需要的安全保证