Intel SGX

注:本文不涉及专业技术细节,放心食用,看不懂也可直接看总结部分


BIOS中的SGX选项

Why

程序要运行,就离不开内存,
程序使用的数据先从硬盘加载进内存,
才被CPU执行.

放在一个具体场景里讲,
软件A将一加密状态的txt文本,
从硬盘加载到内存中并解密,
为之后的执行逻辑做铺垫.

坏蛋B蓄谋已久,
对软件A的运行逻辑进行逆向分析,
针对性的编写了软件B.

B可不是一个安分的正常软件,
因为大家共用内存,它能跑到A的内存位置,
狙击A解密txt的时机,窃取A的明文txt内容,
最后结果是B得逞,给A造成严重的泄密损失.
(内存没有隔离)


How

现代操作系统 Linux Windows Mac,
已充分意识到这个安全问题,
它们给每个程序定下游戏规则,
每个程序,都会被上头分配一块内存作为日常开销,
但规矩是它只能访问这块内存,跑不到别人家内存去,
听起来像是隔离一样的解决方案.
应用程序们生活在平行宇宙中,各过各的相安无事.
(进程虚拟内存空间)

问题暂时得到了解决,
不过很快人们就发现了新的问题,
如果作为上级的操作系统也被恶意程序B搞定了呢?
即程序B拿到了操作系统最高权限,手握大权,
能不能访问程序A的内存,还不是自己说了算?
(提升权限)

安全专家们不得不开始考虑,
假设应用 系统 BIOS都不可信,
要怎样才能实现内存访问控制,
让程序B规规矩矩的,永远别想惦记人家A的内存.

同时前提是,还不能添加新硬件模块给用户添加负担,
这个需求太变态了.
(TCB可信计算基)


What

既然中间商们也会沦陷,直接放弃对它们信赖好了,
Intel的工程师们一拍大腿想到一个解决方案,
直接在CPU里添加一个叫SGX(Software Guard Extensions)的新功能.

现在程序A可以向CPU申请一块内存安全区,
程序A将它的数据和代码载入到这个内存安全区,
该内存安全区的逆天特性是:
恶意程序B,操作系统,甚至BIOS系统,通通无权访问和干涉.

以前恶意程序B只要搞定操作系统就可以拿下程序A,
现在不好使了,它还要搞定CPU,
至此SGX实现内存隔离.
(Enclave安全区)


放在一个具体场景里举例

1Password是一款全球流行的密码管理软件,
日常使用它时,我们需要输入密码密钥等,
执行验证和解密后,才能查看保存在其中的各类密码.

用户把密码输进1Password后,
密码会出现在1Password运行时的内存中,
在以前,拥有操作系统权限的恶意程序B,
是有能力在内存中尝试窥探这些密码密钥的.

现在1Password使用了Intel SGX技术,
把密钥数据和加解密过程扔进了安全区里,
使用操作系统管理员权限也无权访问篡改.
(1Password请给我打钱)


和TPM的区别?

TPM用于OS和应用的静态完整性度量.
SGX除了提供程序加载时的完整性验证外,还保证程序运行时安全,缓解针对程序运行时的攻击.


普通用户如何开启SGX功能?

1 CPU支持SGX功能
2 BIOS支持SGX功能
3 BIOS中开启SGX功能
4 安装Intel SGX PSW软件


SGX相关安全问题

SGX拉高了软件运行时安全的下限,但并非万无一失的,
业界已经对SGX技术展开了广泛的安全研究,
出现了一些针对性的边信道攻击的案例,
如比较出名的SGX Foreshadow 预兆漏洞),
由于内容过于硬核,我基本上没有看懂,
这里内容就不往下展开了.


总结

应用程序运行时申请了一块安全的内存空间,只有它自己能访问,
其他恶意软件,即使是操作系统都无权访问,
加解密过程和密钥放入其中得到了保护,
实现了黑箱子一样的效果.

不依赖TPM芯片,
不用信任TPM芯片,
将可信计算基缩小到了CPU.


参考

SGX技术的分析和研究
http://www.jos.org.cn/html/2018/9/5594.htm#b18

360冰刃实验室-调试Released SGX Enclave
https://www.anquanke.com/post/id/209744

Sgx-Step:一款针对Intel SGX平台的渗透测试攻击框架
https://www.freebuf.com/articles/system/220234.html

SGX可能遇到的攻击
https://zhuanlan.zhihu.com/p/42088755

SGX侧信道攻击综述
https://www.freebuf.com/articles/system/149551.html

Spectre攻击变体SgxSpectre现身能从Intel SGX封装中提取数据
https://www.anquanke.com/post/id/99843

Using Intel’s SGX to keep secrets even safer
https://blog.1password.com/using-intels-sgx-to-keep-secrets-even-safer/

Detecting and Enabling Intel® SGX | Intel Software
https://www.youtube.com/watch?v=bca5NcjoEdc

Foreshadow漏洞
Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution
https://www.usenix.org/conference/usenixsecurity18/presentation/bulck
https://en.wikipedia.org/wiki/Foreshadow

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343