幽灵新变种SWAPGS攻击漏洞安全通告

发布时间 2019-08-07

• 漏洞编号和级别


CVE编号:CVE-2019-1125,危险级别:高危,CVSS分值:官方未评定


• 影响版本


受影响的版本


SWAPGS攻击会影响运行Intel Ivy Bridge或更新CPU的任何设备


• 漏洞概述


Bitdefender研究人员发现CPU幽灵漏洞的新变种-SWAPGS漏洞,该漏洞可允许恶意程序访问和读取系统内核内存中的数据。SWAPGS漏洞是一种推测性执行的测信道漏洞,攻击者可以利用64位CPU中的SWAPGS指令打破内存隔离,允许无特权的攻击者访问特权内核的内存敏感信息,包括聊天消息、电子邮件、登录凭据、支付信息、密码、加密密钥、令牌和访问凭据等,且不会留下对硬件的攻击痕迹。


为了提高CPU的性能,一个称为推测执行的功能将在它知道是否需要它们之前执行指令。针对此功能的漏洞称为侧信道攻击。迄今为止,最着名的例子是Meltdown,Spectre,L1TF和Microarchitectural Data Sampling(MDS)。


解决这些漏洞极具挑战性。由于它们深入到现代CPU的结构和操作中,因此完全消除漏洞涉及更换硬件或禁用可大大提高性能的功能。同样,创建缓解机制非常复杂,并且可能妨碍通过推测执行功能实现的性能提升。例如,完全消除针对英特尔CPU的推测执行功能的旁道攻击的可能性将需要完全禁用超线程,这将严重降低性能。


这类漏洞的缓解措施难以实施。它们通常分为三类:硬件修复,软件缓解或微代码缓解。所有先前暴露的侧通道攻击都通过三种方法中的至少一种来减轻。


Bitdefender研究人员描述了SWAPGS攻击。这种攻击是一种从内核泄漏敏感信息的新方法,因为它绕过了所有已知的侧信道攻击缓解技术。这是通过滥用SWAPGS指令可以推测性地执行的事实来实现的。攻击者可以强制内核中的任意内存解除引用,这会在数据缓存中留下痕迹。攻击者可以拾取这些信号,以推断位于给定内核地址的值。


Bitdefender已经演示了Hypervisor Introspection如何通过删除在未修补的Windows系统上成功所需的条件来阻止攻击。这种缓解措施没有引起明显的性能下降。虽然强烈建议从Microsoft部署补丁,但Hypervisor Introspection可以提供有效的补偿控制,直到可以修补系统。DEMO演示:http://www.bitdefender.com/SWAPGSAttack。


• 漏洞验证


暂无POC/EXP。


• 修复建议


微软、红帽以及英特尔和谷歌等供应商已经发布了相关修复补丁和建议,AMD则称他们的产品不受影响:


微软:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1125


Redhat:https://access.redhat.com/articles/4329821


英特尔:https://software.intel.com/security-software-guidance/insights/more-information-swapgs-and-speculative-only-segment-loads


谷歌:


https://chromium.googlesource.com/chromiumos/third_party/kernel/+/cc4c818b2219c58af5f0ca59f3e9f02c48bc0b65/Documentation/admin-guide/hw-vuln/spectre.rst


https://android-review.googlesource.com/c/kernel/common/+/1097435


Linux kernel:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?

id=18ec54fdd6d18d92025af097cd042a75cf0ea24c


• 参考链接


https://www.bleepingcomputer.com/news/security/swapgs-vulnerability-in-modern-cpus-fixed-in-windows-linux-chromeos/