写点什么

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

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

关注

评论 1 条评论

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

频繁操作本地缓存导致YGC耗时过长

AI乔治

Java 架构 JVM GC

极客大学 - 架构师训练营 第六周

9527

《Maven实战》.pdf

田维常

程序员

天呐!价值2980元Java成神面试题竟在Github开源了

996小迁

Java 学习 架构 面试

面试官:面对千万级、亿级流量怎么处理?

艾小仙

Java 缓存 分布式 高并发 中间件

分析和解决JAVA 内存泄露的实战例子

AI乔治

Java 架构 JVM 内存泄露

ConcurrentHashMap核心原理,彻底给整明白了

AI乔治

Java 架构 分布式 线程

web worker的介绍和使用

程序那些事

多线程 Web Worker 异步模型 异步编程 web技术

真香!天天996进不去阿里?看5年苦逼程序猿怎么逆袭阿里P7

小Q

Java 学习 架构 面试 程序猿

小白学算法:买卖股票的最佳时机!

王磊

Java 算法

码农会锁,synchronized 对象头结构(mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!

小傅哥

小傅哥 虚拟机 synchronized mark-word Klass Pointer

狼人杀背后的秘密,实时语音你不知道的那些事

anyRTC开发者

音视频 WebRTC 语音 RTC 安卓

架构师训练营第二周课后作业

天涯若海

极客大学架构师训练营

企业级RPC框架zRPC

万俊峰Kevin

RPC microser Go 语言

Vidyo独特的互联网适应性

dwqcmo

音视频 集成架构 解决方案 智能硬件

甲方日常 40

句子

工作 随笔杂谈 日常

直播带货大战在即:账号交易灰产猖獗

石头IT视角

第6周作业

饭桶

第6周学习总结

饭桶

零基础IM开发入门(三):什么是IM系统的可靠性?

JackJiang

网络编程 即时通讯 IM

DeFi流动性挖矿系统开发技术方案

薇電13242772558

区块链 defi

数字“异化”生存

脑极体

通过GUI界面更改 Ubuntu 20 LTS apt 源为阿里云

jiangling500

ubuntu 阿里云 apt

极客大学 - 架构师训练营 第六周作业

9527

gRPC服务注册发现及负载均衡的实现方案与源码解析

网管

负载均衡 gRPC etcd 服务注册与发现 Go 语言

Flink在窗口上应用函数-6-9

小知识点

scala 大数据 flink

为产业AI去障:联想的边缘突破

脑极体

阿里内部首发1000页涨薪面试宝典:Spring+SpringMVC+MyBatis框架整合开发实战

Java架构追梦

Java 源码 架构 面试 SSM框架

当 TiDB 与 Flink 相结合:高效、易用的实时数仓

Apache Flink

flink #TiDB

在阿里内部,做Java到金字塔顶端的人平时都如何学习源码?

小Q

Java 学习 架构 面试 程序猿

Netty源码解析 -- 零拷贝机制与ByteBuf

binecy

Netty 源码剖析

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