最新消息:非无江海志,潇洒送日月

Intel SGX 新技术学习研究资料总结

系统安全 江海志 241浏览 0评论

SGXIntel开发的新的处理器技术,可以在计算平台上提供一个可信的空间,保障用户关键代码和数据的机密性和完整性,从SGX提出后,其吸引了一批系统和网络安全的研究者,NCCGroup的博客SGX方面的资料进行了一个初步的总结,对研究者学习SGX技术具有很好的引导作用。这里主要根据该博文对SGX进行简单的整理。

目前并没有基于SGX的产品出现,不过学术界已经给出了一些应用来说明SGX的强大,相信工业界也正在开发对应的产品。SGX能将安全应用依赖的可信计算基TCB减小到仅包含CPU和安全应用本身,将不可信的复杂OS和虚拟机监控器VMM排除在安全边界之外。

 

什么是SGX?

SGX全称Intel Software Guard Extensions,顾名思义,其是对因特尔体系(IA)的一个扩展,用于增强软件的安全性。这种方式并不是识别和隔离平台上的所有恶意软件,而是将合法软件的安全操作封装在一个enclave中,保护其不受恶意软件的攻击,特权或者非特权的软件都无法访问enclave,也就是说,一旦软件和数据位于enclave中,即便操作系统或者和VMMHypervisor)也无法影响enclave里面的代码和数据。Enclave的安全边界只包含CPU和它自身。SGX创建的enclave也可以理解为一个可信执行环境TEETrusted Execution Environment)。不过其与ARM TrustZoneTZ)还是有一点小区别的,TZ中通过CPU划分为两个隔离环境(安全世界和正常世界),两者之间通过SMC指令通信;而SGX中一个CPU可以运行多个安全enclaves,并发执行亦可。当然,在TZ的安全世界内部实现多个相互隔离的安全服务亦可达到同样的效果。

 

相关文献资料

—Intel发布了三个博客给出了SGX的设计目标(总共8个设计目标),作为理解SGX的背景材料比较重要:

1Intel? SGX for Dummies (Intel? SGX Design Objectives) : September 2013, Matthew Hoekstra

2Intel? SGX for Dummies – Part 2 : June 2014, Matthew Hoekstra

3Intel? SGX for Dummies – Part 3 : September 2014, Matthew Hoekstra

 

—SGX本身的运行机制可以通过如下资料了解(前三篇是Intel2013HASP workshop上一连出三篇介绍SGX的文章):

4Innovative Instructions and Software Model for Isolated Execution: June 2013, Frank McKeen, Ilya Alexandrovich, Alex Berenzon, Carlos Rozas, Hisham Shafi, Vedvyas Shanbhogue and Uday Savagaonkar, Intel Corporation

5Using Innovative Instructions to Create Trustworthy Software Solutions

6Innovative Technology for CPU Based Attestation and Sealing

7Intel? Software Guard Extensions(Intel? SGX) Instructions and Programming Model: June 2013, Frank McKeen, Ilya Alexandrovich, Alex Berenzon, Carlos Rozas, Vedvyas Shanbhogue and Uday Savagaonkar, Intel Corporation

8Intel? Software Guard Extensions(Intel? SGX): November 2013, Carlos Rozas, Intel Labs (given at CMU)

9Intel? Software Guard Extensions Programming Reference Rev 2 (#329298-002): October 2014

 

德国Technische Universit?t Darmstadt (CASED)的教授Ahmad-Reza Sadeghi作了一个关于嵌入式系统安全的讲座,其中对Intel SGX这块也有一个报告,总结的很不错,如下:

10Trusted Execution Environments Intel SGX

 

了解SGX的基本运行方式和原理后,用户最关心的就是SGX能有什么实际应用了,大家都知道PC时代是“WinTel”时代,也就是微软和因特尔密不可分的关系,最先实用SGX的就是微软了,值得关注的是微软的VC3Haven,文章分布参考如下链接:

11VC3: Trustworthy Data Analytics in the CloudOctober 2014

12Shielding applications from an untrusted cloud with Haven OSDI 2014

 

作为安全方向的新技术,由于还没有实用的系统和产品,分析其安全性就是比较重要的一步,下面资料是关于SGX技术的一些安全分析:

13Intel Software Guard Extensions (SGX) Is Mighty Interesting: July 2013, Rich Mogull – Discusses the positive applications against malware, hypervisors and potential to replace HSMs.

14Thoughts on Intel’s upcoming Software Guard Extensions (Part 1): August 2013, Joanna Rutkowska – Initial high-level thoughts on the functionality provided and how it compliments existing Intel technologies.

15Thoughts on Intel’s upcoming Software Guard Extensions (Part 2): September 2013, Joanna Rutkowska – Lower-level thoughts on good and bad applications for SGX.

16SGX: the good, the bad and the downright ugly: January 2014, Shaun Davenport & Richard Ford –

 

SGX的模拟器与CPU支持

SGX技术有一定理解后,会忍不住想要亲自试试该技术,不过目前好像还没有支持SGXCPU出现,而且模拟器也很难找到。不过,模拟器是肯定存在的,不然微软也无法评估VC3Haven的原型实现了。从Intel发布的文献以及VC3Haven的论文中,可以发现,Intel有一套SGX模拟器,并提供给了微软,而微软嫌性能不够,自己也开发了一套软件SGX模拟器(不过提供的安全保障不强)。因此,想要尝试SGX的模拟器,与Intel和微软联系,要到模拟器是不错的选择。

另外,Georgia Institute of Technology也有一个项目,是用QEMU来模拟SGX,可以参考Intel SGX Emulation using QEMU文献。

至于目前市场上是否存在支持SGX或者SGX2指令集的CPU,答案也比较明显,暂时没有。

参考:

[1] Intel? Software Guard Extensions (SGX): A Researcher’s Primer. https://www.nccgroup.trust/en/blog/2015/01/intel-software-guard-extensions-sgx-a-researchers-primer/

转载请注明:江海志の博客 » Intel SGX 新技术学习研究资料总结

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址