10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

学术研究发现英特尔 CPU 存在新漏洞

英特尔 CPU 互连可以被恶意软件利用,泄露加密密钥和其他信息

  • 2021-03-09
  • 本文字数:1884 字

    阅读完需:约 6 分钟

学术研究发现英特尔 CPU 存在新漏洞

学术研究发现,恶意软件可以利用英特尔 CPU 互连技术,泄露加密密钥和其它信息。

 

美国的芯片黑客又想出了一种方法,利用英特尔的处理器设计选择来窃取敏感数据。

 

伊利诺伊大学香槟分校的博士生 Riccardo Paccagnella、硕士生 Licheng Luo 和助理教授 Christopher Fletcher 对 CPU 环互连进行了深入研究,他们发现,CPU 环互连可以被滥用于旁路攻击(side-channel attacks)。 因此,一个应用程序可以推断出另一个应用程序的私有内存,并窥探用户的按键。

 

Paccagnella 告诉 the Register :“这是第一次利用英特尔 CPU 跨核互连(cross-core interconnect)的争用进行攻击。这种攻击不依赖于共享内存、缓存集、核心私有资源或任何特定的非核心结构。因此,现有的旁路防御技术很难减轻这种攻击。”

 

旁路攻击,如 2018 年的 Spectre 和 Meltdown 漏洞,利用现代芯片微架构的特性,通过与共享计算组件或资源的交互,暴露或推断秘密。

 

Paccagnella、Luo 和 Fletcher 将于 8 月在 USENIX Security 2021 上发表一篇论文,题为《指环王:对 CPU 片上环互联的旁路攻击具备实用性》(Lord of the Ring:Side Channel Attacks on the CPU On-Chip Ring Interconnect Are Practical)。

 

通过这一理解,他们发现他们能够泄露 RSA 和和 EdDSA 实现中的加密密钥位,而这两种已知易受旁路攻击。他们还表明,他们可以监控击键时间,而先前的研究表明,击键时间可以用来重建输入的密码。

 

挖掘“末日山”

 

研究人员面临着两个方面的挑战:首先,英特尔并没有提供太多关于其 CPU 环形总线工作原理的细节,所以需要进行大量的逆向工程。

 

其次,他们的攻击依赖于争用,在这种情况下,争用将监视不同进程同时访问内存时的延迟。这一观察非常困难,因为要识别和过滤大量的干扰,而诸如私有缓存丢失 (系统查找不在缓存中的数据)等有意义的事件则不太常见。

 

Paccagnella 说:“从更高的层次上讲,这个想法是因为共享环互连的带宽容量有限,一个进程的存储器访问会延迟另一个进程的存储器访问。”

 

“通过逆向工程的知识,攻击者 / 接收者可以自行设置,使其负载能够确保被受害者 / 发送者的内存访问延迟,并利用这些延迟作为旁路。”

 

这些重复的内存加载基本上会导致延迟,从而向观察者泄露秘密。

 

Paccagnella 表示,这两种类型的攻击都涉及到本地攻击者在受害者的计算机上运行无权限代码,比如隐藏在软件库或应用程序中的恶意软件,从而窥探其他程序或用户。他说,基于云的场景,即对手是共享系统的管理员或共同租户,也是可能的,但是他和他的同事不愿意这样说,因为演示攻击是在非虚拟化环境中运行的,而且还没有在其他环境中测试过。

 

一些基本知识

 

这种加密攻击假定同步多线程(simultaneous multithreading,SMT)已被禁用,并且已对最后一级缓存(last level cache ,LLC)进行了分区,以防御基于多核缓存的攻击,并已禁用了跨安全域的内存共享。该方法还假定系统设置了清除目标的缓存占用,以防止基于缓存的抢占式调度攻击。

 

这些攻击在英特尔 Coffee Lake 和 Skylake CPU(桌面级 CPU)进行了测试,在 Xeon Broadwell 等服务器 CPU 上应该也能用。目前尚不清楚,具有网状互连的最新英特尔服务器芯片是否也会受到影响。同样,研究人员尚未研究他们的技术如何在 ARM CPU 上工作,因为 ARM CPU 依赖于不同的互连技术。

 

