TLBleed漏洞:通过探测TLB获取CPU秘钥
极客时间编辑部
讲述:丁婵大小:1.09M时长:02:23
最近,VUsec 安全研究员本·格拉斯(Ben Gras)在一篇文章中写道,一个影响英特尔处理器的边信道漏洞 TLBleed,可能会通过窥探翻译后援缓冲器 TLB 泄漏信息。
格拉斯称,他可以提取 GPG 所使用的加密密钥,利用 TLBleed 漏洞攻击,成功获取了在 GPG 中(libgcrypt)的 256 位 EdDSA 密钥,成功率为 98%。
据悉,TLB(翻译后援缓冲器)是一种缓存,可以加速将常用虚拟地址转换为物理内存地址。TLBleed 通过使用 TLB,来检测 CPU 储存器中有用的信息,为超线程访问运行在同一内核上的另一个超线程的信息提供了一种方式。
关于这个漏洞,人们最关心的是,它使用了数据访问而不是正在执行的代码路径,这意味着现有对已知边信道攻击的保护措施,可能无法有效对抗 TLBleed。
事实上,格拉斯提到了基于 TLBleed 的第二种攻击,这种类型的攻击利用了机器学习技术,可能会让最近的 libgcrypt(GPG 的底层库)版本发生数据位泄漏,其中包括一个侧通道抗性 RSA 算法的实现。
对于这个漏洞,英特尔并不打算修复它,他们认为,一个能够正确保护自己免受其他类型信道攻击的程序,不管有没有使用加密密钥,其数据访问模式看起来都是一样的,如果能做到这样一点,也就会对 TLBleed 免疫。
虽然,格拉斯也承认这一点,但是他认为,很少有程序能写得这么完美,libgcrypt 的 RSA 密钥泄露就是最好的例子。
而 OpenBSD 的维护者决定,禁用对英特尔处理器的并发多线程(SMT)。由于很多现代机器不再提供在 BIOS 设置中禁用超线程的能力,因此,可以在调度程序中禁用额外的处理器线程。未来,OpenBSD 将会将此策略扩展到其他 CPU 和其他架构。
目前,还不清楚其他厂商是否会在操作系统的级别上采取任何措施来解决这个问题。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论