开封市西门子中国(授权)一级代理商-西门子选型-西门子技术支持-西门子维修服务
- 供应商
- 湖南西控自动化设备有限公司
- 认证
- 联系电话
- 15344432716
- 手机号
- 15386422716
- 销售顾问
- 杨本刚
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 更新时间
- 2024-12-03 08:50
西门子plc广泛运用在各行业的工业控制系统上,比如钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等行业,其安全性直接关乎国家民生安全。
2019 blackhat usa会议上,安全研究员sarabitan指出西门子plczui新的通信协议s7comm-plus存在安全问题。为此,启明星辰adlab对相关漏洞进行研究,并在西门子s7-1500设备上复现了攻击效果。
2.西门子plc协议
西门子plc包括s7-200、s7-300、s7-400、s7-1200以及s7-1500等多个系列。s7-200/300/400系列plc采用早期的西门子私有协议s7comm进行通信,s7-1200/1500系列plc采用西门子s7comm-plus协议进行通信。
s7comm-plus协议在s7comm基础上引入了密钥保护机制,以对抗会话劫持、重放攻击和中间人攻击等。tia与plc交互过程可分为以下4个阶段:
(1)tcp connection
(2)cotp connection
(3)s7comm-plus connection,即四次握手密钥认证阶段
(4)s7comm-plus function,功能码执行阶段。
图1 s7comm-plus协议交互流程
密钥认证成功后方可进入功能码执行阶段,图2为四次握手认证具体流程。
图2 四次握手认证
(1)tia向plc发送m1开启一个新的会话。
(2)plc将返回给tia一个响应包m2,m2包含plc固件版本和随机数serversessionchallenge,长度20个字节。
图3 m2认证数据包
(3)tia收到m2后,将向plc发送m3,m3中包含securitykeyencryptedkey(图4中红色框所示)。其中,magic字段为0xfee1dead,长度180字节。securitykeyencryptedkey里包含3个关键的加密字段(图4中蓝色框所示)。
图4 m3认证数据包
(4)plc收到m3后,进行密钥认证。若认证成功,向tia回复m4数据包。
四次握手认证完成后,tia向plc发送功能码数据包,功能码数据包中包含intergritypart字段,如图5所示。plc收到功能码数据包后,首先校验intergritypart字段,若校验通过,执行相应功能码。
图5 stop功能码数据包