一种基于制造技术

技术编号:39395256 阅读:12 留言:0更新日期:2023-11-19 15:50
一种基于

【技术实现步骤摘要】
一种基于PLC的身份认证过程的解析方法


[0001]本专利技术涉及工控
PLC
通讯
,具体涉及一种基于
PLC
的身份认证过程的解析方法


技术介绍

[0002]随着工控系统朝着信息化

智能化的方向发展

大量的工控设备开始接入互联网

同时由于
PLC
等核心设备在设计之初多注重于系统的效率

实时等特性而忽略了互联安全方面的考虑

因此导致其缺乏有效的信息安全防御措施

从而面临着巨大的网络安全风险

而近年来

针对工控系统及其核心设备的恶意事件也是层出不穷

而随着“互联网
+”、
智能制造等新兴业态的快速发展

互联网技术快速渗透到我国工业各领域

但目前我国工控系统的核心设备多依赖于进口

因而在其安全性未知的情况下势必存在众多潜在的网络安全风险


PLC
互联身份认证机制是
PLC
对身份进行合法性检验的一种安全防护手段,它能有效地保护
PLC
的敏感数据和高权限指令不被窃取和利用;但是目前
PLC
的认证机制仍存在被破解的安全风险,因此对于
PLC
身份认证机制的分析可以进一步挖掘
PLC
可能存在的安全风险,从而对
PLC
进行安全加固,提升
PLC
的安全性


技术实现思路

[0003]本专利技术所要解决的技术问题是提供一种基于
PLC
的身份认证过程的解析方法,通过使用本方法可以分析出
PLC
互联身份认证机制的实现原理,进一步挖掘出
PLC
身份认证机制中可能存在的安全风险,从而对
PLC
进行安全加固,提升
PLC
的安全性

[0004]为解决上述技术问题,本专利技术所采用的技术方案是:
[0005]一种基于
PLC
的身份认证过程的解析方法,步骤为:
[0006]Step1、
使用网络封包分析软件监听并捕获上位机向
PLC
发送操作指令报文;通过分析捕获到上位机与
PLC
之间的通讯报文中的操作码字段和功能码字段内容并掌握该报文的含义,再结合关键字段内容即可确定该报文的作用,再将所有报文汇总归纳出其通讯流程;
[0007]Step2、
生成
PLC
身份认证加密数据的加密函数定位;通过对通讯报文的分析并提取报文中的数据信息,包括通讯协议类型和报文序列号;在动态调试过程中针对不同协议类型的报文在不同的发送报文
API
及接收报文
API
处下断点进行函数定位,再根据收发报文函数的返回地址溯源上层函数,从而确定上位机与
PLC
通讯使用的
DLL
;通过使用静态分析软件载入上位机的通讯
DLL
,通过加密算法特征定位加密算法的脚本筛选出通讯
DLL
中包含加密算法特征的函数;通过动态调试软件调试上位机及并结合筛选出的包含加密算法的函数以及从报文中提取的特殊字段信息来定位加密函数;
Step3、PLC
身份认证加密数据生成过程的解析;在定位到加密函数后通过解析加密函数掌握其生成加密认证数据的原理,步骤为:
[0008]通过静态分析软件载入通讯
DLL
并定位加密函数;通过动态分析捕获加密函数参
数信息;通过静态分析软件分析加密函数伪代码分析加密函数参数数据类型及参数的用途,从而分析出加密各函数参数含义;根据脚本筛选出具有加密特征的函数是否处于加密函数内部判断出加密函数包含哪些加密算法,根据各子函数的参数

生成的数据长度以及函数流程特征与目前已知加密算法进行匹配可得知子函数数据生成原理;综合对加密函数的各个子函数的分析,最终得出加密认证数据的生成原理;根据分析出的认证数据生成原理以及捕获到的上位机与
PLC
之间的通讯报文

通讯流程,构造出报文模拟上位机向
PLC
发送操作指令,测试
PLC
认证机制能否防范恶意构造的操作指令

[0009]上述的
Step1
的具体步骤为:
[0010]使用
Tcpdump、Wireshark
网络封包分析软件监听本地流量,使用上位机向
PLC
发送操作指令,包括启动

停止或写入数据,此时网络封包分析软件会捕获上位机与
PLC
之间的通讯报文以及其他报文,通过设定规则过滤出上位机与
PLC
之间的通讯报文,通过对报文中特定字段的分析即可确定报文的作用,分析出所有报文的具体作用,再进行归纳总结得出通讯流程为上位机向
PLC
发起建立通讯连接请求,
PLC
回复上位机收到请求并附带
PLC
的自身信息,包括
PLC
型号及固件版本以及本次通讯会话的会话挑战值信息,上位机收到
PLC
回复的信息后生成身份认证报文供
PLC
校验,校验通过后
PLC
回复上位机创建通讯会话成功,由上位机发送操作指令,
PLC
执行完成操作指令结束通讯会话

