CN110213130A - 一种基于迭代优化的工控协议格式分析方法 - Google Patents
一种基于迭代优化的工控协议格式分析方法 Download PDFInfo
- Publication number
- CN110213130A CN110213130A CN201910477261.5A CN201910477261A CN110213130A CN 110213130 A CN110213130 A CN 110213130A CN 201910477261 A CN201910477261 A CN 201910477261A CN 110213130 A CN110213130 A CN 110213130A
- Authority
- CN
- China
- Prior art keywords
- message data
- analysis
- message
- industry control
- packetset
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 52
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 238000002864 sequence alignment Methods 0.000 claims abstract description 9
- 230000008676 import Effects 0.000 claims abstract description 3
- 238000013480 data collection Methods 0.000 claims description 18
- 241001269238 Data Species 0.000 claims description 6
- 229910017435 S2 In Inorganic materials 0.000 claims 1
- 239000012141 concentrate Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 11
- 238000013433 optimization analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002887 multiple sequence alignment Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种基于迭代优化的工控协议格式分析方法,包括:将pcap文件中的报文数据导入,并加载到报文数据集中,之后用户自定义工控协议的格式以及各个字段的语义,再设置相似度分值,然后将报文数据集中的报文与自定义的协议格式逐个进行匹配,若匹配成功,则将该报文删除,直至所有报文都匹配完成,采用Needleman‑Wunsch序列比对算法对报文数据集中的报文进行逆向分析,得到新的协议分析结果,之后用户判断是否结束此次协议逆向分析,若需要继续进行迭代分析,则将原来pcap文件中的所有报文重新加载到报文数据集中,然后再转步骤S2,否则结束分析。本发明基于迭代优化的工控协议格式分析方法,其能更为准确地推断出协议的格式和语法,保证分析结果的准确性。
Description
技术领域
本发明涉及协议格式分析技术领域,具体涉及一种基于迭代优化的工控协议格式分析方法。
背景技术
工业控制系统(Industrial Control System,ICS),简称工控系统,是由计算机设备与工业过程控制部件组成的自动控制系统,广泛应用于电力、水处理、石油与天然气、化工、交通运输、制造业等行业。随着计算机和网络技术的飞速发展,工控系统的网络化和信息化,在极大地推动了工业生产效率的同时,也使工控系统接口越来越开放,带来了不少安全隐患。为了杜绝这些隐患的发生,其中重要的一个环节是对工控系统所采用的协议进行逆向分析,然后结合模糊测试等方法对其进行检测,判断工控协议本身是否存在安全漏洞。
对工控协议的分析方法大致可以分为基于网络流量的分析方法分析和基于指令执行序列的分析方法,由于基于指令执行序列的分析方法需要对协议实现代码进行深度分析,这种方法在执行过程中条件较为苛刻,而且对每种协议的实现都需要从头开始分析,而采用对网络流量进行分析的方法在通用性方面则更强,可以采用统一的方法来推断协议格式。
采用网络流量分析方法对工控协议进行逆向时,可以采用人工和自动化的方式来进行,但是人工分析方式存在的主要问题是工作量比较大,需要具备专业知识的人花费较长的时间来推断协议的格式和各字段语义,而采用自动化的方式存在的问题是自动化逆向分析工具往往难以完全准确地分析出协议的格式和字段语义,很多时候必须依靠人工分析的方法来对结果进行改进。因此,亟需设计一种新的技术方案,以综合解决现有技术存在的问题。
发明内容
本发明的目的是提供一种基于迭代优化的工控协议格式分析方法,其能有效解决基于指令执行序列分析方法条件苛刻、对每种协议的实现都需要从头分析,而基于网络流量人工分析方法工作量大、耗时长以及基于网络流量自动化方式需要依靠人工分析的问题。
为解决上述技术问题,本发明采用了以下技术方案:
一种基于迭代优化的工控协议格式分析方法,包括以下步骤:
步骤S1.将pcap文件中的报文数据导入,并将报文数据全部加载到报文数据集PacketSet中,然后转入步骤S2;
步骤S2.用户根据先验知识或者对之前分析报文数据集PacketSet得到的结果自定义工控协议的格式以及各个字段的语义,随后再设置相似度分值,然后转入步骤S3;
步骤S3.将报文数据集PacketSet中的报文数据与用户自定义的协议格式逐个进行匹配,若匹配成功,则将该报文数据从报文数据集PacketSet中删除,直至所有报文数据都匹配完成,然后转入步骤S4;
步骤S4.采用Needleman-Wunsch序列比对算法对报文数据集PacketSet中的报文数据进行逆向分析,得到新的协议分析结果,之后用户判断是否结束此次协议逆向分析,若需要继续进行迭代分析,则将原来pcap文件中的所有报文数据重新加载到报文数据集PacketSet中,然后再转步骤S2,否则结束分析。
其中,步骤S2的相似度分值不同于之前分析时所设置的相似度分值。
上述技术方案中提供的基于迭代优化的工控协议格式分析方法,能实现准确的协议格式和语法推断,通过引入用户先验知识以及前期逆向分析得到的结果,自定义协议格式和字段语义,并不断迭代优化分析结果,从而能更为准确地推断出协议的格式和语法,本发明在对协议进行逆向分析时采用了Needleman-Wunsch序列比对算法,该算法通过相似度计分、最优回溯等步骤推断协议的格式和语法,有效保证了分析结果的准确性,同时由于用户定义的协议格式可以减少参与序列比对的报文数量,能显著加快工控协议逆向的速度。
附图说明
图1为本发明基于迭代优化的工控协议格式分析方法的流程示意图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行具体说明。应当理解,以下文字仅仅用以描述本发明的一种或几种具体的实施方式,并不对本发明具体请求的保护范围进行严格限定。
本实施例所需的运行环境为一台Intel-Windows架构的PC机以及格式为pcap类型的样本数据集,该样本数据集可采用wireshark等工具通过抓包的方式获得,且样本数据集中的报文都与待分析的工控协议有关。
运行本发明提供的基于迭代优化的工控协议格式分析方法的PC机系统配置如下:在Intel-Windows架构的PC机上安装并运行基于本发明的软件(本实施例中软件的名称为NetPRA),该PC机硬件的主频2.5GHz及以上的Core八核CPU的PC机,内存≥4GB,硬盘500GB,运行Windows 7操作系统。
如图1所示,开始于步骤S101,程序读取pcap文件并将文件中所有的报文数据加载到报文数据集PacketSet中,然后转步骤S102;
在步骤S102中,用户根据先验知识或者之前得到的分析结果定义协议的报文格式以及各字段的语义然后转步骤S103;
在步骤S103中,设置Needleman-Wunsch序列比对算法执行所需的相似度分值,该相似度分值的设置应与之前分析时所设置的相似度分值不同,然后转步骤S104;
在步骤S104中,将报文数据集PacketSet中的报文数据与用户定义的协议格式逐个进行匹配,然后转步骤S105;
在步骤S105中,判断报文数据是否与用户定义的格式匹配成功,如果成功转步骤S106,否则转步骤S107;
在步骤S106中,将匹配成功的报文数据从报文数据集PacketSet中删除,然后转步骤S107;
在步骤S107中,判断报文数据集PacketSet中的所有报文数据是否都已经匹配完毕,如果没有转步骤S104,否则转步骤S108;
在步骤S108中,采用Needleman-Wunsch序列比对算法对报文数据集PacketSet中的报文数据进行协议逆向分析,并得到相应的分析结果,然后转步骤S109;
在步骤S109中,根据分析结果来判断此次逆向分析是否结束,如果不结束则转步骤S110,否则转步骤S111;
在步骤S110中,将pcap文件中的所有报文数据重新加载到报文数据集PacketSet中,然后转回步骤S102;
在步骤S111中,保存所有分析结果,并结束此次分析。
附注:1.“先验知识”主要取决于用户的认知能力,用户通过人工方式先分析一遍,发现其中存在的某些协议格式,或者由于采用了迭代分析,通过前一次的多序列比对结果,推断出了其中的某些协议格式。
2.对于“之前分析时所设置的分值”的解释,由于本发明采用的是迭代优化方法,因此用户之前已经进行过若干轮的分析,每轮分析都需要进行相似度分值的设置。
综上所述,本发明提供的基于迭代优化的工控协议格式分析方法,能实现准确的协议格式和语法推断,通过引入用户先验知识以及前期逆向分析得到的结果,自定义协议格式和字段语义,并不断迭代优化分析结果,从而能更为准确地推断出协议的格式和语法,本发明在对协议进行逆向分析时采用了Needleman-Wunsch序列比对算法,该算法通过相似度计分、最优回溯等步骤推断协议的格式和语法,在一方面保证了分析结果的准确性,同时由于用户定义的协议格式可以减少参与序列比对的报文数量,也在另一方面加快了工控协议逆向的速度。
上面结合实施例对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,对于本技术领域的普通技术人员来说,在获知本发明中记载内容后,在不脱离本发明原理的前提下,还可以对其作出若干同等变换和替代,这些同等变换和替代也应视为属于本发明的保护范围。
Claims (2)
1.一种基于迭代优化的工控协议格式分析方法,其特征在于,包括以下步骤:
步骤S1.将pcap文件中的报文数据导入,并将报文数据全部加载到报文数据集PacketSet中,然后转入步骤S2;
步骤S2.用户根据先验知识或者对之前分析报文数据集PacketSet得到的结果自定义工控协议的格式以及各个字段的语义,随后再设置相似度分值,然后转入步骤S3;
步骤S3.将报文数据集PacketSet中的报文数据与用户自定义的协议格式逐个进行匹配,若匹配成功,则将该报文数据从报文数据集PacketSet中删除,直至所有报文数据都匹配完成,然后转入步骤S4;
步骤S4.采用Needleman-Wunsch序列比对算法对报文数据集PacketSet中的报文数据进行逆向分析,得到新的协议分析结果,之后用户判断是否结束此次协议逆向分析,若需要继续进行迭代分析,则将原来pcap文件中的所有报文数据重新加载到报文数据集PacketSet中,然后再转步骤S2,否则结束分析。
2.根据权利要求1所述的基于迭代优化的工控协议格式分析方法,其特征在于:步骤S2中的相似度分值不同于之前分析时所设置的相似度分值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477261.5A CN110213130A (zh) | 2019-06-03 | 2019-06-03 | 一种基于迭代优化的工控协议格式分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477261.5A CN110213130A (zh) | 2019-06-03 | 2019-06-03 | 一种基于迭代优化的工控协议格式分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110213130A true CN110213130A (zh) | 2019-09-06 |
Family
ID=67790372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910477261.5A Pending CN110213130A (zh) | 2019-06-03 | 2019-06-03 | 一种基于迭代优化的工控协议格式分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213130A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585832A (zh) * | 2020-04-01 | 2020-08-25 | 浙江树人学院(浙江树人大学) | 一种基于语义预挖掘的工控协议逆向分析方法 |
CN111585959A (zh) * | 2020-04-01 | 2020-08-25 | 浙江树人学院(浙江树人大学) | 一种基于自适应阈值的工控协议格式逆向方法 |
CN111723579A (zh) * | 2020-06-17 | 2020-09-29 | 国家计算机网络与信息安全管理中心 | 一种工控协议字段与语义逆向推断方法 |
CN111723181A (zh) * | 2020-06-17 | 2020-09-29 | 国家计算机网络与信息安全管理中心 | 一种基于主动学习的工控协议逆向分析方法 |
CN112039196A (zh) * | 2020-04-22 | 2020-12-04 | 广东电网有限责任公司 | 一种基于协议逆向工程的电力监控系统私有协议解析方法 |
CN115065623A (zh) * | 2022-08-15 | 2022-09-16 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种主被动相结合的私有工控协议逆向分析方法 |
CN115297189A (zh) * | 2022-07-29 | 2022-11-04 | 浙江树人学院 | 一种人机协作的快速工控协议逆向分析方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184637A (zh) * | 2014-08-29 | 2014-12-03 | 广州日滨科技发展有限公司 | 综采工作面数据传输系统及其数据传输方法 |
CN104767744A (zh) * | 2015-03-25 | 2015-07-08 | 中国人民解放军理工大学 | 基于协议知识的协议状态机主动推断方法 |
CN108600195A (zh) * | 2018-04-04 | 2018-09-28 | 国家计算机网络与信息安全管理中心 | 一种基于增量学习的快速工控协议格式逆向推断方法 |
-
2019
- 2019-06-03 CN CN201910477261.5A patent/CN110213130A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184637A (zh) * | 2014-08-29 | 2014-12-03 | 广州日滨科技发展有限公司 | 综采工作面数据传输系统及其数据传输方法 |
CN104767744A (zh) * | 2015-03-25 | 2015-07-08 | 中国人民解放军理工大学 | 基于协议知识的协议状态机主动推断方法 |
CN108600195A (zh) * | 2018-04-04 | 2018-09-28 | 国家计算机网络与信息安全管理中心 | 一种基于增量学习的快速工控协议格式逆向推断方法 |
Non-Patent Citations (2)
Title |
---|
田益凡等: "第5讲 基于网络流量的协议格式推断技术研究进展", 《军事通信技术》 * |
程必成等: "非标工业控制协议格式逆向方法研究", 《电子技术应用》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585832A (zh) * | 2020-04-01 | 2020-08-25 | 浙江树人学院(浙江树人大学) | 一种基于语义预挖掘的工控协议逆向分析方法 |
CN111585959A (zh) * | 2020-04-01 | 2020-08-25 | 浙江树人学院(浙江树人大学) | 一种基于自适应阈值的工控协议格式逆向方法 |
CN112039196A (zh) * | 2020-04-22 | 2020-12-04 | 广东电网有限责任公司 | 一种基于协议逆向工程的电力监控系统私有协议解析方法 |
CN111723579A (zh) * | 2020-06-17 | 2020-09-29 | 国家计算机网络与信息安全管理中心 | 一种工控协议字段与语义逆向推断方法 |
CN111723181A (zh) * | 2020-06-17 | 2020-09-29 | 国家计算机网络与信息安全管理中心 | 一种基于主动学习的工控协议逆向分析方法 |
CN115297189A (zh) * | 2022-07-29 | 2022-11-04 | 浙江树人学院 | 一种人机协作的快速工控协议逆向分析方法及系统 |
CN115297189B (zh) * | 2022-07-29 | 2024-04-12 | 浙江树人学院 | 一种人机协作的快速工控协议逆向分析方法及系统 |
CN115065623A (zh) * | 2022-08-15 | 2022-09-16 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种主被动相结合的私有工控协议逆向分析方法 |
CN115065623B (zh) * | 2022-08-15 | 2022-11-01 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种主被动相结合的私有工控协议逆向分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213130A (zh) | 一种基于迭代优化的工控协议格式分析方法 | |
CN108600195A (zh) | 一种基于增量学习的快速工控协议格式逆向推断方法 | |
US8181163B2 (en) | Program synthesis and debugging using machine learning techniques | |
CN105072130B (zh) | 一种asn.1解码器代码自动生成方法 | |
CN112039196A (zh) | 一种基于协议逆向工程的电力监控系统私有协议解析方法 | |
CN109522005A (zh) | 跨平台图形化程序设计方法 | |
Huang et al. | Combinatorial Benders decomposition for mixed-model two-sided assembly line balancing problem | |
CN111723181A (zh) | 一种基于主动学习的工控协议逆向分析方法 | |
CN111314279A (zh) | 一种基于网络流量的未知协议逆向系统 | |
CN106855844B (zh) | 一种性能测试方法和系统 | |
CN107547441B (zh) | Can报文滤波解析方法、系统及电子控制单元 | |
CN102681861B (zh) | 安装软件的方法和装置 | |
Naumoski | A discrete-event simulator for systems engineering. | |
CN101551748A (zh) | 一种优化的编译方法 | |
CN110543418A (zh) | 一种数据库性能测试方法、系统及存储介质 | |
CN109326330B (zh) | 生物信息分析工具的制作方法、装置及可存储介质 | |
CN115904705B (zh) | 一种多处理器限制性抢占最优调度方法 | |
CN108762752B (zh) | 一种结合动态和静态代码分析技术的安卓应用程序功能类图生成方法和装置 | |
CN103488715B (zh) | 一种基于全局设置的预解析管理方法及系统 | |
CN111585959B (zh) | 一种基于自适应阈值的工控协议格式逆向方法 | |
CN110989995A (zh) | 基于开源深度学习框架的人工智能应用的处理方法及系统 | |
CN109670130A (zh) | 一种前端页面长任务多页面刷新方法 | |
CN109711638A (zh) | 一种基于时变有向图的工业机械臂搬运路径规划方法 | |
CN111008084B (zh) | 一种多输入输出的消息格式转换方法及装置 | |
WO2022104596A1 (zh) | 分子动力学力场参数拟合工作流控制系统及其控制方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190906 |
|
RJ01 | Rejection of invention patent application after publication |