[西门子] TIAV17+S7-1200:解析最新西门子S7CommPlus协议

[复制链接]
查看96716 | 回复0 | 2024-4-16 08:02:18 | 显示全部楼层 |阅读模式
↑ 点击上方

“智能制造之家”

关注我们

作者 | 绿盟科技格物实验室 高剑





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

写在前面

大家好,我是小智,智能制造之家号主~

前面我们分享了西门子、施耐德、三菱、罗克韦尔等工业巨头的主要工控协议及其端口:

西门子、施耐德、三菱、RA:全球主要工控协议及端口解析

也原创了很多工业协议、工业通讯相关的干活文章:

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

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

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

IT、OT 深度融合的当下,无论是OT侧,还是IT侧,各种协议都起到了至关重要的作用,比如前面我们提到的各种工控协议的解读与密码破解:

西门子、施耐德、罗克韦尔:三大工控厂商PLC密码保护突破之旅

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

西家私有协议也从S7CommPlus-V1版本、V2版本、带有完整性校验的V3版本,发展到到如今带有TLS套接层的加强版S7CommPlus,今天我们就来使用最新的TIA V17+ S7-1200+ wireshark,来和大家聊一聊~

1研究对象
2021年5月28日,西门子发布了TIA V17,这是一个集成了多种高端功能的新一代自动化系统的集成开发环境,其中最有亮点的是TIA Portal 云连接器提供对本地 PC 接口和 TIA Portal Engineering 中连接的 SIMATIC 硬件的访问,而工程本身则可以通过私有云中的远程桌面执行,其他的亮点见下图。



我们关注的是西门子提及到的最新支持的安全协议。



为了配合上位机组态软件,西门子在2021年5月12日就发布了S7-1200系列的最新版本固件V4.5.0这是一个大版本的更新,不再以V4.4开头,其中修改了很多问题也增加了一些功能。



综上所述,本次研究的对象是:

上位机:TIA V17

下位机:S7-1215C DC/DC/DC & Firmware V4.5.0



2环境搭建
TIA V17安装在虚拟机中,为了节约空间和计算资源,可以只安装STEP 7部分。



组态对应的S7-1215C DC/DC/DC的工程文件,编译后下载到控制器中。由于使用了最新版本TIA V17,在初始组态设备时会告知用户进行PLC的安全设置,包括了保护机密的PLC数据、PG/PC和HMI的通信模式、PLC访问保护。在此我们打开PG/PC和HMI的通信模式选择为“仅支持PG/PC和HMI的安全通信”。



在下装过程中,新加了一个可信认证的过程,必须由TIA V17认可PLC才可建立可信链接。



下装完成后,环境的配置参数如下所示


3通信过程分析
该部分我们从第一次下装初始创建的TIA V17工程开始分析,分析前需要在Wireshark中安装解析S7CommPlus的解析插件,本次使用的S7Comm-Plus Wireshark dissector plugin V0.0.8版本,以查看交互的数据是否还可以被解析。

启动Wireshark准备抓包,通过Profinet扫描到PLC后,选中需要下装的设备,点击下载按钮。此时查看通信的报文过程,首先TIA客户端发送CR请求报文,由PLC恢复CC确认报文,这一步是在创建COTP链接。



完成COPT链接后,紧接着客户端使用S7CommPlus协议的V1版本给客户端发送了一个请求报文,推测是设置通信模式。



设置完通信模式后,TIA V17给PLC发送了TLS handshake的请求client hello报文,使用的TLS协议版本为V1.2。



紧接着PLC作为服务器回复了TIA V17客户端的client请求,如下所示



接下来就是TIA V17发送TLS V1.2协议的change_cipher_spec的content type,通知PLC后续的数据传输即将被加密。



紧接着TIA V17发送了应用层被TLS加密的数据,见下图。其中0x17是应用数据传输功能码,0x0303为TLS的协议版本V1.2,0x0100为数据域的size,紧接着为Encrypted Application Data,从0xac54到结尾。



此时PLC回复了TIA V17的请求报文,当然也是由带有TLS V1.2套接层保护的,所有数据都被加密了。



从此处往后,TIA V17与PLC交互的通信报文都带有TLS保护层。可以看出西门子虽然对S7Commplus协议做了TLS套接层处理,但是和原始的TLS V1.2协议的处理流程还是有很大区别, 下边是原始TLS的握手流程,应用到工控系统中还是做了很多调整,整个TLS的握手和证书处理、可信连接的创建都由西门子单独设计的一套机制。



综上所述,采用了S7CommPlus_TLS的通信处理流程为:

    TCP三次握手完成;

    客户端发送CR请求;

    服务器响应CC数据;

    客户端发送S7CommPlus_V1的通信设置请求;

    服务器回应通信设置;

    客户端发送TLS handshake请求;

    服务器回应handshake;

    客户端发送change_cipher_spec请求,通知后续报文加密;

    客户端紧接着发送TLS加密后的报文数据;

    服务器回应带有TLS加密的报文数据;
4总结
在工控领域中将稳定性和实时性置于系统需求的首位,西门子在工业通信协议中加入TLS安全套接层是否会影响到控制系统的实时性,这个问题还有待于工业现场的验证,但在安全性上可以说是增加了许多,也让恶意攻击者更难通过远程的手段进行一些低等级的攻击(比如重放攻击)。但网络世界的攻防对抗是不会停止的,有加密就会有解密,有多厚重的保护装备就会有多犀利的破解法门。我们最近也针对该协议做了些许分析,知道了加密前的协议、知道了证书的交换等等,发现了一些安全隐患目前正在验证阶段。我们致力于在黑客之前找到安全问题并与厂商一起修复隐患,以做到防患于未然,更好的保护工业控制系统。

工业系统在设计之初都没考虑到安全问题,但随着网络攻击的愈演愈烈工业系统会根据相关的规定对所有部件、协议进行加固处理,比如针对工业通信协议会做授权、认证、加密的处理,西门子已经在做这些事情,可以预计在未来的五年工业现场的通信协议都会做安全处理,对于抵御外部的威胁起到了显著的作用,但同时对于安全厂商也提出了要求,如何审计加密的工业通信流量,如何在加密流量中找到威胁行为等。

硬核专辑

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

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

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

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

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



TIA V16+MCD+SIMIT创建自动化系统仿真模型

2021-07-01



某工业巨头MES+SCADA+APS技术方案及项目推进计划

2021-07-03



中国工业机器人行业产业链深度研究报告

2021-06-28



设备通讯与数字化制造——半导体行业通信标准SECS/GEM最全解读

2021-06-18



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

2021-06-12



102页阿里巴巴数字智能工厂完整解决方案

2021-06-07



西门子、施耐德、罗克韦尔:三大工控厂商PLC密码保护突破之旅

2021-05-16



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

2021-05-07



200页PPT,详述MES/MOM与APS系统及其选型(下载)

2021-04-22



机械加工行业数字化车间规划与方案

2021-04-20



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

2021-04-18



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

2021-04-12



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

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

本帖子中包含更多资源

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

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

本版积分规则