写点什么

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

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

关注

评论 1 条评论

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

Serverless 工程实践 | 快速搭建 Kubeless 平台

Serverless Devs

k8s 架构设计 框架搭建 框架学习

三年沉淀,Apache ShardingSphere 5.0.0 开启数据应用新篇章

SphereEx

Java 数据库 开源 Apache ShardingSphere DateBase

这一次,中国CRM站到风口上了吗?

ToB行业头条

CRM

云原生时代下,容器安全的“四个挑战”和“两个关键

Java 程序员 后端

五、redis配置信息以及常用命令

Java 程序员 后端

五分钟带你读懂!Spring Cloud构建微服务分布式云平台

Java 程序员 后端

京东T7架构师手写的10万字Spring Boot详细学习笔记+源码免费下载

Java 程序员 后端

2021 大厂面试题之 mysql 篇

小麦

MySQL 面试题 大厂

中高级开发面试必问的Redis面试题,看这篇就够了!

Java 程序员 后端

主流的消息队列MQ比较,详解MQ的4类应用场景

Java 程序员 后端

云原生新边界——阿里云边缘计算云原生落地实践

Java 程序员 后端

五分钟学会做一个在线抽奖系统,手把手教你抽奖还学不会嘛?

Java 程序员 后端

CSS页面设计稿构思与实现(三)之UI组件

Augus

CSS 11月日更

五位阿里大牛联手撰写的《深入浅出Java多线程》,站在巨人的肩膀上学习!

Java 程序员 后端

京东T7团队技术4面:线程池+索引+Spring +分布式锁

Java 程序员 后端

docker基础

小麦

为了加快速度,Redis都做了哪些“变态”设计(1)

Java 程序员 后端

为什么你不应该恨Java!

Java 程序员 后端

为什么建议大家使用 Linux 开发?爽(外加七个感叹号)

Java 程序员 后端

事大发了!小助理告诉我:小伙伴21天斩获字节offer的关键竟是这份面试题!

Java 程序员 后端

个性化推荐系统设计(3

Java 程序员 后端

五分钟带你了解Seata分布式事务

Java 程序员 后端

为什么你的insert就死锁了

Java 程序员 后端

Serverless 下的微服务实践

Serverless Devs

阿里云 Serverless 架构 微服务

小学妹与我畅聊黑客渗透技术

喀拉峻

黑客 网络安全 信息安全 渗透测试

二维码扫码登录是什么原理?

Java 程序员 后端

Serverless 架构模式及演进

Serverless Devs

Serverless 架构设计

京东T7架构师用470页就把微服务架构原理与开发实战文档讲完了(1)

Java 程序员 后端

为了加快速度,Redis都做了哪些“变态”设计

Java 程序员 后端

全面解读!构建边云一体的智能应用技术实践

百度开发者中心

最佳实践 方法论 边缘计算 前沿科技

五分钟带你读懂!Spring Cloud构建微服务分布式云平台(1)

Java 程序员 后端

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