首页
社区
课程
招聘
[原创]Siemens PLCs 多个高危漏洞使关键基础设施面临威胁
发表于: 2022-2-9 12:18 6672

[原创]Siemens PLCs 多个高危漏洞使关键基础设施面临威胁

2022-2-9 12:18
6672

概述

2022年2月8日,西门子发布了新一轮安全通告,其中SIMATIC系列产品相关的3个漏洞是由笔者提交的,从2021年8月份开始笔者提交了若干个SIMATIC系列产品的漏洞,经过与西门子多次深入沟通与交流,西门子终于在2022年2月8日,发布了3个漏洞的通告(剩余的若干个漏洞还在调查中)。这一系列漏洞(包含后续的漏洞)命名为S7+:Crash,目前发布安全通告的漏洞等级为高危, CVSS:V3.1 评分为7.5。这些漏洞可造成SIMATIC系列控制器远程拒绝服务等严重后果。

漏洞描述

S7+:Crash已发布通告的相关漏洞详细描述如下所述:

 

CVE-2021-37185
在过期或释放后对资源进行操作 (CWE-672)
未经授权认证的攻击者可以发送特制的数报文至TCP 102端口,会导致PLC出现拒绝服务的情况,此时PLC处于严重故障状态。受影响的设备需要重新启动才可恢复至正常状态。
CVSS v3 分数为 7.5;CVSS:3.1向量:AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P/RL:O/RC:C

 

CVE-2021-37204
在过期或释放后对资源进行操作 (CWE-672)
未经授权认证的攻击者可以发送特制的数报文至TCP 102端口,会导致PLC出现拒绝服务的情况,此时PLC处于严重故障状态。受影响的设备需要重新启动才可恢复至正常状态。
CVSS v3 分数为 7.5;CVSS:3.1向量:AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P/RL:O/RC:C

 

CVE-2021-37205
在移除最后引用时对内存的释放不恰当(内存泄露) (CWE-401)
未经授权认证的攻击者可以发送特制的数报文至TCP 102端口,会导致PLC出现拒绝服务的情况,此时PLC处于严重故障状态。受影响的设备需要重新启动才可恢复至正常状态。
CVSS v3 分数为 7.5;CVSS:3.1向量:AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P/RL:O/RC:C

 

值得注意的是虽然西门子官方发布通告所描述的3个漏洞表现一致,但是这3个漏洞分别出现在不同的function中,S7CommPlus协议中的function有十多个类别,不同的类别对应不同的操作对象,特定条件下才会触发对应的function。

受影响的产品

西门子是全球电子电气工程领域的领先企业,其产品是工业控制领域的主流设备,广泛应用于电力行业、石油石化、轨道交通、智能制造、钢铁冶金等多个关键基础设施领域,在全球范围内使用广泛,自动化设备市场占比份额位居第一。本次发现的多个漏洞影响产品范围较广,具体如下图所示:
图片描述
这些产品涵盖了西门子工业自动化产品的多个领域,如驱动控制器、信息安全的PLC(S7-1200/S7-1500)、PLC模拟器、分布式控制器、大型软PLC等。

 

 SIMATIC驱动控制器系列的产品是为生产机器的自动化而设计的,结合了SIMATIC S7-1500 CPU和SINAMICS S120驱动控制器的功能。

 

 SIMATIC S7-1200 CPU系列的产品是为工业环境中的离散和连续控制而设计的,例如全球的制造业、食品和饮料以及化学工业。

 

 SIMATIC S7-1500 CPU系列的产品被设计用于工业环境中的离散和连续控制,例如全世界的制造业、食品和饮料以及化学工业。

 

 SIMATIC S7-1500软件控制器是一种用于基于PC的自动化解决方案的SIMATIC软件控制器。

 

 SIMATIC S7-PLCSIM Advanced可以模拟S7-1200、S7-1500和其他一些PLC衍生产品。包括完全的网络访问,以模拟PLC,甚至在虚拟环境中。

 

 SIPLUS极端产品是为在极端条件下可靠运行而设计的,基于SIMATIC、LOGO!、SITOP、SINAMICS、SIMOTION、SCALANCE或其他设备。SIPLUS设备使用与它们所基于的产品相同的固件。

 

 SIMATIC ET 200SP分布式控制器是基于PC的SIMATIC S7-1500控制器的版本,包括在一个紧凑的设备中与中央I/O相结合的可选可视化功能。

 

 TIM 1531 IRC是SIMATIC S7-1500、S7-400、S7-300与SINAUT ST7、DNP3和IEC 60870-5-101/104的通信模块,具有三个RJ45接口,用于通过基于IP的网络(WAN/LAN)进行通信,以及一个RS 232/RS 485接口,用于通过传统WAN网络进行通信。

