Supermicro 服务器固件中出现多个漏洞
翻译:360代码卫士团队
Eclypsium 团队披露了影响 Supermicro 服务器产品固件的多个漏洞。Supermicro 的新老产品均受影响,目前该公司正在着手解决。
这些漏洞并未给 Supermicro 产品带来直接风险,因为只有在恶意软件/代码已经运行在系统上的情况下漏洞才能遭利用。尽管如此,漏洞如遭利用,那么恶意软件可隐藏在硬件固件中从而在服务器操作系统重装后仍然存活,进而长久地停留在受感染系统中。
研究人员发现的首个缺陷实际上并非存在于固件代码中而是存在于某些 Supermicro 产品配置中。研究人员表示,其中一些产品中的固件对 “描述符域 (Descriptor Region)”的设置不当。
“描述符域”是基于英特尔芯片集的一个安全功能。该设置告知芯片集外部资源能访问哪些闪存以存储固件或配置文件等数据。研究人员指出,某些 Supermicro 产品的描述符域设置不当,从而导致运行在操作系统上的软件如恶意软件能够修改设置并篡改本地固件。
研究人员在报告中指出,通过对多种服务器固件机型的运行时检查发现了易受攻击的 描述符访问控制。手动分析发现多种服务器机型允许写入主机软件中的闪存 描述符。Supermicro 公司表示,其中一些产品可追溯至2008年,不过目前已达到生命周期尽头因此不再受支持。
但是,虽然某些 Supermicro 产品上的描述符域设置可遭修改,但篡改本地文件却没有那么容易,因为多种安全机制阻止恶意人员更改计算机或服务器最重要的代码。
不过研究人员又发现了第二轮问题。
他们指出,“我们通过对多种系统的运行时检查,发现了不安全的固件更新。手动分析表明,Supermicro X9DRi-LN4F+ 和 X10SLM-F 系统并未安全地认证固件产品。我们故意修改 Supermicro 固件图像中的二进制,结果发现系统固件仍被接受而且安装了经修改后的包。”
但问题并未就此结束,安全团队还发现固件图像未受反回滚保护机制保护。
反回滚保护机制对于厂商检查固件真实性的情况尤为重要。
固件反回滚机制阻止攻击者用包含可遭利用漏洞的老旧(合法)固件图像替换固件新版本。
研究员表示已在1月份将所发现的固件问题告知 Supermicro 公司。
Supermicro 公司表示已经开始为多款产品实现签名的固件更新并且未来将在所有系统上部署这些更新。对于原始设备制造商客户而言,如需要对定制化且锁定的固件版本获得回滚能力以获得业务持续性,Supermicro 公司将为其 X11 固件推出反回滚选项。
研究人员指出,SPI 闪存 描述符在多数主板上是只读模式,目前正在帮助 Supermicro 识别被不当设置的具体机型。
对于 Supermicro 服务器硬件的所有人而言,研究人员已发布如何检查自身系统的 描述符访问控制。
这些程序要求安装并运行 CHIPSEC 框架。该框架是 Eclypsium 的创始人之一在为英特尔公司工作时联合创建的。服务器所有人只需运行如下命令即可:
chipsec_main -m common.spi_access
如果测试失败,则说明当前的 描述符值并未提供保护机制,因为它们可被更改。
如果攻击者利用不安全的固件更新,那么他们很明显的目标就是修改固件。这就导致能够绕过很多安全控制的隐秘性和持续性很强的恶意软件发动攻击。然而,此类恶意软件也有可能被检测到。
要抵御此类攻击,可收集固件机型的哈希,通过厂商提供的固件白名单得以验证。如果发现异常更改情况,则可请专家进行手动评估。
Supermicro 公司尚未对研究人员的研究成果予以确认且并未提供受影响的平台名称。
研究人员指出,由于缺乏 UEFI 更新保护机制,因此多数或所有 X8、X9 和 X10 服务器产品以及多数 X11 服务器产品均受影响。目前虽然尚不知道受影响机型的确切数量,但从至少233个唯一的 X8-X11 服务器机型中找到1184 个唯一的固件图像。
研究人员发现500个左右的固件图像即110种左右的机型(有些可能是老旧型号)存在闪存描述符问题。完整列表如下:
X11SSZ
X11SSV
X11SSQL
X11SSQ
X11SSN
X11SRM
X11SRA
X11SBA
X11SAT
X11SAE_M
X11SAE
X10SRW
X10SRM
X10SRL
X10SRI
X10SRH
X10SRG
X10SRD
X10SRA
X10SDVT
X10SDVF
X10SDE
X10SDDF
X10SBA
X10QRH
X10DSN
X10DSCP
X10DSC
X10DRX
X10DRWN
X10DRW
X10DRUX
X10DRUL
X10DRU
X10DRTS
X10DRTPS
X10DRTL
X10DRTH
X10DRTB
X10DRT
X10DRS
X10DRLN
X10DRLC
X10DRL
X10DRI1
X10DRH4
X10DRH
X10DRGO
X10DRGH
X10DRG
X10DRFR
X10DRFG
X10DRFF
X10DRDL
X10DRD
X10DRC
X10DGO
X10DDWN
X10DDWI
X10DDW4
X10DDW3
X10DAX
X10DALI
X10DAL
X10DAI
B10DRT
B10DRI
B10DRG
X9SAE
X9DRTH
X9DRGQF
X9DRFFP
X9DRF
X9DBL
X8SIU
X8SIT
X8SIL
X8SIE
X8SIA
K1SPI
K1SPES
C9X299
C7Z97OC
C7Z97MF
C7Z87OC
C7Z370L
C7Z370I
C7Z270P
C7Z270M
C7Z270L
C7Z270CG
C7Z270C
C7Z170OCE
C7Z170O
C7Z170
C7X99OC
C7Q270
C7H270
C7B250
B1SD2TF
B1SA4
B1DRI
A2SAV
A2SAP
A2SAN
A1SRM
A1SAM
A1SAI1
A1SAI
A1SA
关联阅读
原文链接
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。