在近日刚举行完的Defcon黑客会议上,来自网络安全服务公司IOActive的两名安全研究人员Enrique Nissim与Krzysztof Okupski,揭露了一个AMD芯片中的安全漏洞。这个名为Sinkclose的漏洞,允许黑客在系统管理模式(System Management Mode,SMM)下执行代码,该漏洞允许黑客或其他攻击者深入渗透系统,从而使检测或删除恶意软件变得极其困难。Sinkclose的漏洞最早可追溯到2006年甚至更久之前的AMD芯片,意味着这个漏洞至少存在了18年的时间。
Sinkclose的漏洞编号为CVE-2023-31315,涉及绝大多数的AMD处理器,根据AMD的简要说明,CVE-2023-31315漏洞存在于模型特定暂存器(Model Specific Register,MSR)的验证不当,允许具备Ring0访问权限的恶意程序,即便是在系统管理中断(System Management Interrupt,SMI)上锁时,都能修改SMM配置,因而可执行任意程序。
据知名科技月刊《连线》报道,这个问题非常严重,在某些情况下,放弃受感染的机器可能比修复它更容易。简而言之,也就是假如用户的AMD处理器已被黑客入侵,唯一的解法就是将它丢掉,没有其它的修补方法。不过,好消息是:由于它18年来都没有被发现,所以它可能没有被使用过。此外,AMD正在修补其平台以保护它们,尽管并非所有受影响的处理器都已收到补丁。Sinkclose可逃避防病毒软件Sinkclose漏洞允许黑客在AMD处理器的系统管理模式(SMM)中执行代码,这是一个通常为关键固件操作保留的高特权区域。要利用此漏洞,攻击者必须首先获得对系统内核的访问权限,虽然并不容易,但确实存在可能性。但是,系统必须已经受到其他攻击的破坏。一旦这种访问得到保护,Sinkclose漏洞就允许犯罪者安装bootkit恶意软件,这些恶意软件会逃避标准防病毒工具的检测,在系统中几乎不可见,即使在重新安装操作系统后也可以仍然存在。该漏洞利用了AMD芯片中称为TClose的模糊功能,该功能旨在保持与旧设备的兼容性。通过操纵这一特性,研究人员能够重定向处理器,以在SMM级别执行他们自己的代码。这种方法很复杂,但为攻击者提供了对系统的深入和持久的控制。“为了利用这个漏洞,黑客必须已经拥有对计算机内核的访问权限,这是其操作系统的核心,”AMD向《连线》发表的一份声明中写道。AMD将Sinkhole技术比作在已经通过警报器、守卫和保险库门后进入银行的保险箱。Nissim和Okupski指出,尽管利用Sinkclose需要内核级别的访问,但在Windows和Linux系统中经常发现此级别的漏洞。他们认为,资深的黑客可能已经拥有利用这些漏洞的工具。据研究人员称,内核漏洞很容易获得,这使得Sinkclose成为攻击者的下一步。要删除恶意软件,需要打开计算机,使用SPIFlash编程器连接到其内存的特定部分,仔细检查内存,然后删除恶意软件。影响各种AMD CPUSinkclose漏洞会影响客户端PC、服务器和嵌入式系统中使用的各种AMD处理器(注:见文末附表)。不幸的是,AMD最新的基于Zen的处理器及其平台安全启动功能没有被计算机制造商或主板生产商正确实施,因此特别容易受到攻击,因为很难检测到安装在AMD安全飞地中的恶意软件。研究人员等了10个月才披露该漏洞,以便让AMD有更多时间来解决它。AMD已经承认了这个漏洞,并开始为受影响的产品发布缓解选项,包括其EPYC数据中心和RyzenPC处理器。一些产品的补丁已经发布,预计很快就会发布更多补丁。但是,AMD尚未透露将如何解决所有受影响设备的漏洞。研究人员警告说,该漏洞代表着重大风险,用户不应延迟实施任何可用的修复程序来保护他们的系统。Nissim和Okupski强调了一旦这些补丁可用就应用它们的重要性,尽管利用“后门”很困难。但黑客的存在让及时更新对于维护系统安全至关重要。AMD的处理解决方案AMD最近的大多数处理器已经收到了缓解选项来处理这个问题。这包括用于数据中心的各代 AMD EPYC 处理器、最新的Threadripper和Ryzen处理器。其MI300A数据中心芯片也正在获得补丁。当被问及更新的后果时,该公司表示“预计不会对性能产生影响”。因此,该公司可能仍在进行性能测试,以全面评估补丁对整体系统性能的影响。
以下是预计具有或已经具有可用的安全补丁的AMD芯片:
这些是到目前为止被标记为接收更新的所有芯片,它涵盖了大多数最新的处理器。但一些较旧的处理器,并未包含在此列表中,其中包括 Ryzen 3000 及更早的处理器和 Threadripper 2000及更早的芯片。据媒体报道,这引起了消费者的不满,因为3000系列是在2019年及2020年推出,它们存在还不到5年,还有很多人在使用,也依然强大,呼吁AMD应该要重视这些用户。而最新的 Ryzen 9000 和 Ryzen AI 300 系列处理器也不包含在列表中,但这些新发布的型号很可能已经在出厂时解决了这个漏洞。之前提到,攻击者需要访问系统内核才能利用Sinkclose漏洞,因此系统必须已经遭到破坏。但老练的黑客懂得如何利用和攻击,因此大多数用户都应该考虑到这一点。尽管如此,所有Ryzen Embedded和EPYC Embedded系统都将收到更新以修补漏洞。这是因为大多数嵌入式机器被设计为在后台24/7全天候运行,几年来几乎没有人工干预,这意味着如果更新不当,它们可能会被用作攻击媒介。但是,即使个人用的计算机当中没有隐藏机密文件,网络安全专家还是建议,如果收到AMD的更新时更新芯片。这样,即使Sinkclose漏洞被更广泛地利用,用户也可以确保自己受到保护并且不会丢失数据。===========================================文末附表:来自于AMD官网发布受影响的产品和缓解措施下面列出的平台初始化(PI)版本已经或即将发布给原始设备制造商(OEM),以缓解这些问题。请咨询您的OEM以获取特定于您的产品的BIOS更新。数据中心第一代AMDEPYC™处理器,原代号为“Naples”AMD计划发布如下所示的平台初始化(PI)固件版本。对于某些CVE,可能提供了替代缓解选项,如缓解选项2中所述,包括微码和/或其他补丁。
第2代AMDEPYC™处理器,原代号为“Rome”AMD计划发布如下所示的平台初始化(PI)固件版本。对于某些CVE,可能提供了替代缓解选项,如缓解选项2中所述,包括微码和/或其他补丁。第3代AMDEPYC™处理器,原代号为“Milan”和“Milan-X”AMD计划发布如下所示的平台初始化(PI)固件版本。对于某些CVE,可能提供了替代缓解选项,如缓解选项2中所述,包括微码和/或其他补丁。第4代AMDEPYC™处理器,原代号为“Genoa”、“Genoa-X”、“Bergamo”和“Siena”AMD建议更新到下面指示的平台初始化(PI)固件版本。对于某些CVE,可能提供了替代缓解选项,如缓解选项2中所述,包括微码和/或其他补丁。数据中心图形嵌入式处理器
客户
桌面高端台式机(HETT)
工作站
移动-AMDAthlon™系列处理器
移动-AMDRyzen™系列处理器