可编程逻辑控制器(Programmable Logic Controller,PLC)是一种专门为在工业环境下应用而设计的数字运算操作电子系统,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程,被广泛应用于机器人行业、制造行业、核能行业、石油和天然气生产和运输以及许多其他工业任务的远程自动化。
SEC Consult的安全研究人员发现,德国WAGO公司旗下PFC 200系列17个型号的PLC易受到远程攻击,详细列表如下:
750-8202750-8202 / 025-000750-8202 / 025-001750-8202 / 025-002750-8202 / 040-001750-8203750-8203 / 025-000750-8204750-8204 / 025-000750-8206750-8206 / 025-000750-8206 / 025-001750-8207750-8207 / 025-000750-8207 / 025-001750-8208750-8208 / 025-000
研究人员表示,固件版本为02.07.07 的PFC 200系列PLC上运行的软件CODESYS V2.4.7.0存在安全漏洞。CODESYS是一种针对PLC应用的集成开发环境,可供PLC用户轻松完成编程。针对不同的PLC制造商有特定的版本,并一直在进行不断升级和改进。
早在2012年,IOActive的安全研究员Reid Wightman就发现了CODESYS V2.3.x和V2.4.x中的漏洞,允许攻击者对运行这些版本的PLC进行未经授权的远程管理访问。通过这种访问,攻击者可以执行特权操作,包括相当于重新编程设备的文件更改。
在当时,CODESYS官方发布了一个补丁来解决这些漏洞,但需要PLC用户在受影响的设备上进行手动安装。
回到现在,SEC Consult的安全研究人员发现了CODESYS的另一个漏洞,允许攻击者能够在即使安装过早期补丁的设备上也可以进行未经身份验证的远程访问。
根据SEC Consult研究人员的说法,漏洞利用来源于CODESYS运行时包含一个以CODESYS的root权限运行的“plclinux_rt”服务,这允许攻击者可以通过发送特制的数据包来触发以下功能:
任意文件读/写/删除;切换当前执行的PLC程序中的功能;循环执行当前执行的PLC程序中的任何功能;删除当前执行的PLC程序的当前变量列表;以及更多......
以上这些功能似乎足以干扰当前的PLC编程或引入新的PLC代码来执行远程攻击者所希望进行的任意操作。
WAGO已经证实了漏洞的存在,但强调因为PFC 2001系列PLC 750-88X和PFC 100系列PLC 750-810X部署的是CODESYS 3.5,所以这些产品并不在易受攻击范围内。
到目前为止,WAGO还没有发布关于易受攻击型号产品的针对性安全补丁。但建议可以采用两种临时缓解来暂时解决这个问题:禁用“plclinux_rt”服务或者限制对PLC的网络访问。
鉴于对PLC的高可用性要求,很多用户不太可能会选择禁用该服务。由于大多数工业自动化网络设计利用限制性安全区域,因此后一种措施会是多数用户的选择。
然而,一个很现实问题是值得注意的。根据研究人员使用Censys(一款用以搜索联网设备信息的搜索引擎)进行的一次搜索结果显示,目前存在许多PFC 200系列PLC可以从互联网直接访问。
虽然,这个搜索结果并不能直接证明这些PLC是否易受攻击。但在多年的发展中,CODESYS已经被许多PLC制造商所采用。因此,类似的安全漏洞不可能仅存在于WAGO这一家PLC制造商所生产的产品中。
本文由 黑客视界 综合网络整理,图片源自网络;转载请注明“转自黑客视界”,并附上链接。