写点什么

学术研究发现英特尔 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:414331
用户头像

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

关注

评论 1 条评论

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

分布式系统的核心:共识问题

多颗糖

分布式计算 计算机基础 分布式系统 架构师

第三周作业

icydolphin

极客大学架构师训练营

Mongodb异常关闭,再次启动报错

MySQL从删库到跑路

mongodb

Golang单例模式手写稿

Jacky.Chen

最完整的PyTorch数据科学家指南(2)

计算机与AI

学习 PyTorch

集中日志系统ELK

Java个体户

ELK

[Python3]三子棋游戏!祝大家中国71周年国庆节快乐!

MengZian

Python

区块链3.0时代:大规模商业应用开发即将实现

CECBC

区块链 数字金融

第三周-代码重构-学习总结

刘希文

架构师训练营第三周命题作业

成长者

极客大学架构师训练营

架构师训练营第 1 期 week2 总结

张建亮

极客大学架构师训练营

架构师训练营第二周作业

xs-geek

vagrant 开发环境配置

孙志平

设计模式第三周总结「架构师训练营第 1 期」

天天向善

为什么Rust的println!不会发生所有权转移?

袁承兴

rust 元编程

架构师训练营第二周总结

xs-geek

架构师训练营 Week3 代码重构 - 学习总结 设计模式

spring 设计模式 JUnit

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

成长者

极客大学架构师训练营

设计模式第三周作业「架构师训练营第 1 期」

天天向善

单例模式 组合模式

Springboot 邮件任务

hepingfly

springboot 发送邮件

第三周作业

极客大学架构师训练营

Linux忘记root密码怎么办

MySQL从删库到跑路

Linux 服务器 root密码 root

spring-boot-route(二)读取配置文件的几种方式

Java旅途

Java Spring Boot

JD-GUI反编译jar包为Java源代码

MySQL从删库到跑路

Java jar 程序员 Spring Boot jar包的小秘密

LeetCode题解:242. 有效的字母异位词,数组计数,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构师训练营第 1 期 week2

张建亮

极客大学架构师训练营

week03

……

Week 3 Assignment

Yinan

区块链可以为物联网做些什么?

CECBC

区块链 物联网

当区块链遇见共享经济,会碰撞出怎样的火花?

CECBC

区块链

架构师训练营第 1 期 week3

张建亮

极客大学架构师训练营

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