即使是在服务器的主操作系统没有响应的时候,也能够远程管理和监视服务器,这对企业IT管理员来说是至关重要的。所有服务器制造商都会通过一组独立于服务器和操作系统运行的芯片在固件中提供这种功能。这些固件被称为基板管理控制器(BMC),如果它们没有得到适当的保护,就可能会为高度持久且难以检测的rootkits打开大门。
多年来,安全研究人员已经发现并证明了不同服务器制造商的BMC实现中所存在的漏洞,攻击者也已经利用了其中的一些漏洞。最近的一个例子是iLOBleed,这是一家伊朗网络安全公司在外部发现的恶意BMC植入物,目标是Hewlett Packard Enterprise(HPE)的Gen 8和Gen9服务器,但这不是多年来发现的唯一一次此类攻击。
根据固件安全公司Eclypsium的分析,7799个HPE iLO服务器BMC将暴露于互联网,并且大多数似乎都没有运行最新版本的固件。当2019年在超微服务器的BMC实现中发现其他漏洞时,来自90多个不同国家的47000多个公开暴露的超微BMC被曝光。可以肯定地说,在所有的服务器供应商中,可以从互联网上攻击的BMC接口的数量达几万或几十万个。
“BMC漏洞其实非常普遍,而且经常在更新时被忽略,”Eclypsium的研究人员在iLOBleed被报告后发表的一篇新博客中说。“漏洞和错误配置可能会在一个企业拥有服务器之前就在供应链的早期被引入。即使是在部署之后,由于易受攻击的更新,又或者是对手能够破坏供应商的更新过程,供应链的问题仍然可能存在。最终,这给企业带来了挑战,因为在这些企业中,有许多易受攻击的系统,它们在受到攻击时会产生非常高的影响,并且对手也会主动利用这些设备。”
iLOBleed植入
HPE的iLO技术在HPE服务器中已经存在超过了15年。它被实现为一个ARM芯片,拥有自己的专用网络控制器、RAM和闪存。其固件包括一个独立于服务器主操作系统运行的专用操作系统。像所有BMC一样,HPE iLO本质上是一台小型计算机,用于控制一台更大的计算机——服务器本身。
管理员可以通过基于web的管理面板访问iLO,该面板将通过BMC的专用网络端口提供服务,或者通过标准化的智能平台管理接口(IPMI)协议与BMC通信工具来进行访问。管理员可以使用iLO来打开和关闭服务器,调整各种硬件和固件设置,访问系统控制台,通过远程连接CD/DVD映像来重新安装主操作系统,监控硬件和软件传感器,甚至是部署BIOS/UEFI更新。
iLOBleed植入物被怀疑是高级持续性威胁(APT)组织的产物,至少从2020年就已经开始使用了。据悉,它会利用已知的漏洞,如CVE-2018-7078和CVE-2018-7113,向iLO固件中注入新的恶意模块,增加磁盘擦除功能。
一旦安装,rootkit还会阻止升级固件的尝试,并报告新版本已经成功安装,以欺骗管理员。然而,也有办法来判断固件有没有升级。例如,最新可用版本中的登录屏幕看起来应该会略有不同。如果没有,则意味着更新被阻止了,即使固件报告的是最新版本。
值得注意的是,如果攻击者获得了主机操作系统的root权限,感染iLO固件也是可能的,因为这会允许刷新固件。如果服务器的iLO固件没有已知的漏洞,也可以将固件降级到易受攻击的版本。在Gen10上,就可以通过启用固件设置来防止降级攻击,但这在默认情况下是不打开的,但这在旧版本上是不可能的。
“攻击者可以以多种方式滥用这些(BMC)功能,”Eclypsium的研究人员说。“iLOBleed已经展示了使用BMC擦除服务器磁盘的能力。攻击者可以轻而易举地窃取数据,安装额外的负载,以任何方式控制服务器,或者完全禁用它。还需要注意的是,损害物理服务器不仅会使工作负载面临风险,还会使整个云面临风险。”
过去的BMC攻击
2016年,来自微软的研究人员记录了一个名为PLATINUM的APT组织的活动,该组织使用英特尔的主动管理技术(AMT)局域网串行(SOL)建立了一个秘密的通信通道来传输文件。AMT是英特尔管理引擎(Intel ME)的一个组件,这是一种类似BMC的解决方案,存在于大多数英特尔的台式机和服务器CPU中。大多数防火墙和网络监控工具通常没有提供检查AMTSOL或IPMId流量的专门配置,从而使PLATINUM的攻击者能够逃避检测。
2018年,BleepingComputer报告了一个名为JungleSec的勒索软件程序对Linux服务器的攻击,基于受害者的报告,该程序是通过使用默认制造商凭据的不安全IPMI界面进行部署的。
2020年,一名安全研究人员展示了他是如何在一个组织的Openstack云上利用不安全的BMC接口,在渗透测试项目中接管虚拟化服务器的。
“iLOBleed不仅为BMC中固件安全的重要性,而且为一般的固件安全提供了一个令人难以置信的清晰案例研究,”Eclypsium的研究人员说。“如今,许多组织都采用了零信任等概念,它们定义了独立评估和验证每项资产和行动的安全性的必要性。然而,在大多数情况下,这些想法还没有成为设备最基本的代码。”
缓解BMC攻击
IPMI接口的标准安全实践为,无论是内置的还是通过扩展卡添加的,都不要将它们直接暴露给互联网甚至是主要的公司网络。BMC应该放在它们自己的用于管理的隔离网段中。可以通过使用VLAN、防火墙、VPN和其他类似的安全技术来限制对该网段的访问。
组织应定期向其服务器制造商查询BMC固件的更新,并更全面地跟踪在其所有关键资产的固件中发现的CVE。缺乏固件版本跟踪和漏洞扫描将在企业网络上造成一个很大的盲点,像iLOBleed这样的低级rootkits可以为攻击者提供一个在环境中高度持久和强大的立足点。
如果BMC固件提供了阻止部署旧固件版本(降级)的选项,如HPE Gen10/iLO5服务器,则应打开此选项。还应启用其他的固件安全功能,如数字签名验证。
应更改BMC界面和管理面板的默认管理凭据,并始终启用流量加密和身份验证等安全功能。
最后,许多BMC也都有日志记录功能,允许通过Redfish和其他XML接口等规范来监控和记录对服务器的更改。应该定期审核这些日志,以检测任何未经授权的更改。