英特尔与美国国家科学基金会一起支持了这项研究,但英特尔并没有过于关注基于 CPU 总线的干预。

 

“英特尔将我们的攻击归类为‘传统旁路’(如 TLBleed、Portsmash 等),”Paccagnella 说。“他们对这种攻击的处理与‘推测执行 / 瞬态执行攻击’(如 Spectre、Meltdown 等)有所不同。也就是说,他们并不认为传统的旁路攻击对攻击者来说很有价值,他们已经公布了关于如何在软件中减轻这些攻击的建议:《针对密码实现的缓解定时旁路指南》(Guidelines for Mitigating Timing Side Channels Against Cryptographic Implementations)、《防御旁路攻击安全最佳实践》(Security Best Practices for Side Channel Resistance)。

 

部分英特尔提议涉及到依靠恒定时间编程原则来防御基于时间的攻击。

 

该论文指出,这种措施将提供一种防御密码学攻击的方法,这取决于代码不在恒定的时间内。但 Paccagnella 表示,这并不是一个必然的结果。

 

“真正的恒定时间代码在实践中可能很难实现,”他说。“此外,为了在环互联中实现‘域隔离’,还需要额外的硬件支持。”

 

作者介绍:

 

Thomas Claburn,常驻旧金山湾区,为 The Register 报道软件开发、DevOps、计算机安全等。

 

原文链接:

 

https://www.theregister.com/2021/03/08/intel_ring_flaw

2021-03-09 16:414644
用户头像

发布了 74 篇内容, 共 31.6 次阅读, 收获喜欢 83 次。

关注

评论 1 条评论

发布
用户头像
LiCheng Luo好像是中国人?这才是真正的黑客
2021-03-09 22:11
回复
没有更多了
发现更多内容

第二周课后练习

jizhi7

TensorFlow 篇 | TensorFlow 2.x 基于 Keras 的多节点分布式训练

Alex

tensorflow keras 分布式训练 AllReduce

优化Banner广告收入的7种策略

易观大数据

基于 iOS14 系统的游戏卡顿问题解决方案

白开水

typescript 游戏开发 iOS14 游戏卡顿 ios开发

面向对象设计原则----单一职责原则(SRP)

张荣召

举办线下活动现场管理需要注意哪些事项?

boshi

管理 探索与实践 热门活动

通过女朋友来通俗易懂讲解“接口回调”,一不小心就被绿

小松漫步

Java 编程 接口 代码

架构师训练营第二周学习总结

张荣召

2.框架设计-依赖倒置原则,接口隔离原则

博古通今小虾米

使用Spring Cloud Stream玩转RabbitMQ,RocketMQ和Kafka

Barry的异想世界

kafka RocketMQ RabbitMQ 消息队列 spring cloud stream

架构训练营-week2-作业

于成龙

作业 架构训练营

面向对象设计原则----接口分离原则(ISP)

张荣召

第二周总结

Geek_ac4080

架构师训练营第二周学习总结

成长者

极客大学架构师训练营

架构师训练营 - 第二周总结

一个节点

极客大学架构师训练营

面向对象设计原则--开放关闭原则(OCP)

张荣召

面向对象设计原则----依赖倒置原则(DIP)

张荣召

极客大学架构师训练营第二周课后总结

jizhi7

SOLID原则

看动画学算法之:排序-基数排序

程序那些事

算法 数据结构和算法 看动画学算法 算法和数据结构

第二周

scorpion

面向对象设计原则----里氏替换原则(LSP)

张荣召

架构一期第二周作业

Airs

Serverless 简介

木易杨

云计算 Serverless AWS

架构师训练营-第二周作业

一个节点

极客大学架构师训练营

依赖倒置原则和接口隔离原则练习

知行合一

揭秘开源项目 Apache Pulsar 如何挑战 Kafka

Apache Pulsar

kafka 开源 云原生 Apache Pulsar 消息中间件

编程语言的本质

张荣召

架构师训练营,第二周总结

子文

第二周 框架学习-作业

刘希文

架构师训练营第二周作业

文智

极客大学架构师训练营

学术研究发现英特尔 CPU 存在新漏洞_硬件_Thomas Claburn_InfoQ精选文章