今天小编分享的互联网经验:全球各地的工业PLC受到CODESYS V3 RCE漏洞的影响,欢迎阅读。
全球工业环境中使用的数百万 PLC(可编程逻辑控制器)面临 CODESYS V3 軟體开发工具包(SDK)中 15 个漏洞的风险,这些漏洞为远程代码执行(RCE)和拒绝服务(DoS)攻击提供了可趁之机。
如今全球 500 余家设备制造商使用 CODESYS V3 SDK,根据 IEC 61131-3 标准对 1000 多个 PLC 型号进行编程,以便用户开发定制的自动化序列。
该 SDK 被广泛使用,为工程师配置和测试用于工业系统的 PLC 提供了一种开发环境。大量 PLC 中的固件含有 CODESYS 提供的库程式以运行工程师们编写的程式,而可以被利用的正是这嵌入的代码,导致设备容易受到攻击。
该 SDK 还提供了一个 Windows 管理界面和一个模拟器,允许用户在部署到生产环境之前先测试其 PLC 配置和所编的程式。
CODESYS V3 SDK 中的 15 个漏洞是由微软研究人员发现的,他们于 2022 年 9 月向总部位于德国的 CODESYS 报告了这些漏洞。这家厂商于 2023 年 4 月发布了安全更新以解决已发现的问题。
由于这些设备具有的性质,它们不常更新以修复安全问题,因此微软的安全团队昨天发布了一篇详细的文章,以提高人们对这一风险的认识,并帮助加快修补。
图 1. 在互联网上曝光的 CODESYS 设备(图片来源:微软)
CODESYS 漏洞
微软仔细检查了施耐德电气和 WAGO 这两家厂商使用 CODESYS V3 的的两款 PLC,结果发现了 15 个高危漏洞(CVSS V3:7.5 - 8.8),其中 12 个漏洞是缓冲区溢出漏洞。
这些漏洞分别是:CVE-2022-47378、CVE-2022-47379、CVE-2022-47380、CVE-2022-47381、CVE-2022-47382、CVE-2022-47383、CVE-2022-47384、CVE-2022-47385、CVE-2022-47386、CVE-2022-47387、CVE- 2022-47388、CVE-2022-47389、CVE-2022-47390、CVE-2022-47392 和 CVE-2022-47393。
主要问题出在 SDK 的标记解码机制上,具体来说是指标记在没有验证大小的情况下被复制到设备缓冲区中,这给攻击者提供了缓冲区溢出的机会。这些标记是数据或数据结构的载体,为 PLC 的正常运行提供了关键指令。
缓冲区溢出问题并不是孤立的,微软还在 CODESYS V3 SDK 的 15 个组件中发现了这个问题,包括 CMPTraceMgr、CMPapp、CMPDevice、CMPapp、CMPAppBP、CMPAppForce 和 CMPFileTransfer。
虽然这些漏洞需要身份验证才能被利用,但微软表示,可以通过使用 CVE-2019-9013 来规避这个要求,而 CVE-2019-9013 是另一个影响 CODESYS V3 的漏洞,在传输过程中以明文形式暴露用户凭据,如下所示。
微软的分析师试了 15 次,结果发现有 12 次能够利用该漏洞在 PLC 上远程执行代码。
如果产品运行的是 3.5.19.0 之前的版本,无论硬體和作業系統配置如何,都会受到影响,CODESYS 的安全公告列出了以下受影响的产品:
CODESYS Control RTE(SL)
CODESYS Control RTE(for Beckhoff CX)SL
CODESYS Control Win(SL)
CODESYS Control Runtime System Toolkit
CODESYS Safety SIL2 Runtime Toolkit
CODESYS Safety SIL2 PSP
CODESYS HMI(SL)
CODESYS Development System V3
CODESYS Development System V3 simulation runtime
除上述产品外,如果运行 4.8.0.0 之前的版本,以下产品也会受到影响:
CODESYS Control for BeagleBone SL
CODESYS Control for emPC-A/iMX6 SL
CODESYS Control for IOT2000 SL
CODESYS Control for Linux SL
CODESYS Control for PFC100 SL
CODESYS Control for PFC200 SL
CODESYS Control for PLCnext SL
CODESYS Control for Raspberry Pi SL
CODESYS Control for WAGO Touch Panels 600 SL
建议管理员尽快更新到 CODESYS V3 v3.5.19.0,同时微软还建议断开 PLC 及其他关键工业设备与互联网的连接。
正如微软警告的那样:" 如果威胁分子针对使用 CODESYS 高危版本的设备发动 DoS 攻击,就可以关闭发电厂,而远程代码执行可以在设备中植入后门,让攻击者得以篡改设备操作,导致 PLC 运行异常,或者窃取关键信息。"