SIEMENS云南省昆明市西门子(授权)中国总代理-西门子西南地区一级总代理商
| 更新时间 2025-01-08 08:50:00 价格 请来电询价 联系电话 15344432716 联系手机 15386422716 联系人 杨本刚 立即询价 |
虽然主机TIA与PLC之间的认证引入了非对称加密算法,但是PLC与主机之间并没有进行绑定,因此仍然存在安全问题,攻击者可以伪造成一个恶意的主机/工作站,利用已知的公钥及加密算法,对PLC进行非法控制或者中间人攻击。
下面介绍密钥生成算法流程:
图6 密钥生成算法
主机(TIA)随机生成20字节的PreKey,使用类椭圆曲线加密算法和公钥加密PreKey,作为Keying materaial1(对应图7中M3数据包的EG1、EG2)。
主机(TIA)根据PreKey计算KDF,并由此生成CEK(Checksum Encryption Key),CS(ChecksumSeed),KEK(Key Encryption Key)。
主机(TIA)将Challenge和KDK相结合,使用AES-CTR加密算法和KEK进行加密,其结果作为Keying material3(对应M3数据包中的EncryptedChallenge和EncryptedKDK)。
主机(TIA)用CS和Keying material 3进行哈希运算(TabulationHash),得到结果TB-HASH。
主机(TIA)使用AES-ECB算法和CEK来加密TB-HASH并得到结果Keying material2(对应M3数据包中的EncryptedChecksum)。
图7 M3数据包结构
4.漏洞复现
我们对OMSp_core_managed.dll进行逆向分析,通过调用关键接口函数,构造四次握手加密认证数据包。攻击端首先发送认证数据包,密钥认证完成后发送stop功能码,成功使得西门子PLCS7-1500停止运行。
正常运行时,PLC S7-1500运行指示灯为绿色。运行状态如图8所示。
图8 攻击前PLC正常运行
发送攻击脚本后,PLC S7-1500运行指示灯变为黄色,PLC停止运行,PLC状态如图9所示。
图9 攻击后PLC停止运行
联系方式
- 电 话:15344432716
- 销售顾问:杨本刚
- 手 机:15386422716
- 微 信:AK66F7