漏洞特点

多年来,鉴于西门子PLC在市场上的领先地位,专注西门子PLC的研究员也越来越多,被发现的漏洞也逐年增加。历史上有影响力的漏洞有CVE-2010-2772(震网中使用的漏洞)、CVE-2019-10943(Rogue7的攻击)、CVE-2019-13945(物理攻击SIMATIC 1200以此实现代码执行)、CVE-2020-15782(沙箱逃逸,直接访问内存,实现代码执行),这些漏洞中有些虽然能够代码执行,但是需要很多前置条件,比如CVE-2020-15782需要获取PLC下载权限,如果PLC控制器设置了密码保护策略,则无法实现攻击。比如CVE-2019-13945要实现代码执行,必须要物理接触,无法通过网络实施攻击。S7+:Crash系列漏洞相较于之前的漏洞有如下特点:

1. 批量的OMS+通信协议栈漏洞

之前关于西门子PLC的漏洞都是单独出现,本次发现的漏洞是批量化的,截止目前完成修复的已经有3个漏洞,后续还将有若干个漏洞被修复。这些漏洞存在于西门子S7通信协议核心组件OMS+中,该组件使用在西门子的多个产品中,用于私有通信协议的实现。下图是S7-1200系列V4.5.1固件中使用的OMS+信息,使用的版本为12.35.2。更新后的固件为V4.5.2,使用的OMS+版本为12.35.8。

 

图片描述
V4.5.1固件中使用的OMS+信息

 

图片描述
V4.5.2固件中使用的OMS+信息

2.即使开启了PLC的密码保护策略,依然可以远程攻击PLC,使其处于崩溃状态

本次披露的漏洞中,其中的2个漏洞即使在PLC开启密码保护策略的情况下依然可以实现远程攻击。PLC密码保护的目的是防止未授权的敏感操作,在西门子SIMATIC系列PLC中有多个级别的访问控制密码保护等级,如下图所示
图片描述
即使PLC设置了最高级别的密码保护(complete protection)也不能免受攻击,受这些漏洞的影响,使PLC处于严重故障状态,要想恢复正常状态必须重启设备。

3.即使开启了安全通信功能(TLS的加密通信)也受这些漏洞的影响

2021年5月份西门子发布了V4.5.0版本的固件(S7-1200)和TIA V17,其中引入了安全通信机制,目的是为了使工业现场的通信更加安全可靠。即便使用了安全通信模式,也不能免受影响,该漏洞依然会使PLC进入严重故障模式。目前工业现场的防火墙、入侵检测等安全设备暂不支持西门子安全通信协议的解析,因此无法识别恶意攻击,最好的防御措施是升级至最新版本固件。
图片描述

缓解措施

本次西门子给出了如下安全建议:

  1. 针对已经发布了最新版本固件的受影响产品,需要将固件升级为最新版本;
  2. 暂时未发布最新版本固件的受影响产品,采取通用的安全建议,通用安全建议链接为https://cert-portal.siemens.com/operational-guidelines-industrial-security.pdf

总结

此次披露的3个漏洞属于影响范围广、利用难度低、安全防护较困难的严重漏洞,应该引起广大用户的重视,及时采取安全措施,避免工业生产受到影响。关于西门子S7通信协议的研究还会继续,面临越来越严峻的攻击局势,不仅仅是最终用户需要加固工业控制中的关键设备,工控厂商也应该从源头做起不断的提高产品的安全性。西门子是一家非常重视安全的企业,在与西门子的交流中,他们所体现的认真负责的态度、扎实专业的学识值得行业中的所有厂商学习。

附录

  1. 西门子CERT
    https://new.siemens.com/global/en/products/services/cert.html#SecurityPublications
  2. 通告链接:
    https://cert-portal.siemens.com/productcert/pdf/ssa-838121.pdf

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2022-2-9 12:23 被ic3blac4编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//