英特尔酷睿 CPU漏洞安全通告

发布时间 2018-06-15

漏洞编号


CVE-2018-3665


漏洞级别



CVSS分值


厂商自评:4.3   CVSS分值:官方未评定


影响范围


该漏洞影响所有英特尔酷睿微处理器,它存在于实际 CPU 中,因此无论用户使用的是哪种操作系统如 Windows、Linux、BSD等,只要运行基于英特尔酷睿的 CPU 且使用“Lazy FPU 上下文切换”功能即受影响。


漏洞描述


2018年6月14日,Intel 官方披露处理器中浮点寄存器状态推迟保存的特性存在漏洞,利用此漏洞,结合推测执行和侧信道攻击可以泄露另一个进程的浮点寄存器状态,可能造成敏感信息泄露。


现代处理器在进程切换时可以选择推迟保存和恢复某些CPU 的上下文状态来提高系统性能。


其中FPU 为浮点单元,可用于高精度浮点运算,因为不是所有的应用程序都使用FPU,所以利用推迟保存/恢复的特性,如果新调度的进程不使用FP 指令,则不需要切换FPU 上下文状态,以此来减少执行周期,提高性能。当新进程使用FP 指令时,会触发“设备不可用(DNA)”异常,通过异常处理来切换FPU 上下文状态。


利用该特性,可以通过推测执行和侧信道攻击在触发DNA 异常前读取之前进程的浮点。


同样具有该特性的还有SSE,AVX,MMX,而且AES的加密密钥通常会存放在SSE寄存器中,这可能使攻击者能够窃取更多有效信息。


解决措施


针对Linux,系统开发人员可以通过eagerfpu=on 参数来启动内核,使用Eager FP恢复模式来代替Lazy FP恢复模式,Eager FP恢复模式下,无论当前进程是否使用FPU,都会保存并恢复FPU 上下文状态。


针对Windows,目前Lazy restore 在Windows 上默认开启,且无法被禁用,需要微软官方提供最新补丁修复。


参考资料


https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00145.html


https://access.redhat.com/solutions/3485131


https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180016


https://www.bleepingcomputer.com/news/security/new-lazy-fp-state-restore-vulnerability-affects-all-intel-core-cpus/