一位Google开发人员提出了针对LVI攻击的保护措施

几天前 在博客中我们谈到了LVI, 归类为 一系列新的攻击 仅影响Intel CPU并以一系列攻击为特征,这些攻击基于与MDS,Spectre和Meltdown攻击相同的微体系结构操纵。

之间的主要区别 我攻击他们LVI和MDS是MDS操纵内容确定的 在推测性错误处理或加载和存储操作之后保留在缓存中的微体系结构的数量; 袭击 LVI允许攻击者替换为微体系结构 影响受害者代码的后续推测执行。

虽然 英特尔提到正在开发解决方案 为此,他们提到这种失败很难成功地执行该过程,这就是为什么他们认为必须满足一些要求才能成功完成该过程,而这就是将失败归类为极端困难的原因。

相关文章:
LVI:对Intel CPU的新型推测性执行攻击

此外, 佐拉桥 (Google开发人员) 正在研究此问题,最近提供了一个补丁 适用于具有SESES(推测性执行副作用抑制)保护的LLVM编译器,有助于阻止对影响Intel CPU(例如LVI)的特定推测性执行引擎的攻击。

建议的保护方法 在编译器级别实现,并且基于LFENCE语句的添加 编译器在生成机器代码时将其插入内存中的每个读取或写入指令之前,以及在该块中完成的指令组中的第一个分支指令之前。

缓解措施包括一个编译器步骤,该步骤在之前插入一个LFENCE。
每个内存读取指令,内存写入指令和第一个
在一个末尾的一组终止符上的分支语句
基本块。 

LFENCE指令希望确认存储器中所有先前的读数,并 不允许主动执行遵循LFENCE的指令 在确认完成之前。

LFENCE的使用 导致性能显着下降, 因此, 建议在极端情况下使用保护 对于特别关键的代码。 除了全面保护之外,该补丁还提供了三个标志,可以有选择地禁用某些级别的保护,以减少对性能的负面影响。

在我们的测试中,对BoringSSL软件包使用SESES保护会导致库每秒执行的操作数量减少14倍-带有保护功能的库版本的性能仅是平均水平无保护版本的7.1%性能(根据测试从4%扩展到23%)

除了完整版本的缓解措施之外,此修补程序还实现了三个标志来禁用部分缓解措施.

默认情况下,这些标志是禁用的。 这些标志并非旨在导致安全的缓解措施。 这些指标旨在供希望通过实验来提高性能的用户使用
减轻。

为了比较, 先前为GNU汇编器提出的机制,它会在每次从内存执行加载操作之后,在执行某些分支指令之前执行LFENCE替换, 显示性能下降约5倍 (22%的代码没有保护)。

保护方法也 由英特尔工程师提出并实施,但性能测试的结果尚未发布。 最初,检测到LVI攻击的研究人员预测,应用全面防护时性能会下降2-19倍。

最后,如果您想了解更多信息,可以查看详细信息 在下面的链接中。 


发表您的评论

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

*

*

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