写点什么

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

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

关注

评论

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

为了面试字节,熬夜肝完这份Redis笔记后,我终于“硬”了一回

小小怪下士

Java redis 程序员 面试

披荆斩棘成功上岸美团、字节、华为,分享Java面经及答案

程序知音

Java java面试 后端技术 Java面试八股文

Go语言入门14—Channel

良猿

Go golang 后端 11月月更

【云原生】Nacos-TaskManager 任务管理的使用

石臻臻的杂货铺

云原生 nacos 11月月更

如何在论文中画出漂亮的插图?

Jackpop

华为开发者大会HDC2022:HMS Core 持续创新,与开发者共创美好数智生活

HarmonyOS SDK

HMS Core

架构误区系列(Architecture Pitfall)

agnostic

构架师

从0制作一个web端网易云

格斗家不爱在外太空沉思

vue.js axios 11月月更

HEM亮相华为HDC2022开发者大会,助力企业数字化办公

最新动态

随机森林-分类森林

烧灯续昼2002

Python 机器学习 算法 随机森林 11月月更

小白入门:什么是CURD?

wljslmz

数据库 sql crud 11月月更

零基础入门网络安全,收藏这篇不迷茫【2022最新】

网络安全学海

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

架构实战营模块四

Geek_408c99

【超干货】阿里内部 Spring Boot 笔记,全硬核知识点

程序知音

Java spring 架构 springboot 后端技术

Verilog语法入门

芯动大师

Verilog 11月月更 组合逻辑电路

【愚公系列】2022年11月 微信小程序-app.json配置属性

愚公搬代码

11月月更

数据库系统的组成

阿泽🧸

数据库 11月月更

一次遍历导致的崩溃

小小怪下士

Java 程序员

全网首次公开!阿里巴巴分布式系统设计核心原理技术内幕

程序员小毕

程序员 架构 面试 分布式 程序人生

Vue-VueRouter使用

格斗家不爱在外太空沉思

vue.js VueRouter 11月月更

架构误区系列1:简单依靠扩容解决容量问题

agnostic

架构误区

漏洞扫描的种类

穿过生命散发芬芳

漏洞扫描 11月月更

设计千万级学生管理系统的考试试卷存储方案

小虎

架构训练营

华为云从入门到实战 | AI云开发ModelArts入门与WAF应用与部署

TiAmo

华为 华为云 云开发 11月月更

设计模式之美-面向对象

GalaxyCreater

设计模式

使用TSDB自动检测时序数据的异常情况

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

纯css爱心代码-最近超级火的打火机与公主裙中的爱心代码(简易版)

肥晨

11月月更 跳动的爱心 代码爱心 爱心代码

uniapp-如何在邀请页面生成海报

格斗家不爱在外太空沉思

vue.js uniapp 11月月更

SAP UI5 barcode 控件的 feature 检查探测机制单步调试 - checkCordovaInIframe

汪子熙

JavaScript Fiori SAP UI5 ui5 11月月更

极客时间架构训练营模块四作业

李晨

架构

【LeetCode】三角形最小路径和Java题解

Albert

算法 LeetCode 11月月更

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