RSS订阅信息安全技术跟踪与研究:技术、平台、会议、论文、产业
你现在的位置:首页 / 学术研究 / 正文

Intel SGX新技术学习研究引导手册

1 学术研究 | 2015年5月19日
转载申明:本站原创,欢迎转载。但转载时请保留原文地址。
原文地址:http://www.vonwei.com/post/IntelSGXGuide.html

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/




  • ------------------分隔线----------------

  • 如果感兴趣,欢迎关注本站微信号,跟踪最新博文信息,手机微信扫一扫下面的二维码,即可关注!
  • 微月信公众号
  • 推荐您阅读更多有关于“ 可信执行环境TEE  SGX   ”的文章

    请填写你的在线分享代码
    上一篇:[转]工业界VS学术界:一个年轻员工的视角下一篇:保护进程不被杀掉的各种方法

    猜你喜欢

    评论列表:

    • 1
       OZ国的李巫师  发布于 2017-2-16 14:20:05  回复该留言
    • 总结得很好! 不过Intel很快就在本篇博文发布的当年发布了第6代酷睿CPU(代号Skylake),从该CPU开始,桌面系统开始支持SGX技术。 而随着SGX技术的成熟,2017年,Intel将会发布支持SGX技术的服务器处理器。

    发表评论

    必填

    选填

    选填

    必填,不填不让过哦,嘻嘻。

    记住我,下次回复时不用重新输入个人信息

    本站介绍
    最近发表
    本年最热文章
    本月最热文章
    网站分类
    文章归档