首页 > 嵌入式硬件 > 嵌入式处理器

可以看到,这些技术都是经过数十年发展验证的成熟技术,此前爆出过的也只是程序运行错误的功能bug,并没有如此严重的安全漏洞,而且推测执行和乱序执行对性能的提高都是成倍的影响力,例如在模拟器上的验证表明,关闭乱序执行大约会损失一半的性能,关闭推测执行中的分支预测则会将处理器的最大指令吞吐的理论上限打回上世纪90年代的水平,因此这两项技术已经成为当之无愧的高性能微处理器的结构顶梁柱。而根据推测执行和乱序执行的框架设计,其中有一个叫做重排序缓冲(ROB)的部件会负责树立推测状态和正常状态之间的分界线,有了ROB的保护之后,推测执行(分支预测)和乱序执行的状态信息就不会被上层感知,这是写在每一本计算机体系结构教科书里的内容,被一代又一代的工程师沿用。

现在,这个内容被彻底改写了。

漏洞原理

虽然指令可以不按顺序执行,为了确保乱序执行的效果不对机器状态发生影响,在乱序执行过程中发生的异常错误和安全检查违例,都要等到指令最后提交结果、并确认推测状态无误时才发起处理,如果发生错误,指令结果将被丢弃,异常处理进行完毕后回到正常状态。如果在乱序执行过程中就对指令进行异常处理,就会导致代码发生异常的位置和实际执行位置不匹配,打破了乱序执行不得影响程序状态的规则,从而破坏辛苦写代码的码农们所感知到的编程模型。如果指令通过了检查,确认无误,指令的操作结果才会更新到缓存与相关寄存器上,从而可以被软件读取。因此从指令执行到进行最后的提交检查之间存在一个可以利用的时间窗口,按照目前的乱序执行窗口和处理器执行频率计算,大概有十几个纳秒到几十个纳秒的时间,可供继续超前执行大约几十到一百多条指令。这个时间窗口成为了“熔毁”的攻击点。

 

在常规状态下,访问被保护的敏感区域会直接被权限鉴别的过程给拒绝,但是熔毁在这个小的时间窗口中,故意插入指令访问了一些本该被保护的关键区域,这些敏感数据就会被提至处理器核心内部的寄存器里参与运算。直到这一步,ROB仍然在维护超前执行状态 - 正常状态的分界线,整个系统仍然在保护之下,因为虽然敏感数据被提至处理器内部,但是并未经过安全检查和异常检查的确认,所以它的值只能用来作临时运算,不能用来参与正常运算,不会被更新到架构可见寄存器与缓存上,也就无法被上层软件读取,而等检查进行到它所处位置的时候,CPU就会发现问题,然后及时制止,所以不会发生问题。但是这里出现了整个漏洞利用中最漂亮的一步:时间差分攻击。

既然敏感数据已经被提取至CPU核心内部可以参与临时计算,那么就可以用它作为存储器访问的路标k,把内存中的第k块数据装入缓存。这大概要花费上百个时钟周期也就是大约几十纳秒,这个时间处在乱序执行允许的窗口范围内,如果窗口范围不够大了,还可以用其他手段再把这个窗口拉大一些。但终归到最后,乱序执行的指令要走到提交检查的一步,CPU检查发现这个敏感数据被访问了,就会把对应指令的结果抛掉,k的值被扔掉以后,恶意代码就无法读取到k的值了。而这里遗漏了关键的一点,在乱序执行中被

装入缓存的内存第k块数据,并没有被清理。于是后继代码就可以大大方方地把相关内存地址都扫一遍,放在缓存里面的数据的访问延迟与放在内存里面的数据是不同的,如果扫描到第10块内存的时候发现它的响应速度特别快,就可以确定先前被读取上来的k值是10。

另一个幽灵漏洞的原理与此类似,但利用的是推测执行(主要是分支预测)的指令,从执行到进行安全检查之间的时间差,在推测执1行状态下,利用此时触发权限违例不会被立即掐死的特点,执行一些恶意代码把敏感数据装入CPU寄存器参与临时计算,随后用这个敏感数据制作一个内存地址装入缓存,再触发随后的时间差分攻击。

效果与防护

熔毁和幽灵利用乱序执行和推测执行,绕过了权限检查等安全措施,可以访问操作系统内核乃至其他程序的内容。其中熔毁更容易触发利用,因此才有大家已经看到的盗取浏览器密码的实例,而幽灵漏洞需要受攻击目标程序的分支入口点结构满足一定条件才能触发,难度相对较大,因此网上还没有发现基于幽灵漏洞的信息泄露实例出来。需要指出的是,幽灵和熔毁漏洞都只能读取敏感信息,不能修改(因为乱序执行/推测执行状态下的修改在未通过检查时一定会被抛弃),算是不幸中的万幸。

由于攻击的是硬件漏洞,因此目前市面所有主流操作系统,包括windows,linux,Mac OS都处在攻击范围内,隔离程度不够高的众多半虚拟化方案,Docker,LXC等,也在受影响范围,因此这个漏洞将极大地影响云计算服务提供商。目前Google,Amazon,国内的阿里,腾讯等大型云服务提供商都已宣布了补丁计划。

