生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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:151015
用户头像

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

关注

评论

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

从传统数据治理转向主动数据治理!

用友BIP

华为云大数据BI 解决方案的超高性价比

IT科技苏辞

Python 操作BeautifulSoup4(爬取网页信息)

度假的小鱼

正则 11月月更 Python BeautifulSoup4

云视频会议哪家强?华为云会议更专业“会”更好!

i生活i科技

华为云大数据轻量级解决方案,让数据“慧”说话

科技怪授

挖掘数据价值,华为云大数据BI解决方案有绝招

科技怪授

Flare Network,跨越互操作性三难困境

股市老人

以原子化服务为基石,面向三大场景打造鸿蒙软硬协同新体验

最新动态

三分钟了解client-go

穿过生命散发芬芳

Client-go 11月月更

极客时间运维进阶训练营第五周作业

独钓寒江

华为云大数据平台,助力企业数字化转型成效明显

爱尚科技

C++学习---类型萃取---is_pointer && is_lvalue_reference/is_rvalue_reference

桑榆

C++ STL 11月月更

2022-11-28:给定两个数组A和B,比如 A = { 0, 1, 1 } B = { 1, 2, 3 } A[0] = 0, B[0] = 1,表示0到1有双向道路 A[1] = 1, B[1]

福大大架构师每日一题

算法 rust 福大大

一文熟悉 Go 函数

陈明勇

Go golang 闭包 函数 11月月更

性能测试知识科普(七):监控能给你带来什么

老张

性能测试 监控指标

W3C白皮书之小程序技术标准

FinFish

小程序 W3C 小程序化 miniapps

mysql与redis的选型问题实践

苏格拉格拉

MySQL 数据库 持久化 redis'

亚马逊云科技云从业者加速训练营上线啦!

亚马逊云科技 (Amazon Web Services)

培训与认证

适用场景全新升级!扩展 Dragonfly2 作为分布式缓存系统架构 | 龙蜥技术

OpenAnolis小助手

开源 架构 分布式 龙蜥技术 dragonfly2

【SpringBoot】配置文件的加载与属性值的绑定

石臻臻的杂货铺

springboot 11月月更

华为云大数据,帮助企业搭好数据底座

IT科技苏辞

富士康智能制造加速营:解决行业当下问题,创造核心技术价值

B Impact

透过现象看本质,HuntingNFT缘何具备成为爆款链游的潜力?

EOSdreamer111

Gradle入门了解

派大星

Gradle

华为云大数据BI解决方案助力“智能智造”

爱尚科技

支持向量机-二分类SVC中的样本不均衡问题:重要参数class_weight

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

做电商的看过来,华为云大数据BI方案驱动业务增长

科技怪授

Linux vi/vim

攻城狮Wayne

vim教程 11月月更 Linux指令

python任务调度利器-APScheduler

AIWeker

Python 任务调度 11月月更

关于部署策略的遐思

在天涯的海角

【web 开发基础】PHP的匿名函数和闭包 (40)

迷彩

闭包 closure web开发基础 匿名函数 11月月更

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