写点什么

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

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

关注

评论

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

合合信息大模型加速器2.0:文档与图表解析全景评测

默语

从内核到可启动镜像:0到1构建你的极简Linux系统

Linux内核拾遗

ISO 镜像文件 Linux内核 Linux发行版

鸿蒙应用开发前置学习-TypeScript

东林知识库

鸿蒙NEXT开发-组件事件监听和状态管理

东林知识库

鸿蒙NEXT开发-面试题库

东林知识库

CST软件对汽车天线仿真(双向混合求解)

思茂信息

cst CST软件 CST Studio Suite

黑龙江信息安全等级保护测评

黑龙江陆陆信息测评部

算力驱动的数字经济正向GDP10%的目标增长

PowerVerse

区块链 人工智能 去中心化 数字经济 算力

夜莺监控新版,中心端连不通的时序库也可以告警了

巴辉特

鸿蒙NEXT开发-ArkTS

东林知识库

HarmonyOS:ArkTS RowSplit 组件自学指南

李游Leo

ArkTS

用友数智秘书来袭!懂管理更懂你的企业级AI助手

用友智能财务

人工智能 AI 财务 会计

鸿蒙NEXT开发-样式的语法和单位包括@Extend和@Styles复用

东林知识库

鸿蒙NEXT开发-应用状态

东林知识库

全民AI时代,大模型客户端和服务端的实时通信到底用什么协议?

JackJiang

网络编程 即时通讯 IM

零信任赋能社交化办公:企业数字化转型中的暴露面收敛与安全升级

权说安全

零信任 访问控制

鸿蒙NEXT开发-界面渲染(条件和循环)

东林知识库

鸿蒙NEXT应用开发-性能优化

东林知识库

鸿蒙NEXT开发-ArkUI

东林知识库

鸿蒙NEXT开发-动画

东林知识库

鸿蒙NEXT开发-知乎评论小案例

东林知识库

鸿蒙NEXT开发-页面路由

东林知识库

鸿蒙NEXT开发-沉浸式导航和键盘避让模式

东林知识库

为什么现在的前端框架发展越来越复杂了?

网站,小程序,APP开发定制

久等!Rust官方著作The Rust Programming Language中文版第2版终于来啦!

博文视点Broadview

高效向量检索实践:阿里云百炼生成+Milvus存储技术方案解析

阿里云大数据AI技术

大数据 数据分析 向量检索 Milvus 百炼

鸿蒙NEXT开发-自定义构建函数

东林知识库

性能测试与故障测试:求同存异与协同价值

FunTester

AigcPanel v0.9.0 震撼发布,功能全面升级!​支持快速一键合成

ModStart

鸿蒙NEXT开发环境搭建

东林知识库

鸿蒙

鸿蒙NEXT开发-stage模型

东林知识库

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