CN113676375A - 一种工业控制系统私有协议结构解析方法 - Google Patents
一种工业控制系统私有协议结构解析方法 Download PDFInfo
- Publication number
- CN113676375A CN113676375A CN202110932561.5A CN202110932561A CN113676375A CN 113676375 A CN113676375 A CN 113676375A CN 202110932561 A CN202110932561 A CN 202110932561A CN 113676375 A CN113676375 A CN 113676375A
- Authority
- CN
- China
- Prior art keywords
- byte
- score
- mutual information
- ith
- calculating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种工业控制系统私有协议结构解析方法,其步骤为:S1:获取工控私有协议数据集;S2:统计数据集的必要信息,包括数据集中数据包数量,数据包的最大字节长度,并生成数据包各字节偏移集合Bi;S3:计算信息熵H(Bi)、联合信息熵H(Bi,Bi+1)和互信息I(Bi;Bi+1);S4:计算数据集中第i和第i+1两个相邻字节的互信息率MIR(Bi;Bi+1);S5:依据本发明提出的四条得分规则,计算出所有字节的得分数组;S6:统计、存储并输出最终字节关系数组。本发明只需要获取工业控制系统的私有协议通信数据包,便能够自动化解析私有协议的结构,不会对设备的正常使用造成任何影响,使得对业控制系统私有协议结构解析变得简单高效。
Description
技术领域
本发明涉及工业控制系统的私有协议结构解析领域,特别涉及一种工业控制系统私有协议结构解析方法。
背景技术
随着工业4.0时代的到来,工业互联网与工业控制系统深度融合,越来越多的工控设备开始接入互联网,这在带来生产力快速提高的同时也带来了一系列安全问题。暴露在互联网上的工控设备一旦被攻击,轻则会影响工业生成的顺利进行,给企业和国家带来大量的经济损失,重则将严重威胁工作人员的人身安全。因此如何快速挖掘控制系统存在的安全漏洞,提高其安全性正逐渐被安全研究人员关注。
协议模糊测试是工业控制系统的常见的漏洞挖掘方式。在进行协议的模糊测试时,通常首先使用Peach等模糊测试工具对协议格式进行建模和构建状态机等,在完成配置后,模糊测试工具将自动化的生成测试用例对被测设备进行模糊测试。这种方法的优势是在完成配置后,可以自动化的进行模糊测试,能够减轻安全人员的工作量,同时可以对所有使用指定协议的工控设备都进行模糊测试,适用范围较广。
工业控制系统中使用了大量未公开结构的私有协议,在对私有协议进行模糊测试前,需要测试者通过各种方法来解析协议结构,并且协议结构解析的结果将影响生成测试用例的接收率。因此需要高效地对大量私有协议数据包进行结构解析,鉴于此,本发明提出一种基于信息论的方法来对私有协议进行结构解析。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种通用性好、具有较高效率和准确度的工业控制系统私有协议结构解析方法。
为达到上述目的,本发明的技术方案如下:一种工业控制系统私有协议结构解析方法,该方法包括如下步骤:
S1:获取工控私有协议数据集;
S2:统计数据集的必要信息,包括数据集中数据包数量n,数据包的最大字节长度L,并生成数据包各字节偏移集合Bi;
S3:计算信息熵H(Bi)、联合信息熵H(Bi,Bi+1)和互信息I(Bi;Bi+1);
S4:计算数据集中第i和第i+1两个相邻字节的互信息率MIR(Bi;Bi+1):
S5:依据本发明提出的以下四条得分规则,生成得分数组S;
if MIR(Bi;Bi+1)<MIR(Bi+1;Bi+2)and MIR(Bi;Bi+1)<MIR(Bi-1;Bi),
if MIR(Bi;Bi+1)>MIR(Bi-1;Bi)and MIR(Bi;Bi+1)>MIR(Bi+1;Bi+2),
S6:统计、存储并输出最终字节关系数组R。
进一步地,所述步骤S1中,捕获上位机与PLC之间的通信数据包,剔除重复的数据包和心跳包,使得数据包的数量足够多,以保证各个字段取值的多样性,生成PCAP文件,将PCAP文件中的数据包作为私有协议数据集。
进一步地,所述步骤S3中的详细流程为:
S302:计算信息熵H(Bi);
S303:计算联合信息熵H(Bi,Bi+1);
S304:计算互信息I(Bi;Bi+1);
I(Bi;Bi+1)=H(Bi)+H(Bi+1)-H(Bi,Bi+1)
进一步地,所述步骤S5中的详细流程为:
S501:计算所有相邻两个字节间的互信息率,并初始化得分数组S=[S0,S1,…,SL-1]=[0,0,…];
if MIR(Bi;Bi+1)<MIR(Bi+1;Bi+2)and MIR(Bi;Bi+1)<MIR(Bi-1;Bi),
if MIR(Bi;Bi+1)>MIR(Bi-1;Bi)and MIR(Bi;Bi+1)>MIR(Bi+1;Bi+2),
S505:根据预先定义的权重,按照如下公式计算第i个字节的最终得分Si。
λ1=2,λ2=2,λ3=1,λ4=1
进一步地,所述步骤S6中的详细流程为:
S601:初始化字节关系数组R=[R0,…,RL-1]=[0,…,0];
S602:如果数组S中元素Si不小于1,则表示第i和第i+1个字节不属于同一字段,令Ri=Ri-1+1,反之则属于同一字段,令Ri=Ri-1。
与现有技术相比,本发明的优点在于,只需要获取通信数据包,即可完成私有协议的格式解析,适用性广,并且不会对设备运行产生任何影响。
附图说明
图1为本发明实施例提出的工业控制系统私有协议结构解析方法的流程图。
图2为本发明实施例中数据包各字节偏移集合。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
如图1所示,本发明实施例提供的一种工业控制系统私有协议结构解析方法,该方法包括如下步骤:
S1:获取工控私有协议数据集。在上位机与PLC进行通信时,捕获两者之间的通信数据包,剔除重复的数据包和心跳包,使得数据包的数量不少于3000个,以保证各个字段取值的多样性,最后生成PCAP文件。将PCAP文件中的数据包作为私有协议数据集。
S2:统计私有协议数据集的必要信息,包括数据集中数据包数量n,数据包的最大字节长度L等,并生成数据包各字节偏移集合Bi,Bi由所有数据包中相同偏移字节的取值组成,如图2所示。
S3:计算信息熵H(Bi)、联合信息熵H(Bi,Bi+1)和互信息I(Bi;Bi+1),详细流程如下:
S302:计算信息熵H(Bi);
S303:计算联合信息熵H(Bi,Bi+1);
S304:计算互信息I(Bi;Bi+1);
I(Bi;Bi+1)=H(Bi)+H(Bi+1)-H(Bi,Bi+1)
S4:计算数据集中第i和第i+1两个相邻字节的互信息率MIR(Bi;Bi+1);计算公式如下所示:
S5:依据本发明4个第i与第i+1个字节的得分规则,计算得出得分数组S,详细流程如下:
S501:计算所有相邻两个字节间的互信息率,并初始化得分数组S=[S0,S1,…,SL-1]=[0,0,…];
if MIR(Bi;Bi+1)<MIR(Bi+1;Bi+2)and MIR(Bi;Bi+1)<MIR(Bi-1;Bi),
if MIR(Bi;Bi+1)>MIR(Bi-1;Bi)and MIR(Bi;Bi+1)>MIR(Bi+1;Bi+2),
本实施例中,阈值threshold根据经验设置为0.01。
S505:根据预先定义的权重,按照如下公式计算第i个字节的最终得分Si:
λ1=2,λ2=2,λ3=1,λ4=1
S6:统计并存储字节关系数组R,详细流程如下:
S601:初始化字节关系数组R=[R0,…,RL-1]=[0,…,0];
S602:如果数组S中元素Si不小于1,则表示第i和第i+1个字节不属于同一字段,令Ri=Ri-1+1,反之则属于同一字段,令Ri=Ri-1。
S7:输出字节关系数组R。
本实例所述的一种工业控制系统私有协议结构解析方法,只需要获取工业控制系统正常工作过程中产生的数据流量包,即可完成私有协议的结构解析。不会对正常的工业生成活动产生任何影响,并且对工业控制系统的软硬件没有任何的额外要求,从而使得私有协议的结构解析更加简单和方便。
显然,上述实施例为针对一种工业控制系统私有协议结构解析方法所进行的举例说明,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (5)
1.一种工业控制系统私有协议结构解析方法,其特征在于,包括如下步骤:
S1:获取工控私有协议数据集;
S2:统计数据集的必要信息,包括数据集中数据包数量n,数据包的最大字节长度L,并生成数据包各字节偏移集合Bi;
S3:计算信息熵H(Bi)、联合信息熵H(Bi,Bi+1)和互信息I(Bi;Bi+1);
S4:计算数据集中第i和第i+1两个相邻字节的互信息率MIR(Bi;Bi+1):
S5:依据以下四条得分规则,生成得分数组S;
ifMIR(Bi;Bi+1)<MIR(Bi+1;Bi+2)andMIR(Bi;Bi+1)<MIR(Bi-1;Bi),
ifMIR(Bi;Bi+1)>MIR(Bi-1;Bi)andMIR(Bi;Bi+1)>MIR(Bi+1;Bi+2),
S6:统计、存储并输出最终字节关系数组R。
2.根据权利要求1所述的一种工业控制系统私有协议结构解析方法,其特征在于,所述步骤S1中,捕获上位机与PLC之间的通信数据包,剔除重复的数据包和心跳包,使得数据包的数量足够多,以保证各个字段取值的多样性,生成PCAP文件,将PCAP文件中的数据包作为私有协议数据集。
4.根据权利要求1所述的一种工业控制系统私有协议结构解析方法,其特征在于,所述步骤S5中的详细流程为:
S501:计算所有相邻两个字节间的互信息率,并初始化得分数组S=[S0,S1,…,SL-1]=[0,0,…];
ifMIR(Bi;Bi+1)<MIR(Bi+1;Bi+2)andMIR(Bi;Bi+1)<MIR(Bi-1;Bi),
ifMIR(Bi;Bi+1)>MIR(Bi-1;Bi)andMIR(Bi;Bi+1)>MIR(Bi+1;Bi+2),
S505:根据预先定义的权重,按照如下公式计算第i个字节的最终得分Si。
λ1=2,λ2=2,λ3=1,λ4=1
5.根据权利要求4所述的一种工业控制系统私有协议结构解析方法,其特征在于,所述步骤S6中的详细流程为:
S601:初始化字节关系数组R=[R0,…,RL-1]=[0,…,0];
S602:如果数组S中元素Si不小于1,则表示第i和第i+1个字节不属于同一字段,令Ri=Ri-1+1,反之则属于同一字段,令Ri=Ri-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110932561.5A CN113676375B (zh) | 2021-08-13 | 2021-08-13 | 一种工业控制系统私有协议结构解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110932561.5A CN113676375B (zh) | 2021-08-13 | 2021-08-13 | 一种工业控制系统私有协议结构解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676375A true CN113676375A (zh) | 2021-11-19 |
CN113676375B CN113676375B (zh) | 2023-03-14 |
Family
ID=78542816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110932561.5A Active CN113676375B (zh) | 2021-08-13 | 2021-08-13 | 一种工业控制系统私有协议结构解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676375B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117434886A (zh) * | 2023-12-21 | 2024-01-23 | 成都苔岑智能设备有限公司 | 一种基于运转数字模型的plc控制系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322220A (zh) * | 2018-02-08 | 2018-07-24 | 华为技术有限公司 | 编解码方法、装置及编解码设备 |
CN109547409A (zh) * | 2018-10-19 | 2019-03-29 | 中国电力科学研究院有限公司 | 一种用于对工业网络传输协议进行解析的方法及系统 |
CN110298398A (zh) * | 2019-06-25 | 2019-10-01 | 大连大学 | 基于改进互信息的无线协议帧特征选择方法 |
CN110445815A (zh) * | 2019-09-20 | 2019-11-12 | 北京天地和兴科技有限公司 | 一种工控协议深度解析方法 |
CN112039196A (zh) * | 2020-04-22 | 2020-12-04 | 广东电网有限责任公司 | 一种基于协议逆向工程的电力监控系统私有协议解析方法 |
-
2021
- 2021-08-13 CN CN202110932561.5A patent/CN113676375B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322220A (zh) * | 2018-02-08 | 2018-07-24 | 华为技术有限公司 | 编解码方法、装置及编解码设备 |
CN109547409A (zh) * | 2018-10-19 | 2019-03-29 | 中国电力科学研究院有限公司 | 一种用于对工业网络传输协议进行解析的方法及系统 |
CN110298398A (zh) * | 2019-06-25 | 2019-10-01 | 大连大学 | 基于改进互信息的无线协议帧特征选择方法 |
CN110445815A (zh) * | 2019-09-20 | 2019-11-12 | 北京天地和兴科技有限公司 | 一种工控协议深度解析方法 |
CN112039196A (zh) * | 2020-04-22 | 2020-12-04 | 广东电网有限责任公司 | 一种基于协议逆向工程的电力监控系统私有协议解析方法 |
Non-Patent Citations (2)
Title |
---|
车欣: "工业控制系统漏洞挖掘技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
车欣: "工业控制系统漏洞挖掘技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》, 15 May 2021 (2021-05-15), pages 138 - 95 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117434886A (zh) * | 2023-12-21 | 2024-01-23 | 成都苔岑智能设备有限公司 | 一种基于运转数字模型的plc控制系统及方法 |
CN117434886B (zh) * | 2023-12-21 | 2024-03-08 | 成都苔岑智能设备有限公司 | 一种基于运转数字模型的plc控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113676375B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150106930A1 (en) | Log analysis device and method | |
CN109547409A (zh) | 一种用于对工业网络传输协议进行解析的方法及系统 | |
CN113676375B (zh) | 一种工业控制系统私有协议结构解析方法 | |
EP3422647B1 (en) | Method, controller and system for detecting data flow forwarding abnormality | |
CN112600792B (zh) | 一种物联网设备的异常行为检测方法及系统 | |
CN109040027B (zh) | 基于灰色模型的网络脆弱性节点的主动预测方法 | |
CN114900480B (zh) | 基于数据平台的通讯安全管控系统 | |
CN112134873B (zh) | 一种IoT网络异常流量实时检测方法及系统 | |
CN103152341A (zh) | 一种虚实结合的网络安全态势感知仿真方法及系统 | |
CN113660209A (zh) | 一种基于sketch与联邦学习的DDoS攻击检测系统及应用 | |
US11853041B2 (en) | Anomaly detection device, anomaly detection method, and recording medium | |
CN114444096B (zh) | 一种基于数据分析的网络数据储存加密检测系统 | |
CN107222497A (zh) | 网络流量异常监测方法及电子设备 | |
JP7081695B2 (ja) | 優先度判定装置、優先度判定方法、及び制御プログラム | |
CN106100878A (zh) | 一种实现intel x86路由器模拟复位按键的方法 | |
CN106909459A (zh) | 一种调整连接池的方法及装置 | |
CN114726753A (zh) | 一种基于多任务学习的网络加密流量识别方法 | |
CN107360196A (zh) | 攻击检测方法、装置及终端设备 | |
CN103067200A (zh) | 一种网络对抗效果仿真方法及系统 | |
Ruiz et al. | Lyapunov-based anomaly detection in preferential attachment networks | |
CN111190831A (zh) | 区块链共识算法的鲁棒性分析方法及区块链系统 | |
CN110572250A (zh) | 一种基于三集合分离属性的自动化积分分析方法及系统 | |
CN112672301B (zh) | 一种用于无线传感器的网络数据聚合方法 | |
CN110768826B (zh) | 一种电力信息网络关键信息传输链路识别方法及其系统 | |
Khudoyarova et al. | Using Machine Learning to Analyze Network Traffic Anomalies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |