RdRand性能差,约为原始速度的3%,可缓解串扰/Srbds

2020-06-10 05:18:56

继英特尔今天披露串扰/SRBDS漏洞之后,英特尔发布了新的CPU微码,以减少最容易发生/最重要的指令。该漏洞基于MDS,在具有受影响指令的物理内核中易受攻击。我一直在对这个新微码对多个系统的影响进行基准测试,今晚或明天早上会有一份完整的报告……。但这里特别要看一下对RdRand性能的影响。RDRAND、RDSEED和EGETKEY是当前使用新微码缓解的指令。正如前一篇文章中所解释的,减轻串扰涉及在更新分段缓冲区之前锁定整个内存总线,并在清除内容之后将其解锁。现在涉及到的这些指令的锁定和序列化对性能影响非常大,但值得庆幸的是,大多数实际工作负载不应该过多地使用这些指令。我目前在三个系统上运行的正式基准测试包括合成测试和真实测试。但是,作为一个预告片,这里使用众所周知的Stress-NG内核微基准来看看RdRand性能本身的影响。在此英特尔至强系统上之前/之后的唯一更改是更新到新发布的CPU微码。RdRand现在的速度是此Intel Xeon系统的硬件随机数生成器指令的原始速度的~3%。在观察RdRand性能的其他系统中,我看到了类似的大规模惩罚,但幸运的是,对于更多的真实工作负载,这种惩罚要小一些。Linux内核补丁也是在不久前发布的,因为它达到了稳定的内核系列,当使用这个新的CPU微码时,将允许禁用特殊寄存器缓冲区数据采样缓解。在打了补丁的内核上使用RESIMATION=OFF引导将允许禁用SRBDS缓解,或者如果只是想禁用这个新的基于微码的缓解,同时保持启用其他CPU安全缓解,那么即将推出的内核系列也将支持srbds=off。对于这些新的补丁,状态也将通过/sys/devices/system/cpu/vulnerabilities/srbds.报告英特尔关于特殊寄存器缓冲区数据采样的正式指导指出,大多数客户端系统没有看到足够的RdRand/RDSEED/EGETKEY来保证显著的性能影响,但服务器上更常见的工作负载可能会受到影响。如果软件上没有运行不受信任的软件,如果仅在随机值对安全性不重要或RDRAND/RDSEED与其他熵源混合的情况下使用RDRAND/RDSEED,英特尔支持系统管理员禁用缓解。今晚或明天,敬请关注全套串扰/特殊寄存器缓冲区数据采样缓解基准。对于那些欣赏我坚持不懈的基准的人,你可以通过加入溢价,给贝宝小费,或者放弃在这个网站上使用任何广告块来表示你的支持。