[西门子] 工控巨头西门子、施耐德私有S7、UMAS协议解析与PLC密码破解

[复制链接]
查看85091 | 回复0 | 2024-3-25 11:19:43 | 显示全部楼层 |阅读模式
↑ 点击上方

“智能制造之家”

关注我们





本号相关PPT与资料,未在文末留下下载关键字的,需进入智能制造之家知识星球自行下载~

写在前面

前面我们说了工业控制系统的各种通讯协议,大家肯定会想到PROFINET、ETHERNET/IP、ETHERCAT等工业以太网:

最详细的工业网络通讯技术与协议总结解读(现场总线、工业以太网、工业无线)

技术解读PROFINET、Ethernet/IP等7种主流工业以太网

最全整理工业通讯上的领域各种总线+协议+规范+接口—数据采集与控制

对于工控协议,除了大家所熟知的modbus opcua等,西门子、施耐德等厂商也开发了自己的私有协议,如大家所熟知的西门子S7comm/S7commPlus,施耐德的UMAS等,前面我们就详细分析过S7以及Ethernet/IP等:

S7-1200+SCADA:详解西门子S7协议与数据读写

入门工业通讯之EtherNet/IP协议分析
基于S7协议对西门子PLC S7-1500的漏洞分析与复现(附演示视频)

今天我们来聊一聊西门子、施耐德PLC私有协议S7comm与UMAS解析与PLC密码破解~

00 工控公开协议与私有协议

01 西门子S7与施耐德UMAS协议实例

02 PLC密码设置

03 PLC密码破解与绕过

04 总结

作者 | 绿盟科技格物实验室 陈杰



00 工控公开协议与私有协议

在工业控制系统中,各种不同的型号系列的PLC除了使用公开的工业控制协议(例如 modbus,opcua等),还使用了厂家自己开发的私有协议(例如施耐德的UMAS,西门子的S7comm/S7commPlus等),这一系列协议主要用于和自家的组态软件进行通信来执行一些高权限的操作,例如启动停止,工程的上载和下装等。这些操作无疑会给工业现场造成巨大的安全隐患,对工业控制私有协议分析也成了工业控制系统安全的重点和难点。本文通过分析如今的PLC私有协议的现状,提出一些研究思路和安全建议。



01 西门子S7与施耐德UMAS协议实例

西门子S7comm系列
S7comm是S7-300/S7-400和上位组态软件TIA通信的私有协议,下层协议为COTP,使用的服务端口号为102。通过阅读isf框架源码可以知道到该协议也没有加密,也没有完整性校验。


抓取到的数据流量如下所示,这种类型的协议也可以通过的简单的重放来控制PLC。


但是S7-1200/S7-1500使用的是S7协议加强版S7commPlus,该协议握手阶段使用了一系列复杂的算法来建立安全的会话链接,同时为接下来的每一个操作数据包都加上了完整性校验。


如下选中的地方即为完整性校验字段:


针对这类复杂的算法协议可以通过逆向关键的dll或者直接调用核心的dll来完成对PLC的攻击。下图为针对S7commPlus攻击工具。


