安全厂商 Armis 研究小组声称发现了 Schneider Modicon PLC 漏洞(CVE-2021-22779),这个漏洞是 Modicon (UMAS) 协议的身份验证绕过了漏洞,为攻击者覆盖系统内存并执行远程代码打开了大门。
这意味着攻击者不仅可以操纵 PLC 本身也可以用硬件进一步攻击跳板。Modicon PLC 本身广泛应用于能源公用事业、建筑服务、HVAC 系统等敏感系统,因此硬件损坏也可能导致物理世界的严重损失。
Armis 研究副总裁 Ben Seri 表示:CVE-2021-22779 本身不仅是一种身份验证绕过漏洞的安全措施,还允许攻击者回滚,防止远程代码执行。
“一方面,这是嵌入式设备中的漏洞”,Seri 解释:“但另一方面,这也是基本设计的深度缺陷”,“PLC 设计时应考虑如何保持安全,其次是自身的功能操作”。
漏洞可以链式攻击
该漏洞在开发过程中用于调试 Modicon 硬件未记录指令。通常,这些调试命令锁定用户,只能用于管理员账户。然而, CVE-2021-22779 在漏洞的情况下,一些命令被暴露出来,攻击者可以用这些命令检索管理员的密码哈希。
然后使用密码哈希进行身份验证,以解锁更多未记录的命令。这些命令在之前的安全更新中被锁定在密码保护之后,可以通过这些命令授予攻击者在系统内存上执行代码的能力。
在正常情况下,系统内存是无法访问或写入的。然而,攻击者可以通过使用未记录的命令存中编写和执行代码。Seri 说这很危险,因为大多数安全检查不会检查系统内存是否已经改变。这使得相关的恶意软件很难找到。
更大的威胁
Seri 认为制造商未能为硬件建立必要的保护措施,可能会给工业控制领域带来更大的威胁。
他补充说,即使施耐德修复了 CVE-2021-22779 漏洞,公司 UMAS 协议仍然很有风险,因为开发人员从未想过正确加密 PLC 和管理员 PC 之间的连接也为中间人的攻击提供了便利。
Seri 还说施耐德电气不是唯一一个有这样安全漏洞的。在很多情况下,PLC 制造商忽略了内置安全,依靠外部网络安全来保护硬件免受犯罪攻击者的攻击。
一旦攻击者突破边界,制造商认为安全边界是唯一的防御手段,PLC 本身将没有任何防护能力。
施耐德计划在今年第四季度修复漏洞,并在未来的固件更新中加密通信。然而,工业控制领域的修复措施一直在缓慢更新,需要很长时间才能真正生效。这可能会使漏洞在打开后仍有很长的窗口期。