最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

TLBleed 漏洞:通过探测 TLB 获取 CPU 秘钥

  • 2018-06-27
  • 本文字数:1022 字

    阅读完需:约 3 分钟

VUsec 安全研究员 Ben Gras 在一篇文章中写道,一个影响英特尔处理器的边信道漏洞(称为 TLBleed )可能通过窥探翻译后援缓冲器(TLB)泄漏信息。

Gras 将在接下来的 Blackhat 2018 大会上介绍他的研究发现,声称他可以提取 GPG 所使用的加密密钥:

我们的 TLBleed 漏洞攻击成功获取 libgcrypt(在 GPG 中使用)的 256 位 EdDSA 密钥,成功率为 98%,只需单独监视共驻超线程上的签名操作,分析耗时 17 秒。

TLB 是一种缓存,用于加快将常用虚拟地址转换为物理内存地址的速度。 TLBleed 通过使用 TLB 来检测 CPU 寄存器中有用的信息,为超线程访问运行在同一内核上的另一个超线程的信息提供了一种方式。此漏洞与 Spectre 和 Meltdown 无关,这两个漏洞都利用推测执行故障泄漏 CPU 缓存中的信息。

关于这个漏洞,人们最关心的是,它使用了数据访问而不是正在执行的代码路径,这意味着现有对已知边信道攻击的保护措施可能无法有效对抗 TLBleed。事实上,Gras 提到了基于 TLBleed 的第二种攻击,该攻击可能会让最近的 libgcrypt 版本发生数据位泄漏,这一版本的libgcrypt 包含了一个边信道抗RSA 实现。第二种类型的攻击利用了机器学习技术。The Register 特约作者Chris Williams 可以访问Gras 等人的白皮书,他解释说,该团队使用分类器来识别敏感操作,包括基于TLB 延迟的加密操作。

英特尔不打算解决这个漏洞,他们认为,一个能够正确保护自己免受其他类型边信道攻击的程序,例如,不管是否使用加密密钥,其数据访问模式看起来都是一样的,如果能做到这样一点,也就对TLBleed 免疫。Gras 虽然也承认这一点,但他认为,很少有程序写得这么完美,libgcrypt 泄露RSA 密钥就是最好的例子。

OpenBSD 维护者采取了不一样的立场,他们决定禁用对英特尔处理器禁用并发多线程(SMT):

由于很多现代机器不再提供在 BIOS 设置中禁用超线程的能力,因此,可以在我们的调度程序中禁用额外的处理器线程。另外,因为我们怀疑它存在严重风险,所以默认将其禁用。

OpenBSD 将在未来将此策略扩展到其他 CPU 和其他架构。

对操作系统级具有较低侵入性的缓解措施是防止在同一内核的不同进程上并发执行两个线程,不过这要对操作系统的调度器做出修改,而且不是个小改动。

目前还不清楚其他厂商是否会在操作系统级别上采取任何措施解决 TLBleed 问题,或者云提供商是否会提供阻止两个不同虚拟机共享相同内核的可能性。InfoQ 将会带来更多相关信息。

查看英文原文 TLBleed Can Leak Cryptographic Keys from CPUs Snooping on TLBs

2018-06-27 09:151017
用户头像

发布了 731 篇内容, 共 433.8 次阅读, 收获喜欢 1997 次。

关注

评论

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

架构实战营第 4 期 -- 模块四作业

烈火干柴烛灭田边残月

架构实战营

Hoo虎符研究院 | 币海寻珠——2021年12月月底NFT榜单(2021.11.22 - 2021.12.21)

区块链前沿News

NFT 虎符交易所 虎符研究院 Hoo交易所

学习基本黑客技术

喀拉峻

网络安全 安全 渗透测试

案例应用 l 机器视觉"OCR识别"技术,高效解决医疗药盒字符检测难题

矩视智能

机器视觉 工业视觉 工业机器视觉 工业界机器学习

5G很美丽,也要解好题:为什么今天必须关注5G-Advanced?

脑极体

农信机构如何推动供应链金融?

CECBC

阿里云混合云重磅亮相中国信通院2021混合云大会

Agora Flat:在线教室的开源初体验

声网

人工智能 开源 flat

Flink CDC 系列 - 同步 MySQL 分库分表,构建 Iceberg 实时数据湖

Apache Flink

大数据 flink 编程 后端 实时计算

盘点 2021|日更一年的收获与改变

石云升

28天写作 12月日更 盘点2021

为什么要空投?(24/28)

赵新龙

28天写作

如何利用区块链提高供应链金融数字化水平?

CECBC

区块链将在元宇宙旅游中发挥哪些价值?

CECBC

HarmonyOS(鸿蒙)——单击事件

李子捌

28天写作 21天挑战 12月日更

十大排序算法思想与Python实现

宇宙之一粟

Python 排序算法 12月日更

微服务架构下请求调用失败的解决方案

JavaEdge

12月日更

面试官:说说32位和64位

喵叔

28天写作 12月日更

LabVIEW灰度图像操作与运算(基础篇—2)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 灰度图像操作与运算

JavaScript 中对象和映射之间的 6 个区别

devpoint

JavaScript map Object 12月日更

如何根据不同业务场景调节 HPA 扩缩容灵敏度

xcbeyond

Kubernetes 28天写作 12月日更

一指阁:用宜搭实现全面数字化管理,助力企业打开十亿市场新空间

一只大光圈

阿里巴巴 低代码 数字化 钉钉宜搭

读《思辨与立场》-09决策的艺术10掌控你的非理性倾向

wood

28天写作 批判性思维 思辨与立场

mybatis中如何防止sql注入和传参

网络安全学海

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

技术进步和个人幸福

mtfelix

28天写作

Redis AOF 持久化详解

程序员历小冰

redis aof 28天写作 12月日更

Golang中的协程是干什么用的?

liuzhen007

28天写作 12月日更

圣诞节

圣迪

圣诞节 圣诞老人 平安夜 尼古拉斯 长筒袜

模块3作业

miliving

【CSS 学习总结】第四篇 - CSS 选择器-伪类和伪元素

Brave

CSS 12月日更

元宇宙如何改写人类社会生活

CECBC

Yes And

将军-技术演讲力教练

TLBleed漏洞:通过探测TLB获取CPU秘钥_语言 & 开发_Sergio De Simone_InfoQ精选文章