SIEMENS云南省昆明市西门子(授权)中国总代理-西门子西南地区一级总代理商
- 供应商
- 湖南西控自动化设备有限公司
- 认证
- 联系电话
- 15344432716
- 手机号
- 15386422716
- 销售顾问
- 杨本刚
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 更新时间
- 2024-06-27 08:50
虽然主机tia与plc之间的认证引入了非对称加密算法,但是plc与主机之间并没有进行绑定,因此仍然存在安全问题,攻击者可以伪造成一个恶意的主机/工作站,利用已知的公钥及加密算法,对plc进行非法控制或者中间人攻击。
下面介绍密钥生成算法流程:
图6 密钥生成算法
主机(tia)随机生成20字节的prekey,使用类椭圆曲线加密算法和公钥加密prekey,作为keyingmateraial1(对应图7中m3数据包的eg1、eg2)。
主机(tia)根据prekey计算kdf,并由此生成cek(checksum encryptionkey),cs(checksumseed),kek(key encryption key)。
主机(tia)将challenge和kdk相结合,使用aes-ctr加密算法和kek进行加密,其结果作为keyingmaterial3(对应m3数据包中的encryptedchallenge和encryptedkdk)。
主机(tia)用cs和keying material 3进行哈希运算(tabulationhash),得到结果tb-hash。
主机(tia)使用aes-ecb算法和cek来加密tb-hash并得到结果keyingmaterial2(对应m3数据包中的encryptedchecksum)。
图7 m3数据包结构
我们对omsp_core_managed.dll进行逆向分析,通过调用关键接口函数,构造四次握手加密认证数据包。攻击端首先发送认证数据包,密钥认证完成后发送stop功能码,成功使得西门子plcs7-1500停止运行。
正常运行时,plc s7-1500运行指示灯为绿色。运行状态如图8所示。
图8 攻击前plc正常运行
发送攻击脚本后,plc s7-1500运行指示灯变为黄色,plc停止运行,plc状态如图9所示。
图9 攻击后plc停止运行
展开全文