先看一段Armis 研究人员通过实验,实现UPS震撼燃烧的过程吧!
APC 是施耐德电气的子公司,是全球领先的 UPS 设备供应商之一,在全球售出超过 2000 万台设备。这些被称为 TLStorm 的漏洞允许完全远程接管 Smart-UPS 设备并能够进行极端的网络物理攻击。根据 Armis 的数据,近 10 家公司中有 8 家暴露于 TLSstorm 漏洞。
Armis 调查了 APC Smart-UPS 设备以及它们与各自的远程管理和监控服务进行通信的方式。
不间断电源 (UPS)
不间断电源 (UPS) 设备为关键任务资产提供应急备用电源。在电力中断可能导致伤害、业务停机或数据丢失的情况下,UPS 设备有助于确保关键技术的高可用性:
有哪些漏洞?
这组发现的漏洞包括云连接 Smart-UPS 设备使用的 TLS 实施中的两个严重漏洞,以及第三个严重漏洞,即设计缺陷,其中所有 Smart-UPS 设备的固件升级都没有正确签名和验证。
其中两个漏洞涉及 UPS 和施耐德电气云之间的 TLS 连接。支持 SmartConnect 功能的设备会在启动时或云连接暂时丢失时自动建立 TLS 连接。
这些漏洞可以通过未经身份验证的网络数据包触发,无需任何用户交互(ZeroClick 攻击)。
第三个漏洞是设计缺陷,受影响设备上的固件更新未以安全方式进行加密签名。这意味着攻击者可以制作恶意固件并使用各种路径(包括 Internet、LAN 或 USB 驱动器)进行安装。这可以让攻击者在此类 UPS 设备上建立持久的持久性,这些设备可以用作网络中的据点,可以从中进行额外的攻击。
滥用固件升级机制中的缺陷正在成为 APT 的标准做法,正如最近在对 Cyclops Blink 恶意软件的分析中所详述的那样,嵌入式设备固件的不当签名是各种嵌入式系统中反复出现的缺陷。Armis 之前在 Swisslog PTS 系统中发现的一个漏洞 ( PwnedPiper , CVE-2021-37160) 是由类似类型的漏洞造成的。
Armis 于 2021 年 10 月 31 日向施耐德电气披露了这些漏洞。此后,Armis 与施耐德电气合作创建并测试了一个补丁,该补丁现已普遍可用。
有哪些风险?
UPS 设备调节高压电源已经成为事实,加上它们的互联网连接,使它们成为高价值的网络物理目标。黑客可使 APC UPS 设备引发爆炸。现在通过在实验室中利用这些漏洞,Armis 研究人员能够远程点燃 Smart-UPS 设备并使其化为乌有。
由于 TLS 攻击向量可以源自 Internet,因此这些漏洞可以充当企业内部网络的网关。黑客可以使用 TLS 状态混淆将自己标识为施耐德电气云,并收集有关公司防火墙后面的 UPS 的信息。然后,他们可以远程更新 UPS 固件,并将 UPS 用作勒索软件攻击或任何其他类型的恶意操作的入口点。
针对网络物理系统的攻击呈上升趋势
网络物理系统 (CPS) 是计算机化系统,可操作具有真实世界交互的设备,例如自动门、PLC、MRI 机器和智能车辆。物联网和 CPS 设备的日益普及为不良行为者创造了大量新目标。
基于网络的攻击对现实世界造成破坏的破坏性影响不再是理论上的。2014 年,德国一家钢厂遭到攻击,黑客侵入了该厂的网络并篡改了高炉停机机制。这次袭击导致了巨大的爆炸,幸运的是没有造成任何人员伤亡。
受影响的设备
技术概述
如上所述,TLSStorm 是一组三个严重漏洞。一是几乎所有 APC Smart-UPS 设备的固件签名。另外两个与具有“SmartConnect”功能的 Smart-UPS 设备的 TLS 实施有关,该功能可自动将设备连接到施耐德电气管理云。
固件升级漏洞 (CVE-2022-0715)
通常的做法是对固件文件进行加密签名并在固件更新期间检查签名。APC Smart-UPS 固件使用对称加密进行加密,但未进行加密签名。
研究人员能够利用以下关键设计缺陷来制造被 Smart-UPS 接受为官方有效固件的恶意固件:
固件升级过程取决于 UPS 设备的具体型号:
-
具有 SmartConnect 云连接功能的最新 Smart-UPS 设备可以通过 Internet 从云管理控制台进行升级。
-
可以通过本地网络更新使用网络管理卡 (NMC) 的旧 Smart-UPS 设备。
-
大多数 Smart-UPS 设备也可以使用 USB 驱动器进行升级。
TLS 漏洞(CVE-2022-22805 和 CVE-2022-22806)
由于软件开发人员无法每次编写新代码时都重新发明轮子,因此开发人员必须依赖第三方代码库进行软件开发。对于 Log4j2,几乎每个库用户都在不知不觉中继承了远程代码执行漏洞 ( Log4Shell )。
这两个 TLS 漏洞的根本原因是对来自 Smart-UPS 和施耐德电气云的 TLS 连接中 TLS 错误的错误处理不当。APC 使用Mocana nanoSSL 作为负责 TLS 通信的库。图书馆手册明确指出图书馆用户在出现 TLS 错误时应关闭连接。然而,在此库的 APC 使用中,一些错误被忽略,使连接保持打开状态,但处于该库无法处理的状态。
智能连接
最新一代的 Smart-UPS 型号实现了一项称为 SmartConnect 的功能,这是一个专用以太网端口,设备将通过该端口连接到云服务并允许对设备进行远程管理。
TLS 身份验证绕过 (CVE-2022-22806)
忽略 nanoSSL 库错误会导致 UPS 将 TLS 密钥缓存在其未初始化状态。当攻击者使用 TLS 恢复功能时,从缓存中获取未初始化的密钥(全为零),攻击者可以与设备进行通信,就好像它是真正的施耐德电气服务器一样。作为看似经过验证的服务器,攻击者可以发出固件升级命令并通过 UPS 设备远程执行代码。攻击流程如下图所示。左侧是正常的 TLS 会话设置和恢复,右侧是仅由于错误处理不当而可能发生的利用握手:
TLS 重组缓冲区溢出 (CVE-2022-22805)
同样的根本原因——忽略 nanoSSL 库错误,会导致 TLS 数据包重组时出现内存漏洞。TLS 重组功能允许 TLS 记录分段。记录被逐块组装,直到收到完整的记录。攻击者可以利用忽略的 nanoSSL 库错误并触发可能导致远程代码执行的预身份验证堆溢出条件。
如何保护 UPS 设备?
可以采取一些步骤来最大程度地降低攻击风险。Armis 建议使用所有三种缓解措施,而不仅仅是更新设备。
-
安装 Schneider Electric 网站上提供的修补程序。
-
如果您使用 NMC,请更改默认 NMC 密码(“apc”)并安装公开签名的 SSL 证书,这样您网络上的攻击者将无法截获新密码。要进一步限制 NMC 的攻击面,请参阅 Schneider Electric Security Handbook for NMC 2和NMC 3。
-
部署访问控制列表 (ACL),其中仅允许 UPS 设备通过加密通信与一小部分管理设备和施耐德电气云进行通信。
与许多其他数字基础设施设备一样,UPS 设备经常被安装和遗忘。由于这些设备与核心业务系统连接到相同的内部网络,因此利用尝试可能会产生严重影响。
对于安全专业人员来说,拥有对所有资产的完整可见性以及监控其行为的能力,以识别异常和/或利用尝试是很重要的。然而,传统的安全解决方案并不涵盖这些资产。因此,它们仍然“看不见”,从而使组织面临重大风险。
原文始发于微信公众号(祺印说信安):攻击者利用APC Smart-UPS 设备中三个严重漏洞可远程操纵数百万企业设备的电源。