CN116991743A - 一种基于协议逆向的工控设备黑盒模糊测试方法 - Google Patents
一种基于协议逆向的工控设备黑盒模糊测试方法 Download PDFInfo
- Publication number
- CN116991743A CN116991743A CN202311120692.9A CN202311120692A CN116991743A CN 116991743 A CN116991743 A CN 116991743A CN 202311120692 A CN202311120692 A CN 202311120692A CN 116991743 A CN116991743 A CN 116991743A
- Authority
- CN
- China
- Prior art keywords
- field
- industrial control
- protocol
- value
- black box
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 10
- 230000002441 reversible effect Effects 0.000 title claims description 22
- 238000012360 testing method Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 18
- 238000000605 extraction Methods 0.000 claims abstract description 18
- 238000013135 deep learning Methods 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims description 30
- 230000035772 mutation Effects 0.000 claims description 11
- 230000002068 genetic effect Effects 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000002864 sequence alignment Methods 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 240000005809 Prunus persica Species 0.000 abstract 1
- 235000006040 Prunus persica var persica Nutrition 0.000 abstract 1
- 238000012544 monitoring process Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect 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
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种基于协议逆向的工控设备黑盒模糊测试方法。该方法通过采集工业控制系统现场的网络通信数据,经字段划分和预编码等处理过程后,输入到基于深度学习的语义提取模型,利用该模型实现对未知工控协议的语义提取,最终基于字段划分和语义提取的结果,指导模糊测试中测试用例的生成;并充分结合目标设备的反馈报文信息,选取与上次反馈报文差距最大的测试用例作为新一轮的输入。相比于传统的黑盒模糊测试方法Peach,本发明中的方法提高了黑盒模糊测试中有效测试用例的占比和漏洞触发效率。
Description
技术领域
本发明属于工业控制系统安全领域,具体涉及一种基于协议逆向的工控设备黑盒模糊测试方法。
背景技术
工业控制系统(Industrial Control Systems)是通过各种自动化设备对整个工业生产过程进行实时的数据采集和监控并进行及时调整的过程控制系统。它包括数据监控与采集系统、分布式控制系统、可编程逻辑控制器等系统。工业控制系统被大规模的应用在化工、电力等关键行业和领域,是整个国家和社会赖以生存的基础工业的支柱。随着互联网技术近年来的飞速发展以及硬件技术的关键性突破,万物互联的趋势已经越来越不可阻挡,其所带来的生产力的提升和巨大的经济效益使得各行各业都掀起了信息化,网络化的风潮,工控领域也不例外。然而越来越多的传统工业控制设备连入工业互联网的同时,很多安全性问题也随之而来。由于在设计之初绝大多数工业控制设备仅仅考虑了内网通信,缺乏有效严格的身份验证,且使用的操作系统缺乏及时的更新与漏洞修复。这些工控设备一旦被攻击,轻则导致数据的泄露与工业生产的停滞,重则将进一步的威胁到整个工业系统及工作人员的安全。如何快速有效地挖掘工控系统漏洞正逐渐成为一个重要课题。
协议模糊测试是当下进行漏洞挖掘的一种主流方法,它通过生成大量的随机、异常或边界数据,模拟各种可能的攻击情况,向目标协议的实现发送数据并监控响应情况。如果协议在处理这些数据时出现异常或崩溃,测试工具就会保存测试用例并分析异常的位置和原因来确定设备中可能存在的漏洞。
传统的协议模糊测试主要关注公开的协议,需要一定的先验知识。然而在工业控制系统中,大多数设备之间的通讯采用的都是私有协议,并且不同公司的设备系统往往采用自己设计的协议,很多公司都提出了自己的协议标准,如西门子的S7、欧姆龙的FINS、三菱的MELSEC等。这种情况下,传统的协议模糊测试技术往往费时费力且效果不佳,模糊测试工具生成的许多测试用例可能无法被目标设备识别。因此,针对未知协议的黑盒模糊测试方法是当下研究工控设备的安全性所需要的。
协议逆向的主要目标是获取未知协议的协议规范,其过程包括协议字段划分、字段语义提取等。目前常用的协议逆向手段是基于网络轨迹的协议逆向。
发明内容
本发明的目的在于针对目前工业控制系统安全的欠缺和不足,提供一种基于协议逆向的工控设备黑盒模糊测试方法。
本发明的目的是通过以下技术方案来实现的:一种基于协议逆向的工控设备黑盒模糊测试方法,该方法包括如下步骤:
(1)采集工业控制系统现场的网络通信流量;
(2)采用多序列对比算法和字段划分算法以字节为单位进行序列对比,实现协议的动态字段和静态字段划分;
(3)对字段划分后的数据集进行预处理,将按照时间先后顺序排列的数据报文转化成按字段划分格式排列;
(4)采用基于深度学习的语义提取方法,在已划分出字段边界的基础上,对预处理后的数据集进行分析,基于字段的数值变化规律,得到每个字段所属的语义类型,所述语义类型包括无序有限值、无序无限值、有序规律变化值、固定值、有序标志值;
(5)基于字段划分和语义提取的结果,即协议逆向的结果进行模糊测试,选取特定类型的字段进行突变指导测试用例的生成,结合遗传算法和结果反馈优化模糊测试。
进一步地,步骤(1)中,通过带镜像口的交换机设备利用抓包工具采集工业控制系统现场的网络通信流量,以原始二进制pcap文件格式存储;去除内网主机自动查询默认网关的行为。
进一步地,步骤(2)具体为:将采集到的报文数据生成若干n-gram语料库,通过LDA统计学习的方法进行聚类,将格式相近的数据报文聚类成簇,然后通过Smith-Waterman序列对齐算法在每一个簇内进行对齐,得到字段划分的结果。
进一步地,步骤(3)具体为:对于由Nm条消息,每条消息包含Nd个字段组成的通信对话,生成一个大小为Nm×Nd的矩阵来表示整个会话,将矩阵进行转置,得到Nd条按字段划分格式排列的数据序列,这样的每条数据序列都是原始通信流量中特定字段偏移位置上所有字段值的排列;根据数据序列中字段值按从小到大从0开始重新编码,再采用最大最小归一化公式将原始数据序列转换成0~1之间的数。
进一步地,步骤(4)中,数据经过预处理后,单个字段的语义提取任务转化成提取一个数列的变化规律;建立基于深度学习的语义提取模型,模型的基础结构是长短周期记忆神经网络,在此基础上加入Dropout层以抑制过拟合的出现,加入Softmax层解决分类任务。
进一步地,步骤(4)中,五种语义类型的具体特征如下:
无序有限值字段,在整个协议中没有明显的数值变化规律,在不同的消息会话中,这类语义的字段会以不同的数值出现,但在整体分析看来这类语义的字段的取值往往局限于某一些值之间,即其取值虽然没有规律但整体控制在某几个或某一段范围内;
无序无限值字段,在整个协议中没有明显的数值变化规律,但与无序有限值不同,其取值范围不受限制,这类语义的字段一般在不同的消息中具有完全不同的取值范围,因此很难在消息序列中大量重复的出现;
有序规律变化值字段,取值在协议中呈现出按照某种规律变化的趋势,这类字段往往在数据中反复出现,并且每次出现都按照某一规律进行变化,在所有的协议中都较为普遍出现;
固定值字段,一般具有较为固定的格式和取值,其在整个消息序列中一般不会改变;
有序标志值字段,是指在同一会话取值不发生改变但在不同会话之间表现出某些变化规律的字段。
进一步地,步骤(5)中,优先选择无序有限值字段、无序无限值字段和有序规律变化值字段进行突变,对这三类字段的变异赋予更高的优先级。
进一步地,步骤(5)中,结合遗传算法和结果反馈优化模糊测试,具体为:
在首轮,将模糊测试生成的测试用例发送给被测工控设备,并接收工控设备反馈的报文;
在之后各轮,引入结果反馈,使用Smith-Waterman算法计算发送的测试用例和上一轮反馈报文之间的相似度,对相似度低的测试用例赋予更高的权重,以进一步降低测试用例的冗余度,然后使用遗传算法对这些测试用例进行选择和遗传后作为新一轮的输入,发送至被测工控设备。
本发明还提供一种基于协议逆向的工控设备黑盒模糊测试装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述的基于协议逆向的工控设备黑盒模糊测试方法。
本发明还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述的基于协议逆向的工控设备黑盒模糊测试方法。
本发明的有益效果是:本发明提出的基于协议逆向的工控设备黑盒模糊测试方法,以协议逆向的结果为基础指导测试用例的生成,并根据实时反馈进一步对测试用例进行改进。相比于传统模糊测试的随机突变,本发明方法的有效用例占比大幅提升。其次,本发明方法利用结果反馈加强对工控设备特征的利用,提高了整个方法的漏洞触发效率。本发明方法是一种通用的黑盒模糊测试方法,不受协议种类的影响,无需太多的先验知识,实用且高效。
附图说明
图1是本发明方法中协议逆向的流程图。
图2是本发明方法中数据集预处理示例。
图3是本发明方法中模糊测试系统架构图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本实施例提供了一种基于协议逆向的工控设备黑盒模糊测试方法,包括如下步骤:
(1)通过带镜像口的交换机设备利用抓包工具采集工业控制系统现场的网络通信流量,以原始二进制pcap文件格式存储。对于采集到的数据,去除内网主机自动查询默认网关的行为。抓包工具包括Wireshark、Tcpdump等。
(2)采用多序列对比算法和字段划分算法以字节为单位进行序列对比,实现协议的动态字段和静态字段划分。具体地,如图1所示,将采集到的报文数据生成若干n-gram语料库,通过LDA统计学习的方法进行聚类,将格式相近的数据报文聚类成簇,然后通过Smith-Waterman序列对齐算法在每一个簇内进行对齐,得到字段划分的结果。
(3)对字段划分后的数据集进行预处理,将按照时间先后顺序排列的数据报文转化成按字段划分格式排列。预处理方法包括数据集转置、数据预编码等。具体地,如图2所示,对于由Nm条消息,每条消息包含Nd个字段组成的通信对话,可以生成一个大小为Nm×Nd的矩阵来表示整个会话。预处理方式为,将矩阵进行转置,得到Nd条按字段划分格式排列的数据序列。这样的每条数据序列都是原始通信流量中特定字段偏移位置上所有字段值的排列。然后根据数据序列中字段值按从小到大从0开始重新编码,再采用最大最小归一化公式将原始数据序列转换成0~1之间的数。
(4)采用基于深度学习的语义提取方法,在已划分出字段边界的基础上,对预处理后的数据集进行分析,着眼于字段的数值变化规律,进而得到每个字段所属的语义类型。数据经过预处理后,单个字段的语义提取任务就可以转化成提取一个数列的变化规律。
具体地,如图1所示,建立基于深度学习的语义提取模型,模型的基础结构是长短周期记忆神经网络(LSTM),在此基础上加入了Dropout层以抑制过拟合的出现,加入Softmax层解决分类任务。
提取出来的语义类型包括无序有限值、无序无限值、有序规律变化值、固定值、有序标志值。这五种语义类型是根据常见的几种典型的工控协议,如Modbus-TCP、S7Comm、DNP3等协议的格式,分析它们各个字段的变化规律后总结出的五种较为通用的语义类型。五种语义类型的具体特征如下:
1.无序有限值字段在整个协议中没有明显的数值变化规律,在不同的消息会话中,这类语义的字段会以不同的数值出现,但在整体分析看来这类语义的字段的取值往往局限于某一些值之间,即其取值虽然没有规律但整体控制在某几个或某一段范围内。例如Modbus协议的功能码字段、TCP协议的ACK标志位字段等。
2.无序无限值字段也没有明显的数值变化规律,但与无序有限值不同,其取值范围不受限制,这类语义的字段一般在不同的消息中具有完全不同的取值范围,因此很难在消息序列中大量重复的出现。例如长度字段,每条报文携带的数据长度都是随机的,因此其取值具有十分广阔的变化空间。
3.有序规律变化值字段的取值在协议中呈现出按照某种规律变化的趋势,可能是递增也可能是递减,或者特殊的呈现回环式变化。这类字段往往在数据中反复出现,并且每次出现都按照某一规律进行变化,在所有的协议中都较为普遍出现。例如序列号字段、事务处理标志字段等。
4.固定值字段一般具有较为固定的格式和取值,其在整个消息序列中一般不会改变。这类字段一般是协议的标志,或者代表了协议的版本号等信息,所以在整个协议中具有固定的取值和格式。一些无意义的零填充字段也属于这一类型,它们的作用仅仅是为了使消息序列对齐。
5.有序标志值字段是指在同一会话取值不发生改变但在不同会话之间表现出某些变化规律的字段,这类字段通常作为会话标识符,用来区分不同的会话。
(5)基于字段划分和语义提取的结果,即协议逆向的结果进行模糊测试,选取特定类型的字段进行突变指导测试用例的生成;优先选择无序有限值字段、无序无限值字段和有序规律变化值字段进行突变,对这三类字段的变异赋予更高的优先级,可以大幅提升有效测试用例占比。
其次,结合遗传算法和结果反馈更好地进行模糊测试,具体为:
在首轮,将模糊测试生成的测试用例发送给被测工控设备,并接收工控设备反馈的报文;
在之后各轮,引入结果反馈,使用Smith-Waterman算法计算发送的测试用例和上一轮反馈报文之间的相似度,对相似度低的测试用例赋予更高的权重,以进一步降低测试用例的冗余度,然后使用遗传算法对这些测试用例进行选择和遗传后作为新一轮的输入,发送至被测工控设备。
图1是本发明方法中协议逆向的流程图。对于从网络中收集到的通信流量,采用n-gram生成算法生成若干语料库,将格式相近的报文聚类成簇,在簇内采用多序列对齐算法得到字段划分结果。字段划分后的数据经过数据转置和预编码等处理后输入到基于深度学习的语义提取模型,提取出各字段的语义。该模型的基础结构是长短周期记忆神经网络(LSTM)算法,在此基础上加入了dropout层以抑制过拟合的出现,加入softmax层解决分类任务。
图2是本发明方法中数据集预处理示例。对于由Nm条消息,每条消息包含Nd个字段组成的通信对话,生成一个大小为Nm×Nd的矩阵来表示整个会话。将矩阵进行转置,得到Nd条按字段划分格式排列的数据序列。
图3是模糊测试的系统架构,整个架构包括格式解析模块、变异生成模块、代理监控模块、状态控制模块和交互发布模块;格式解析模块基于字段划分和语义提取的结果,指导模糊测试中测试用例的生成;变异生成模块中,对于代理监控模块收集到的待测工控设备的反馈,使用Smith-Waterman算法计算测试用例与上一轮反馈报文之间的相似度,对相似度低的测试用例赋予更高的权重,以进一步降低测试用例的冗余度,然后使用遗传算法对这些测试用例进行选择和遗传;状态控制模块将变异生成模块和格式解析模块二者结合起来,通过交互发布模块将测试用例发送至待测工控设备。
本发明实施例还提供一种基于协议逆向的工控设备黑盒模糊测试装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述的基于协议逆向的工控设备黑盒模糊测试方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述的基于协议逆向的工控设备黑盒模糊测试方法。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,包括如下步骤:
(1)采集工业控制系统现场的网络通信流量;
(2)采用多序列对比算法和字段划分算法以字节为单位进行序列对比,实现协议的动态字段和静态字段划分;
(3)对字段划分后的数据集进行预处理,将按照时间先后顺序排列的数据报文转化成按字段划分格式排列;
(4)采用基于深度学习的语义提取方法,在已划分出字段边界的基础上,对预处理后的数据集进行分析,基于字段的数值变化规律,得到每个字段所属的语义类型,所述语义类型包括无序有限值、无序无限值、有序规律变化值、固定值、有序标志值;
(5)基于字段划分和语义提取的结果,即协议逆向的结果进行模糊测试,选取特定类型的字段进行突变指导测试用例的生成,结合遗传算法和结果反馈优化模糊测试。
2.根据权利要求1所述的一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,步骤(1)中,通过带镜像口的交换机设备利用抓包工具采集工业控制系统现场的网络通信流量,以原始二进制pcap文件格式存储;去除内网主机自动查询默认网关的行为。
3.根据权利要求1所述的一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,步骤(2)具体为:将采集到的报文数据生成若干n-gram语料库,通过LDA统计学习的方法进行聚类,将格式相近的数据报文聚类成簇,然后通过Smith-Waterman序列对齐算法在每一个簇内进行对齐,得到字段划分的结果。
4.根据权利要求1所述的一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,步骤(3)具体为:对于由Nm条消息,每条消息包含Nd个字段组成的通信对话,生成一个大小为Nm×Nd的矩阵来表示整个会话,将矩阵进行转置,得到Nd条按字段划分格式排列的数据序列,这样的每条数据序列都是原始通信流量中特定字段偏移位置上所有字段值的排列;根据数据序列中字段值按从小到大从0开始重新编码,再采用最大最小归一化公式将原始数据序列转换成0~1之间的数。
5.根据权利要求1所述的一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,步骤(4)中,数据经过预处理后,单个字段的语义提取任务转化成提取一个数列的变化规律;建立基于深度学习的语义提取模型,模型的基础结构是长短周期记忆神经网络,在此基础上加入Dropout层以抑制过拟合的出现,加入Softmax层解决分类任务。
6.根据权利要求1所述的一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,步骤(4)中,五种语义类型的具体特征如下:
无序有限值字段,在整个协议中没有明显的数值变化规律,在不同的消息会话中,这类语义的字段会以不同的数值出现,但在整体分析看来这类语义的字段的取值往往局限于某一些值之间,即其取值虽然没有规律但整体控制在某几个或某一段范围内;
无序无限值字段,在整个协议中没有明显的数值变化规律,但与无序有限值不同,其取值范围不受限制,这类语义的字段一般在不同的消息中具有完全不同的取值范围,因此很难在消息序列中大量重复的出现;
有序规律变化值字段,取值在协议中呈现出按照某种规律变化的趋势,这类字段往往在数据中反复出现,并且每次出现都按照某一规律进行变化,在所有的协议中都较为普遍出现;
固定值字段,一般具有较为固定的格式和取值,其在整个消息序列中一般不会改变;
有序标志值字段,是指在同一会话取值不发生改变但在不同会话之间表现出某些变化规律的字段。
7.根据权利要求1所述的一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,步骤(5)中,优先选择无序有限值字段、无序无限值字段和有序规律变化值字段进行突变,对这三类字段的变异赋予更高的优先级。
8.根据权利要求1所述的一种基于协议逆向的工控设备黑盒模糊测试方法,其特征在于,步骤(5)中,结合遗传算法和结果反馈优化模糊测试,具体为:
在首轮,将模糊测试生成的测试用例发送给被测工控设备,并接收工控设备反馈的报文;
在之后各轮,引入结果反馈,使用Smith-Waterman算法计算发送的测试用例和上一轮反馈报文之间的相似度,对相似度低的测试用例赋予更高的权重,以进一步降低测试用例的冗余度,然后使用遗传算法对这些测试用例进行选择和遗传后作为新一轮的输入,发送至被测工控设备。
9.一种基于协议逆向的工控设备黑盒模糊测试装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,用于实现如权利要求1-8中任一项所述的基于协议逆向的工控设备黑盒模糊测试方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时,实现如权利要求1-8中任一项所述的基于协议逆向的工控设备黑盒模糊测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311120692.9A CN116991743A (zh) | 2023-09-01 | 2023-09-01 | 一种基于协议逆向的工控设备黑盒模糊测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311120692.9A CN116991743A (zh) | 2023-09-01 | 2023-09-01 | 一种基于协议逆向的工控设备黑盒模糊测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116991743A true CN116991743A (zh) | 2023-11-03 |
Family
ID=88523246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311120692.9A Pending CN116991743A (zh) | 2023-09-01 | 2023-09-01 | 一种基于协议逆向的工控设备黑盒模糊测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991743A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472787A (zh) * | 2023-12-27 | 2024-01-30 | 山东泽鹿安全技术有限公司 | 车机模糊测试的测试用例生成方法、装置、介质和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113852605A (zh) * | 2021-08-29 | 2021-12-28 | 北京工业大学 | 一种基于关系推理的协议格式自动化推断方法及系统 |
CN114281676A (zh) * | 2021-11-27 | 2022-04-05 | 中国人民解放军战略支援部队信息工程大学 | 针对工控私有协议的黑盒模糊测试方法及系统 |
CN114553983A (zh) * | 2022-03-03 | 2022-05-27 | 沈阳化工大学 | 一种基于深度学习高效工业控制协议解析方法 |
CN115622926A (zh) * | 2022-10-18 | 2023-01-17 | 浙江大学 | 一种基于网络流量的工控协议逆向分析方法 |
CN116248337A (zh) * | 2022-12-23 | 2023-06-09 | 中国人民解放军战略支援部队信息工程大学 | 一种基于测试用例自动化生成的协议模糊测试方法及装置 |
-
2023
- 2023-09-01 CN CN202311120692.9A patent/CN116991743A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113852605A (zh) * | 2021-08-29 | 2021-12-28 | 北京工业大学 | 一种基于关系推理的协议格式自动化推断方法及系统 |
CN114281676A (zh) * | 2021-11-27 | 2022-04-05 | 中国人民解放军战略支援部队信息工程大学 | 针对工控私有协议的黑盒模糊测试方法及系统 |
CN114553983A (zh) * | 2022-03-03 | 2022-05-27 | 沈阳化工大学 | 一种基于深度学习高效工业控制协议解析方法 |
CN115622926A (zh) * | 2022-10-18 | 2023-01-17 | 浙江大学 | 一种基于网络流量的工控协议逆向分析方法 |
CN116248337A (zh) * | 2022-12-23 | 2023-06-09 | 中国人民解放军战略支援部队信息工程大学 | 一种基于测试用例自动化生成的协议模糊测试方法及装置 |
Non-Patent Citations (3)
Title |
---|
吴礼发等: "网络协议逆向分析及应用", 31 January 2016, 国防工业出版社, pages: 86 - 88 * |
张蔚瑶;张磊;毛建瓴;许智君;张玉军;: "未知协议的逆向分析与自动化测试", 计算机学报, no. 04, 15 April 2020 (2020-04-15) * |
文宇恒: "基于协议逆向和模糊测试的PLC漏洞挖掘方法研究", 中国优秀硕士学位论文全文数据库, 15 August 2023 (2023-08-15), pages 139 - 31 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472787A (zh) * | 2023-12-27 | 2024-01-30 | 山东泽鹿安全技术有限公司 | 车机模糊测试的测试用例生成方法、装置、介质和设备 |
CN117472787B (zh) * | 2023-12-27 | 2024-03-15 | 山东泽鹿安全技术有限公司 | 车机模糊测试的测试用例生成方法、装置、介质和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113162893B (zh) | 基于注意力机制的工业控制系统网络流量异常检测方法 | |
Hijazi et al. | A Deep Learning Approach for Intrusion Detection System in Industry Network. | |
Lai et al. | Industrial anomaly detection and attack classification method based on convolutional neural network | |
CN111901340B (zh) | 一种面向能源互联网的入侵检测系统及其方法 | |
Shang et al. | Industrial communication intrusion detection algorithm based on improved one-class SVM | |
Wan et al. | Event-Based Anomaly Detection for Non-Public Industrial Communication Protocols in SDN-Based Control Systems. | |
CN116991743A (zh) | 一种基于协议逆向的工控设备黑盒模糊测试方法 | |
CN114553983B (zh) | 一种基于深度学习高效工业控制协议解析方法 | |
CN113452672B (zh) | 基于协议逆向分析的电力物联网终端流量异常分析方法 | |
CN109784668B (zh) | 一种用于电力监控系统异常行为检测的样本特征降维处理方法 | |
CN112468347A (zh) | 一种云平台的安全管理方法、装置、电子设备及存储介质 | |
CN113067798B (zh) | Ics入侵检测方法、装置、电子设备和存储介质 | |
CN109376797B (zh) | 一种基于二进制编码器和多哈希表的网络流量分类方法 | |
CN114330544A (zh) | 一种业务流量异常检测模型建立方法及异常检测方法 | |
CN110868312A (zh) | 一种基于遗传算法优化的工业行为异常检测方法 | |
CN111181930A (zh) | DDoS攻击检测的方法、装置、计算机设备及存储介质 | |
Shim et al. | Clustering method in protocol reverse engineering for industrial protocols | |
CN111211948B (zh) | 基于载荷特征和统计特征的Shodan流量识别方法 | |
Deng et al. | Intrusion detection method based on support vector machine access of modbus TCP protocol | |
Whalen et al. | Hidden markov models for automated protocol learning | |
CN113204647B (zh) | 一种基于联合权重的编码解码框架知识图谱嵌入方法 | |
Zhao et al. | Analysis of private industrial control protocol format based on LSTM-FCN model | |
CN115473734A (zh) | 基于单分类和联邦学习的远程代码执行攻击检测方法 | |
CN114785617A (zh) | 一种5g网络应用层异常检测方法及系统 | |
Wang et al. | Reverse engineering of industrial control protocol by XGBoost with V-gram |
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 |