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

可以看到,这些技术都是经过数十年发展验证的成熟技术,此前爆出过的也只是程序运行错误的功能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%的性能。

换一批

延伸阅读

[行业资讯] AI芯片TPU到底能比CPU快多少倍?

AI芯片TPU到底能比CPU快多少倍?

我们生活在一个技术推动整个文明基石的时代。但是,尽管拥有所有辉煌的发明和技术进步,今天世界比以往更倾向于速度和敏捷性。我们已经从传统的有线拨号互联网连接转移到第四代无线网络。光纤的广泛分布使得连接到互联网并以快速的速度访问数据成为可能。同样......

关键字:处理器 TPU CPU

[行业资讯] 面对CPU,供应短缺问题,英特尔表示将全力支持客户业务成长

面对CPU,供应短缺问题,英特尔表示将全力支持客户业务成长

对于新CPU传出供应短缺,英特尔30日强调,下半年面临的一大挑战就是满足更多的需求,正与客户与工厂紧密合作,全力支持客户业务成长。 ......

关键字:CPU 英特尔 处理器

[行业资讯] Intel刚上主流8核心 AMD12核心风雨欲来

Intel刚上主流8核心 AMD12核心风雨欲来

从目前迹象看,Intel八代酷睿在为主流桌面市场首次带来6核心12线程之后,马上又会升级到8核心16线程,从而追上AMD Ryzen锐龙系列,不过AMD可不会坐以待毙。在微星放出的一段B450主板宣传视频中,赫然出现了“Enhanced l......

关键字:CPU AMD 英特尔

[行业资讯] 美国夺回超算头把交椅 95%来自英伟达的GPU

美国夺回超算头把交椅 95%来自英伟达的GPU

时隔5年后,美国暂时夺回了世界超级计算机领域的头把交椅。 美国当地时间6月8日,美国能源部下属橡树岭国家实验室宣布,他们研发出的超级计算机“顶点”(Summit),浮点运算速度峰值可达每秒20亿亿次,接近“神威·太湖之光”超级计算机的......

关键字:CPU GPU 美国

[行业资讯] ARM改进CPU和GPU:Windows运行更快 性能大幅提升

ARM改进CPU和GPU:Windows运行更快 性能大幅提升

芯片开发商ARM宣布对CPU与GPU的一系列改进,当芯片在Windows笔记本上运行时,性能大幅提升。 ......

关键字:ARM CPU GPU

[真心话] 充电时到底该先插手机还是先插电源?作为电工你应该知道...

充电时到底该先插手机还是先插电源?作为电工你应该知道...

手机不离身似乎已经成为当代人的日常状态,如此频繁地使用手机,会十分消耗手机的电量,不经意间,一天充电数次,而且一旦充电方式不正确的话不仅会损伤手机电池,甚至还存在安全隐患。关于手机充电,很多人都忽视了......

关键字:充电 手机 电源

[新鲜事] 阿根廷队告别俄罗斯世界杯,罗永浩:梅西巅峰期已过

阿根廷队告别俄罗斯世界杯,罗永浩:梅西巅峰期已过

6月30日晚,俄罗斯世界杯的赛场上上演16强焦点之战,阿根廷对法国。面对拥有身高、年龄、速度等优势,并坚持打高吊、防反的法国队,阿根廷队显得没有什么办法。虽然两次被幸运女神眷顾并一度以2:1领先,但法国队最......

关键字:阿根廷 世界杯

[真心话] 单片机大师郭天祥的大学六年,看看与你的有何不同?

单片机大师郭天祥的大学六年,看看与你的有何不同?

在哈尔滨工程大学五年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在这里与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学会了如何做一名合格的大学生。......

关键字:单片机 郭天祥
条评论

我 要 评 论

网友评论

大家都爱看

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

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

    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