碰撞+探查和加载+重新加载:两种允许在AMD处理器上过滤数据的技术

在上一篇文章中,我们讨论了无法在第十代之前的英特尔处理器中修复的错误。 现在这个时候 影响AMD处理器的错误。 这是一个由...组成的团队 格拉茨工业大学的研究人员 (奥地利),以前因开发MDS,NetSpectre,Throwhammer和ZombieLoad的攻击方法而闻名。

他们现在致力于对特定的AMD硬件优化和 开发了两种攻击第三方渠道的新方法 在预测第一级AMD处理器的缓存通道期间处理数据泄漏的方法。

方法 可用于减少ASLR保护, 恢复易受攻击的AES部署中的密钥,并提高Spectre攻击的效率。

在他们的研究中,他们报告说 他们发现了问题 在渠道预测机制(形状预测器)的实现中 在一级CPU数据缓存中 (L1D),用于预测哪个缓存通道反映了特定的内存地址。

AMD处理器中使用的优化基于μ标签验证。 通过将特定的哈希函数应用于虚拟地址来计算μTag。 在手术过程中,e通道预测机制使用μTag 确定表的缓存通道。

因此, μTag允许处理器将自身限制为仅访问一个特定通道,而不列出所有选项,从而大大降低了CPU功耗。

脆弱性体现在 基于微架构的AMD处理器 推土机,打桩机,压路机,Zen(Ryzen,Epic),Zen +和Zen2。

AMD已于23年2019月XNUMX日收到有关此问题的通知,但尚未发布包含有关漏洞阻止信息的报告。

根据研究人员, 通过提供MSR位,该问题可能在微码更新级别崩溃 选择性地禁用频道预测系统,类似于英特尔如何管理过渡预测机制的关闭。

在2011年至2019年间制造的各代AMD处理器上进行通道预测系统实施的逆向工程期间, 揭示了两种针对第三方渠道的新技术:

  • 碰撞+探针: 允许攻击者跟踪与CPU在同一逻辑内核上运行的进程的内存访问。
    该方法的本质是使用虚拟地址,该地址导致用于计算μTag的函数的哈希冲突以跟踪内存访问。 与Intel处理器上使用的Flush + Reload和Prime + Probe攻击不同,Collide + Probe不使用共享内存,并且在不知道物理地址的情况下工作。
  • 加载+重新加载:允许非常精确地确定CPU的同一物理内核中的内存访问轨迹。 该方法基于以下事实:物理存储单元只能在L1D高速缓存中放置一次。
    也就是说,在不同的虚拟地址访问相同的内存位置将迫使该单元退出L1D缓存,从而使您能够跟踪内存访问。 尽管攻击依赖于共享内存,但它不会重置缓存行,因此可以进行不替换顶级缓存中数据的隐身攻击。

基于“碰撞+探测”和“加载+重新加载”技术, 研究人员展示了各种攻击场景 通过第三方渠道:

显示了使用方法的可能性 在两个流程之间组织一个隐藏的间接沟通渠道, 允许以每秒588 kB的速度传输数据。

使用μTag中的冲突,可以减少熵 用于地址空间布局随机化(ASLR)的不同变体 并绕过ASLR保护 在核心 完整的最新Linux系统.

显示了攻击的可能性 减少用户应用程序的ASLR熵和 在沙盒环境中执行的JavaScript代码的使用 以及在其他来宾环境中运行的代码。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。