从业界厂商的角度看,尽管Intel,AMD,ARM各有说辞[7][8][9],但从专业从业人士的角度看,Intel妥妥地同时受到熔毁和幽灵两个漏洞影响,而AMD和ARM在熔毁漏洞面前也只是暂时安全,熔毁的攻击原理也适用于AMD和ARM,只是因为分支预测器结构不同、流水线长度较短导致可利用的时间窗口不大等等因素,才没有像Intel一样被熔毁攻破。而幽灵则针对分支预测器进行注入攻击,目前所有厂商的分支预测器部分都没有做比较好的安全防护,因此Intel和ARM,AMD都会受到影响,而且分支预测器为了提高性能,天生就设计成部分地址哈希进行模糊匹配的模式,使得相关防御措施很难在不伤害性能的情况下修补漏洞。

针对熔毁漏洞,目前已有的技术手段主要是通过软件层次将内核页表与用户页表尽可能地隔离,这种技术的一个实现方案叫KAISER,其变种已经被各大操作系统采用作为熔毁漏洞的临时补救措施。这种技术方案会提高用户态与内核态的切换开销,快速系统调用的初步测试证明,内核系统调用的速度降低到了原先的42%,而利用现代处理器的PCID特性进行优化后,能够恢复到57%的水平[9]。具体的应用程序下降幅度取决于用户程序与内核交互的频繁程度,linxu kernel开发人员的测试结果从10%~20%+不等,PCID能够弥补大约5%-7%的性能。

换一批

延伸阅读

[行业资讯] 中天微首次赴台 广邀业者加入阿里巴巴IoT生态系统

中天微首次赴台 广邀业者加入阿里巴巴IoT生态系统

成立于2001年的CPU IP供应商杭州中天微系统公司(C-SKY)自2018年4月被阿里巴巴集团全资收购后,由于成为阿里巴巴建构云端一体的整体IoT生态链的重要一环,已大幅提升了市场能见度与重要性。带着丰富的集团资源,中天微此前首度在台湾......

关键字:CPU 阿里巴巴 生态链

[行业资讯] 明年首季或再度跌价10%,三大主因导致NAND闪存旺季不旺

明年首季或再度跌价10%,三大主因导致NAND闪存旺季不旺

TrendForce存储器研究(DRAMeXchange)分析,中美贸易冲击升温、英特尔CPU缺货、苹果新机出货量不如预期等3大因素冲击,造成NAND Flash旺季不旺,展望明年上半年供过于求的情况恐更加显著,价格跌势难止,预估第1季NA......

关键字:存储器 NAND Flash CPU

[行业资讯] Intel再增5亿美元额外资本支出:用于提升14nm产能

Intel再增5亿美元额外资本支出:用于提升14nm产能

虽然14nm行将收尾,但是却有大量的客户在赶“末班车”,导致CPU供货告急。Intel年初宣布增加10亿美元的额外资本支出用于转向更新的、更先进的生产工具,以便增加产能,在近日的第39届纳斯达克投资者会议上,首席工程官、技术、系统架构和客户......

关键字:CPU 英特尔 芯片

[行业资讯] 9代酷睿作为的“钎焊工艺”到底是个什么鬼?

9代酷睿作为的“钎焊工艺”到底是个什么鬼?

9代酷睿处理器已经发布了不少型号了,虽然Core i7-9700K加了2个核心但是却删了超线程。而最吸引人的点却是传说中的“钎焊工艺”,今天我们来简单聊聊这个“钎焊”到底是个什么东西。先不说处理器是什么封装,只从上半部分比较的话,桌面级CP......

关键字:CPU GPU 处理器

[行业资讯] 中国RISC-V产业联盟成立 旨在实现CPU自主可控繁荣

中国RISC-V产业联盟成立 旨在实现CPU自主可控繁荣

致力于实现CPU的自主可控繁荣,10月17日,中国RISC-V产业联盟(China RISC-V Industry Consortium)和上海市RISC-V专业委员会在上海正式成立,RISC-V产业化高峰论坛同时举办。 ......

关键字:CPU 上海 RISC-V产业

[趣科技] 谷歌惊天预言:人类将在2029年开始实现远距离性爱与永生

谷歌惊天预言:人类将在2029年开始实现远距离性爱与永生

作家、发明家、计算机科学家、谷歌首席未来学家雷·库兹韦尔(Ray Kurzweil)在接受《花花公子》杂志专访时表示,在不远的将来,技术将让我们变得更聪明、更健康,人类将在2029年开始实现永生,远距离的性爱将发生。......

关键字:谷歌 人类 永生

[新鲜事] 科学家证实:最早拥有自我意识的物种竟然是海豚!

科学家证实:最早拥有自我意识的物种竟然是海豚!

近期,研究人员发现宽吻海豚(bottlenose dolphin)是自我意识出现最早的物种,甚至比人类和黑猩猩还要早。......

关键字:海豚

[疯狂史] 一个只会投机取巧的程序员的奇葩经历,编程没有“捷径”

一个只会投机取巧的程序员的奇葩经历,编程没有“捷径”

在讲述这个故事之前,我有一句话要说:编程是一件特别难的事情!成为优秀的程序员没有捷径,你要拥有高智商,要保持谦逊,还要不断的努力,犯错,在错误中成长,深刻理解你所学习的材料。但是有些人就是一定要寻找捷径,而其中之一,就是使用欺诈的手段。......

关键字:程序员 编程
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14