大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

Lazy FP 状态还原漏洞公布,大多数 Intel 的酷睿 CPU 受其影响

  • 2018-06-25
  • 本文字数:926 字

    阅读完需:约 3 分钟

Intel公布了一个新的漏洞,该漏洞影响了大部分酷睿处理器,使其成为类似于 Spectre 和 Meltdown 的旁路攻击的目标。该漏洞被称为 Lazy FP 状态还原(CVE-2018-3665),允许进程推断出属于其他进程的FPU/MMX/SSE/AVX 寄存器的内容。

x86 处理器的功能使得新的漏洞成为可能,它允许在上下文切换时懒惰地切换 FPU 。实际上,由于 FPU 寄存器数量通常要多得多,FPU 状态的快速保存和还原相对来说较为昂贵,所以操作系统可以选择使用 Lazy FP 状态还原。这意味着 FPU 状态的实际保存和还原会延迟到指令想要访问它时才做。这是有意义的,因为并不是所有的程序都使用 FPU,但是它使得攻击者可以通过使用该寄存器作为内存地址的一部分来访问不允许它们访问的 FPU 寄存器,这样 CPU 推断性地访问到了它。稍后,CPU 将检测并修复该错误,但这种推测性执行的痕迹仍然留在缓存中,使其可供攻击者使用。

据发现此漏洞的安全研究人员 Colin Percival 表示,与之相关的主要风险在于 AES 加密密钥通常存储在 FPU 的 SSE 寄存器中。尽管 Percival 只花了五个小时来编写漏洞利用代码,他表示,远程利用漏洞要比 Meltdown 困难得多:

你需要能够在与目标进程相同的 CPU 上执行代码,以此方式窃取加密密钥。 你还需要在 CPU 管道完成之前按一定的顺序执行特定操作,因此执行的窗口很窄。

这个新的漏洞类似于 Meltdown( https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5754 ),因为它允许从用户空间程序中读取受保护的内存内容,但它仅限于跨进程边界的某些寄存器内容。

从好的方面来看,这个漏洞可以在操作系统级别修复,而不需要像 Spectre 和 Meltdown 那样使用微码更新。实际上,只有运行特定处理器和操作系统组合的系统才会受到影响。特别是,早期的 Linux 版本(4.9 版本以前),FreeBSD 和一些虚拟机管理程序在 Intel 酷睿 CPU 上运行会受到影响。微软表示,所有Windows 版本都使用Lazy PF 状态还原,并且无法禁用。此外,目前没有缓解措施或解决方法。

虽然目前还不太清楚非Intel 处理器有没有这个漏洞,但 AMD 对 SecurityWeek 称他们的产品不受此影响

InfoQ 会在有新信息时更新这篇文章。

查看英文原文: Lazy FP State Restore Vulnerability Affects Most Intel Core CPUs

感谢冬雨对本文的审校。

2018-06-25 02:372057

评论

发布
暂无评论
发现更多内容

踩上元宇宙的风口后,消费级AR眼镜真的复兴了吗?

脑极体

书单推荐|书籍是人类的良师益友

图灵社区

书单 教师节

二本Java菜鸟9面字节遭虐,苦修数月深造这份 Java面试宝典,终进阿里

程序知音

Java java面试 程序员面试 后端技术 Java面试八股文

在Chrome浏览器中最快速实现拾色器(颜色吸管)

茶无味的一天

前端 谷歌浏览器

Go设计模式“金旋风”——代理模式

Regan Yue

Go 设计模式 代理模式 10月月更

Vue3入门指北(十)侦听器

Augus

Vue3 10月月更

推荐一款id 生成器:Hashids

xiaoxi666

HashMap高阶用法,十倍提升开发效率

一灯架构

Java java面试 10月月更

浅谈中小企业如何正确选择网络营销模式

石头IT视角

【牛客刷题-算法】NC141 判断是否为回文字符串

清风莫追

数据结构 算法 刷题笔记 10月月更

开发者有话说|在刷怪升级的成长路上,技术人应该掌握的三个大招

迷彩

个人成长 10月月更 学会学习 学会提问 学会思考

pgsql数据库自动备份

衝鋒壹号

10月月更

Android Coder带你了解反射

子不语Any

后端 java; 10月月更

【牛客刷题-算法】NC151 最大公约数

清风莫追

数据结构 算法 最大公约数 10月月更

【愚公系列】2022年10月 Go教学课程 020-Go容器之数组

愚公搬代码

10月月更

Qt|使用QuaZip压缩包中文乱码问题解决

中国好公民st

c++ qt 10月月更

2022-10-06:以下go语言代码输出什么?A:[1 2 3] [1 2 3] ;B:[1 2 3] [3 4 5]; C:[1 2 3] [3 4 5 6 7 8 9];D:[1 2 3] [3

福大大架构师每日一题

golang 福大大 选择题

你不知道的Java工具类库,十倍提升开发效率

一灯架构

Java java面试 10月月更

竟然还有人说ArrayList是2倍扩容,今天带你手撕ArrayList源码

一灯架构

Java java面试 10月月更

【牛客刷题-算法】加精 _ 合并两个有序的链表 - 从思路设计、bug排除到最终实现的全过程

清风莫追

算法 链表 算法数据结构 10月月更

【C语言难点突破】指针的常见易错点

Geek_65222d

10月月更

为什么大家偏爱怪异盒模型border-box?

茶无味的一天

CSS 前端 HTML5, CSS3

阿里P8面试官总结的《2022最新java面试题》,搞定90%以上的技术面

程序知音

Java 程序员面试 后端技术 Java面试题 Java面试八股文

微信业务架构图 & 学生管理系统方案

无语

「架构实战营」

与学长共话成长,领跑毕业新未来

宇宙之一粟

校招 10月月更

高效编程不一定意味着要疯狂写代码

宇宙之一粟

程序员 10月月更

【Nacos源码之配置管理 三】TaskManager 任务管理的使用

石臻臻的杂货铺

nacos 10月月更

【Nacos源码之配置管理 四】DumpService如何将配置文件全部Dump到磁盘中

石臻臻的杂货铺

nacos 10月月更

【结构体内功修炼】结构体实现位段(二)

Albert Edison

C语言 结构体 10月月更 位段

【一Go到底】第六天---值类型、引用类型、标识符

指剑

Go golang 10月月更

爬虫练习题(二)

张立梵

Python. 10月月更 爬虫案例

Lazy FP状态还原漏洞公布,大多数Intel的酷睿CPU受其影响_Linux_Sergio De Simone_InfoQ精选文章