CN111585959A - 一种基于自适应阈值的工控协议格式逆向方法 - Google Patents
一种基于自适应阈值的工控协议格式逆向方法 Download PDFInfo
- Publication number
- CN111585959A CN111585959A CN202010250751.4A CN202010250751A CN111585959A CN 111585959 A CN111585959 A CN 111585959A CN 202010250751 A CN202010250751 A CN 202010250751A CN 111585959 A CN111585959 A CN 111585959A
- Authority
- CN
- China
- Prior art keywords
- analysis
- protocol
- result
- industrial control
- analysis result
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种基于自适应阈值的工控协议格式逆向方法,在不需要用户预先输入协议逆向分析所需要的阈值参数前提下,实现对工控数据样本的协议格式逆向。该方法的基本思想是:在对目标工控数据样本进行协议格式分析时,首先启动若干个进程,每个进程分别设置不同的阈值,采用Needleman‑Wunsch序列比对算法对数据样本进行分析;根据各个进程的分析结果对其进行比对,如果某个进程划分出的字段含有的语义数量最多,则优先选择该结果作为最终的分析结果,如果存在语义数量相同的情况,则优先选择划分出字段数量最多的结果作为最终分析结果。本发明具有自动化处理、无需人工干预等优点。
Description
技术领域
本发明涉及一种对工控协议进行自动化逆向分析的方法,具体地说是一种基于自适应阈值来逆向推断工控协议格式的方法,属于信息安全技术领域。
背景技术
工业控制系统是由计算机设备与工业过程控制部件组成的自动控制系统,目前已经在电力、水利、石化、交通等行业广泛应用,为了有效提高工业生产的效率,工业控制系统变得越来越开放,可以通过互联网进行远程操作。而随着工业互联网的不断发展,工业控制系统的重要性也越来越高,需要对其进行安全检测,特别是其中潜藏的漏洞有可能会被恶意的网络攻击者利用从而对关键工业基础设施进行破坏。
目前绝大部分工业控制系统都已经可能通过互联网来进行控制,而这些控制命令往往都需要利用工控协议来完成,工控协议规定了控制设备与工控设备进行通信时所遵循的语法、语义和交互次序,然而由于协议设计的缺陷或者工控设备在进行代码实现时的不周密都有可能导致协议漏洞而对工控系统产生安全威胁,在这种情况下,对工控协议进行逆向分析和模糊测试是一种较为有效的方法。
当前工控协议逆向主要采用基于网络流量的方法来实现,该方法的主要是对控制设备和工控设备之间通信的数据报文进行分析,从而推断出工控协议的报文格式和语法语义。经典的分析方法是采用Needleman-Wunsch等序列比对算法计算报文字节序列之间的相对距离,然后将具备较高相似性的报文序列聚类到一起,再根据相同类别中报文内容的变化特征进行字段的切分。这种方法相对来说较为简单,也具有较高的通用性,但是在采用序列比对算法计算报文之间相对距离的时候,需要用户提前输入一个阈值,只有相似度超过该阈值的报文才会被划分到一个类别当中。然而对于不同的工控协议来说,需要设置的阈值也各不相同,通常来说,字段较多且其中可变字段较长的协议在采用序列比对时应当设置相对较低的阈值,而字段较少且可变字段较短的协议则应当设置相对较高的阈值,但是面对未知的工控协议,用户难以准确判断出最优的阈值,这也给协议逆向分析带来了较大的挑战。
为此,本发明通过自适应阈值来降低用户分析时面临的阈值选择问题,提高分析结果的准确性,对于协议逆向具有较为重要的作用。
发明内容
发明目的:针对工控协议逆向分析过程中采用序列比对算法时难以准确设置最优的阈值问题,提出一种基于自适应阈值的工控协议格式逆向方法,从而实现最佳阈值的自动筛选,从而提高协议逆向分析结果的准确性。
技术方案:一种基于自适应阈值的工控协议格式逆向方法,着重描述了在对未知工控协议进行协议逆向分析时所采用的方法,在不需要用户预先输入协议逆向分析所需要的阈值参数前提下,实现对工控数据样本的协议格式逆向;在对目标工控数据样本进行协议格式分析时,首先启动若干个进程,每个进程分别设置不同的阈值,采用Needleman-Wunsch序列比对算法对数据样本进行分析;根据各个进程的分析结果对其进行比对,如果某个进程划分出的字段含有的语义数量最多,则优先选择该结果作为最终的分析结果,如果存在语义数量相同的情况,则优先选择划分出字段数量最多的结果作为最终分析结果。具体包括以下步骤:
步骤1,读取要进行协议逆向分析的样本数据集中的报文,并将报文保存到报文集合Dataset中,然后转入步骤2;
步骤2,通过协议逆向分析程序开启若干个线程,均采用Needleman-Wunsch序列比对算法对Dataset中的报文进行协议逆向分析,并对若干个线程设置不同的相似度阈值,等待分析结果,然后转入步骤3;
步骤3,对得到的分析结果进行对比,如果某个线程得到的报文格式中识别出的有语义的字段最多,则选择该结果作为最终的分析结果,并终止程序的运行,如果有2个或2个以上的线程识别出的有语义的字段数量相同,则转入步骤4;
步骤4,对识别出有语义字段数量相同的分析结果进行对比,如果某个线程得到的报文格式中字段的数量最多,则选择该结果作为最终的分析结果,并终止程序的运行,如果有2个或2个以上的线程划分出的字段数量相同,则转入步骤5;
步骤5,选择阈值最小的线程分析结果作为最终的分析结果,并结束程序的运行。
所述步骤2中,通过协议逆向分析程序开启5个线程,均采用Needleman-Wunsch序列比对算法对Dataset中的报文进行协议逆向分析,分析内容包括协议的报文格式和字段语义,这5个线程的相似度阈值分别设置为30、40、50、60、70,等待分析结果。
本发明相对现有技术具有以下优点:
(1)能自动实现分析过程中阈值的设定:本发明提出的基于自适应阈值的工控协议格式逆向方法能够通过程序自动设置进行序列比对分析时所需的阈值参数,从而降低了用户使用协议逆向分析软件时的难度。
(2)能提高分析结果的准确度:基于自适应阈值的工控协议格式逆向方法在对协议进行逆向分析时采用了目前国际上较为认可和流行的Needleman-Wunsch序列比对算法,而且通过对不同阈值得到结果的进行比对和筛选,保证了分析结果的准确性。
附图说明
图1为本发明实施例对样本数据集进行工控协议逆向分析和处理的流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
首先给出本发明所需要的运行环境。本发明所需的运行环境为一台Intel-Windows架构的PC机以及格式为pcap类型的样本数据集,该样本数据集可采用wireshark等工具通过抓包的方式获得,且样本数据集中的报文都与待分析的工控协议有关。
运行本发明提供的基于自适应阈值的工控协议格式逆向方法的PC机系统配置如下:在Intel-Windows架构的PC机上安装并运行基于本发明基于自适应阈值的工控协议格式逆向方法实现的ATPR软件,该PC机硬件的主频2.5GHz及以上的Core八核CPU的PC机,内存≥4GB,硬盘500GB,运行Windows 7操作系统。
图1给出了本发明基于自适应阈值的工控协议格式逆向方法的处理流程,该流程开始于步骤S101,程序读取pcap文件并将所有报文都添加到数据集Dataset中,然后转S102。
在步骤S102中,开启5个线程,均采用Needleman-Wunsch序列比对算法对Dataset中的报文进行协议逆向分析,这5个线程的相似度阈值分别设置为30、40、50、60、70,然后转S103。
在步骤S103中,对5个线程分析得到的协议格式进行语义分析,并统计每个分析结果中识别出的有语义的字段的数目,然后转S104。
在步骤S104中,判断5个线程得到的分析结果中是否只有一个识别出的语义字段最多,如果是转S105,否则转S106。
在步骤S105中,选择识别出语义字段最多的分析结果作为最终结果,并结束程序的运行。
在步骤S106中,判断语义字段数目最多的分析结果中是否只有一个划分出的字段最多,如果是转S107,否则转S108。
在步骤S107中,选择划分出字段最多的分析结果作为最终结果,并结束程序的运行。
在步骤S108中,选择语义字段数目和总字段数均相同的分析结果中阈值最小的作为最终结果,并结束程序的运行。
实施例
本实施例给出了在某台PC机运行基于本发明基于自适应阈值的工控协议格式逆向方法的软件对HTTP协议进行逆向分析,以掌握本发明的运行状况,为设计快速的工控协议逆向分析方法提供科学依据。
选择报文数目超过了1000个的HTTP协议pcap文件,在PC上运行基于本发明的ATPR软件,通过程序运行就能发现系统可以不需要用户进行阈值的输入。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
Claims (4)
1.一种基于自适应阈值的工控协议格式逆向方法,其特征在于,在不需要用户预先输入协议逆向分析所需要的阈值参数前提下,实现对工控数据样本的协议格式逆向;在对目标工控数据样本进行协议格式分析时,首先启动若干个进程,每个进程分别设置不同的阈值,采用Needleman-Wunsch序列比对算法对数据样本进行分析;根据各个进程的分析结果对其进行比对,如果某个进程划分出的字段含有的语义数量最多,则优先选择该结果作为最终的分析结果,如果存在语义数量相同的情况,则优先选择划分出字段数量最多的结果作为最终分析结果。
2.根据权利要求1所述的基于自适应阈值的工控协议格式逆向方法,其特征在于,在对目标工控数据样本进行协议格式分析时,首先启动若干个进程,每个进程分别设置不同的阈值,采用Needleman-Wunsch序列比对算法对数据样本进行分析,具体包括以下步骤:
步骤1,读取要进行协议逆向分析的样本数据集中的报文,并将报文保存到报文集合Dataset中,然后转入步骤2;
步骤2,通过协议逆向分析程序开启若干个线程,均采用Needleman-Wunsch序列比对算法对Dataset中的报文进行协议逆向分析,并对若干个线程设置不同的相似度阈值,等待分析结果。
3.根据权利要求1所述的基于自适应阈值的工控协议格式逆向方法,其特征在于,根据各个进程的分析结果对其进行比对,如果某个进程划分出的字段含有的语义数量最多,则优先选择该结果作为最终的分析结果,如果存在语义数量相同的情况,则优先选择划分出字段数量最多的结果作为最终分析结果;具体操作为:对得到的分析结果进行对比,如果某个线程得到的报文格式中识别出的有语义的字段最多,则选择该结果作为最终的分析结果,并终止程序的运行,如果有2个或2个以上的线程识别出的有语义的字段数量相同,则对识别出有语义字段数量相同的分析结果进行对比,如果某个线程得到的报文格式中字段的数量最多,则选择该结果作为最终的分析结果,并终止程序的运行,如果有2个或2个以上的线程划分出的字段数量相同,则选择阈值最小的线程分析结果作为最终的分析结果,并结束程序的运行。
4.根据权利要求2所述的基于自适应阈值的工控协议格式逆向方法,其特征在于,所述步骤2中,通过协议逆向分析程序开启5个线程,均采用Needleman-Wunsch序列比对算法对Dataset中的报文进行协议逆向分析,分析内容包括协议的报文格式和字段语义,这5个线程的相似度阈值分别设置为30、40、50、60、70,等待分析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250751.4A CN111585959B (zh) | 2020-04-01 | 2020-04-01 | 一种基于自适应阈值的工控协议格式逆向方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250751.4A CN111585959B (zh) | 2020-04-01 | 2020-04-01 | 一种基于自适应阈值的工控协议格式逆向方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585959A true CN111585959A (zh) | 2020-08-25 |
CN111585959B CN111585959B (zh) | 2022-04-29 |
Family
ID=72111615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010250751.4A Active CN111585959B (zh) | 2020-04-01 | 2020-04-01 | 一种基于自适应阈值的工控协议格式逆向方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111585959B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150205963A1 (en) * | 2013-04-15 | 2015-07-23 | Tencent Technology (Shenzhen) Company Limited | Method and device for extracting message format |
CN106021361A (zh) * | 2016-05-10 | 2016-10-12 | 中国空间技术研究院 | 一种基于序列比对的自适应应用层网络协议报文聚类方法 |
CN107241226A (zh) * | 2017-06-29 | 2017-10-10 | 北京工业大学 | 基于工控私有协议的模糊测试方法 |
CN110213130A (zh) * | 2019-06-03 | 2019-09-06 | 南京莱克贝尔信息技术有限公司 | 一种基于迭代优化的工控协议格式分析方法 |
-
2020
- 2020-04-01 CN CN202010250751.4A patent/CN111585959B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150205963A1 (en) * | 2013-04-15 | 2015-07-23 | Tencent Technology (Shenzhen) Company Limited | Method and device for extracting message format |
CN106021361A (zh) * | 2016-05-10 | 2016-10-12 | 中国空间技术研究院 | 一种基于序列比对的自适应应用层网络协议报文聚类方法 |
CN107241226A (zh) * | 2017-06-29 | 2017-10-10 | 北京工业大学 | 基于工控私有协议的模糊测试方法 |
CN110213130A (zh) * | 2019-06-03 | 2019-09-06 | 南京莱克贝尔信息技术有限公司 | 一种基于迭代优化的工控协议格式分析方法 |
Non-Patent Citations (2)
Title |
---|
程必成等: "非标工业控制协议格式逆向方法研究", 《计算机技术与应用》 * |
高巍伟: "未知工控协议语义逆向研究方法", 《信息通信》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111585959B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600195B (zh) | 一种基于增量学习的快速工控协议格式逆向推断方法 | |
CN112532642B (zh) | 一种基于改进Suricata引擎的工控系统网络入侵检测方法 | |
WO2022225727A1 (en) | System and method for network traffic classification using snippets and on the fly built classifiers | |
CN111585832A (zh) | 一种基于语义预挖掘的工控协议逆向分析方法 | |
Kim et al. | Botnet detection using recurrent variational autoencoder | |
Cheng et al. | Machine learning based malicious payload identification in software-defined networking | |
CN111314279A (zh) | 一种基于网络流量的未知协议逆向系统 | |
CN111585959B (zh) | 一种基于自适应阈值的工控协议格式逆向方法 | |
Sinha et al. | Wind: Workload-aware intrusion detection | |
Das et al. | An efficient feature selection approach for intrusion detection system using decision tree | |
Le et al. | A proactive method of the webshell detection and prevention based on deep traffic analysis | |
CN107395599A (zh) | 网络攻击的检测方法及装置、终端设备和计算机存储介质 | |
CN114866310A (zh) | 一种恶意加密流量检测方法、终端设备及存储介质 | |
CN107426211B (zh) | 网络攻击的检测方法及装置、终端设备和计算机存储介质 | |
Miao et al. | Deep learning in fuzzing: A literature survey | |
Wang et al. | Bitstream protocol classification mechanism based on feature extraction | |
Xu et al. | FIoTFuzzer: Response-based black-box fuzzing for IoT devices | |
Liu et al. | A prefiltering approach to regular expression matching for network security systems | |
Li et al. | FusionTC: Encrypted App Traffic Classification Using Decision‐Level Multimodal Fusion Learning of Flow Sequence | |
CN113904863B (zh) | 一种网络入侵检测方法、装置、设备及可读存储介质 | |
CN116170186A (zh) | 基于网络流量分析的攻击代码在线检测方法和装置 | |
CN112968891B (zh) | 网络攻击防御方法、装置及计算机可读存储介质 | |
Rusyaidi et al. | Machine learning method in detecting a distributed of service (DDoS): A systematic literature review | |
CN107528826A (zh) | 网络攻击的检测方法及装置、终端设备和计算机存储介质 | |
Guruprasad et al. | Development of an evolutionary framework for autonomous rule creation for intrusion detection |
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 |