来源:http://www.51testing.com
安全厂商 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 本身将不具备任何防护能力。
施耐德计划在今年四季度对该漏洞进行修复,并在未来的固件更新中对通信进行加密。但工控领域的修复措施一向更新缓慢,想要真正使修复生效还要横长时间。这可能会使得漏洞在公开后,仍然有很长一段时间的窗口期可被利用。