[0011]上述的
Step2
的具体步骤为:
[0012]根据报文协议类型是
UDP
还是
TCP
来确定收发数据的函数是
recvfrom/sendto
还是
recv/send
,从而在使用对应动态调试软件
Windbg

x64dbg
,若调试上位机时在对应的函数处下断点,通过定位收发数据的函数并根据其函数返回地址溯源上层函数,找到全集成自动化软件的目标通讯
DLL
;通过静态分析软件
IDA Pro
对上位机的通讯
DLL
进行调试,为了使静态分析软件载入目标分析程序时的函数地址同动态调试过程中的函数地址保持一致,通过载入包含
AES、DES、MD5、SHA256、ECC
以及
RSA
加密算法特征的加密算法筛选脚本筛选出通讯
DLL
中包含加密算法特征的函数,通过动态调试上位机并结合筛选出的包含加密算法的函数以及从报文中提取的特殊字段信息来定位加密函数以及获取加密函数参数内容,从而分析并生本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
PLC
的身份认证过程的解析方法,其特征是,步骤为:
Step1、
使用网络封包分析软件监听并捕获上位机向
PLC
发送操作指令报文;通过分析捕获到上位机与
PLC
之间的通讯报文中的操作码字段和功能码字段内容并掌握该报文的含义,再结合关键字段内容即可确定该报文的作用,再将所有报文汇总归纳出其通讯流程;
Step2、
生成
PLC
身份认证加密数据的加密函数定位;通过对通讯报文的分析并提取报文中的数据信息,包括通讯协议类型和报文序列号;在动态调试过程中针对不同协议类型的报文在不同的发送报文
API
及接收报文
API
处下断点进行函数定位,再根据收发报文函数的返回地址溯源上层函数,从而确定上位机与
PLC
通讯使用的
DLL
;通过使用静态分析软件载入上位机的通讯
DLL
,通过加密算法特征定位加密算法的脚本筛选出通讯
DLL
中包含加密算法特征的函数;通过动态调试软件调试上位机及并结合筛选出的包含加密算法的函数以及从报文中提取的特殊字段信息来定位加密函数;
Step3、PLC
身份认证加密数据生成过程的解析;在定位到加密函数后通过解析加密函数掌握其生成加密认证数据的原理,步骤为:通过静态分析软件载入通讯
DLL
并定位加密函数;通过动态分析捕获加密函数参数信息;通过静态分析软件分析加密函数伪代码分析加密函数参数数据类型及参数的用途,从而分析出加密各函数参数含义;根据脚本筛选出具有加密特征的函数是否处于加密函数内部判断出加密函数包含哪些加密算法,根据各子函数的参数

生成的数据长度以及函数流程特征与目前已知加密算法进行匹配可得知子函数数据生成原理;综合对加密函数的各个子函数的分析,最终得出加密认证数据的生成原理;根据分析出的认证数据生成原理以及捕获到的上位机与
PLC
之间的通讯报文

通讯流程,构造出报文模拟上位机向
PLC
发送操作指令,测试
PLC
认证机制能否防范恶意构造的操作指令
。2.
根据权利要求1所述的一种基于
PLC
的身份认证过程的解析方法,其特征在于,所述的
Step1
的具体步骤为:使用
Tcpdump、Wireshark
网络封包分析软件监听本地流量,使用上位机向
PLC
发送操作指令,包括启动

停止或写入数据,此时网络封包分析软件会捕获上位机与
PLC
之间的通讯报文以及其他报文,通过设定规则过滤出上位机与
PLC
之间的通讯报文,通过对报文中特定字段的分析即可确定报文的作用,分析出所有报文的具体作用,再进行归纳总结得出通讯流程为上位机向
PLC
发起建立通讯连接请求,
PLC
回复上位机收到请求并附带
PLC
的自身信息,包括
PLC
型号及固件版本以及本次通讯会话的会话挑战值信息,上位机收到
PLC
回复的信息后生成身份认证报文供
PLC
校验,校验通过后
PLC
回复上位机创建通讯会话成功,由上位机发送操作指令,
PLC
执行完成操作指令结束通讯会话
。3.
根据权利要求2所述的一种基于
PLC
的身份认证过程的解析方法,其特征在于,所述的
Step2
的具体步骤为:根据报文协议类型是
UDP
还是
TCP
来确定收发数据的函数是
recvfrom/sendto
还是

【专利技术属性】
技术研发人员:唐进张斌双伟
申请(专利权)人:中国长江三峡集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1