施耐德UMAS
施耐德UMAS协议是施耐德M340/M580和上位组态软件Unity Pro通信使用的一种私有协议,由于其下层协议使用的modbus 90功能码,所以服务端口也是502端口。通过阅读isf(https://github.com/dark-lbp/isf/)工业控制系统漏洞利用框架的源码找到针对施耐德系列PLC的启停脚本源码可以分析该协议的基本流程,如下:


该攻击脚本先是通过0x10功能码获取UMAS的会话key,再通过0x40(启动功能码)/0x41(停止功能码)来控制PLC设备的启动停止。如下即为Wireshark抓取到的数据包,UMAS协议解析插件可以自己编写。


通过协议分析可以知道,该协议是未加密的状态,可以使用简单的重放进行PLC攻击,该种私有协议相对简单,没有加密流量以及完整性校验,安全性相对不足。



02 PLC密码设置
通过上面的分析可以知道,现在的工业控制私有协议安全性还有很大的不足,为了在工业系统中限制其他人使用私有协议执行高权限的操作,可以使用组态软件给PLC加上保护密码。施耐德unitypro设置如下:


西门子TIA可以进行如下设置:


在设置密码后,可以有效保护PLC,阻止利用私有协议发起的恶意操作。


03 PLC密码破解与绕过

密码绕过属于工业控制系统安全里面的高级技术,只要绕过PLC中的密码,基本上就可以让PLC执行恶意操作,比如替换一个恶意工程等。在今年的看雪峰会上,已经有工控安全研究员着手这方面的研究,通过包括物理接触和非物理接触方式突破了施耐德,西门子,罗克韦尔等多个PLC的密码保护机制。总结如下两点:1.   不正确的校验方式,包括把密码从PLC读到组态软件进行比较的设计。2.   厂商留下的后门,包括未文档化的PLC内存读写功能。具体不在本次探讨范围之内,可以参考我们前面的文章:
西门子、施耐德、罗克韦尔:三大工控厂商PLC密码保护突破之旅


04 总结
通过分析可以看出,工业控制系统上私有协议有复杂的、也有简单的,种类繁杂。不同的厂商有不同的私有协议,这对工控安全研究人员的协议逆向分析能力提出了较大的要求。同时本文还提到了通过设置密码来阻止私有协议的滥用,然而设置PLC密码不是万能的,它依赖于工业控制系统厂商在密码保护机制实现上的安全性。为了限制私有协议的访问,最好还是在工业现场部署专门针对工业控制业务环境的IDS/IPS,最大程度的提高工业现场的安全性。
硬核推荐:

ERP/PLM/MES/SCADA/PLC/工业软件研究报告

S7-300/400/1200/S7-1500_工业自动化相关专题

工控安全相关专题

工业网络、工业协议等相关专题

工业通讯、数据采集案例

仿真与虚拟调试技术专题

自动化、信息化,行业等控制标准

工业自动化相关应用、库(西家、罗家、倍福等)

自动化、信息化、数字化、工业网络、仿真与虚拟调试入门

信息化、数字化、智能制造、工业互联网解决方案合集

工业软件(MES、PLM、SCADA..)合集

MES/MOM相关解决方案

工业互联网相关专题

PLM/PDM相关专题





硬核专辑

ERP/PLM/MES/SCADA/PLC/工业软件研究报告

信息化、数字化、智能制造、工业互联网解决方案

自动化、信息化、数字化、工业网络、仿真与虚拟调试入门

WinCC技术 | 工业网络 | MES技术相关| 工业巨头战略布局 | 工业通讯案例

仿真与虚拟调试 | 职业感悟、认知提升 | 自动化控制标准合集



IT大举入侵OT,工业自动化早已成为一个“软件”行业

2021-05-10



PLM、ERP、MES、SCADA:数字化工厂设备联网、数据采集与系统集成

2021-05-09



122页MES/MOM解读之APS典型能力和系统功能讲解

2021-05-07



三一、中联重科:2021年中国工程机械行业数字化转型深度报告

2021-05-06



工业巨头西门子、达索、PTC对比之PTC解读:PLM\CAD\IIOT顶级玩家

2021-04-29



工业软件深度:中国PLM/MES/SCADA/DCS格局与主要玩家分析~

2021-04-28



70页某大厂电子行业MES项目规划与实施方案

2021-04-27



2021中国工控自动化行业产业分析(PLC\DCS\变频\伺服\步进)

2021-04-18



S7-1500+TIA+MCD:西门子仿真与虚拟调试的硬件在环调试流程

2021-04-12



典型离散制造(汽车)数字化工厂规划与综合解决方案

2021-04-06



西门子、SAP、达索、PTC、AVEVA:六大海外工业软件巨头的2020

2021-03-24



智能制造之中国物流自动化装备行业分析(软件、立体库、分拣设备、AGV)

2021-03-20



某智能工厂调研、规划、实施整体解决方案

2021-03-19



欢迎关注"智能制造之家"

免责申明:本公众号所载文章为本公众号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请联系删除~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则