CN112395209A - 工控协议模糊测试用例生成方法、装置、设备及存储介质 - Google Patents

工控协议模糊测试用例生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112395209A
CN112395209A CN202110078593.3A CN202110078593A CN112395209A CN 112395209 A CN112395209 A CN 112395209A CN 202110078593 A CN202110078593 A CN 202110078593A CN 112395209 A CN112395209 A CN 112395209A
Authority
CN
China
Prior art keywords
industrial control
control protocol
generating
test case
analyzing
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
Application number
CN202110078593.3A
Other languages
English (en)
Inventor
傅涛
夏焌峰
孟小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bozhi Safety Technology Co ltd
Original Assignee
Bozhi Safety Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bozhi Safety Technology Co ltd filed Critical Bozhi Safety Technology Co ltd
Priority to CN202110078593.3A priority Critical patent/CN112395209A/zh
Publication of CN112395209A publication Critical patent/CN112395209A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本发明实施例公开了一种工控协议模糊测试用例生成方法、装置、设备及存储介质,其中,所述工控协议模糊测试用例生成方法,包括:工控协议分析;构建初始变异树;随机探测用例生成;发送探测数据到被测设备;样本数据包获取和分析;变异树模型构建;生成测试用例。解决了现有技术的模糊测试用例生成方法在工控协议应用中存在的代码路径覆盖率低、测试用例冗余度高,测试用例生成过程随机性和盲目性大的问题。

Description

工控协议模糊测试用例生成方法、装置、设备及存储介质
技术领域
本发明涉及工控网络安全领域和模糊测试技术领域,主要指一种工控协议模糊测试用例生成方法、装置、设备及存储介质,尤指一种基于变异树的工控协议模糊测试用例生成方法、装置、设备及存储介质。
背景技术
工业控制系统是对诸如图像、语音信号等大数据量、高速率传输的要求,又催生了当前在商业领域风靡的以太网与控制网络的结合。这股工业控制系统网络化浪潮又将诸如嵌入式技术、多标准工业控制网络互联、无线技术等多种当今流行技术融合进来,从而拓展了工业控制领域的发展空间,带来新的发展机遇。众所周知,工业控制系统由大量的嵌入式以及网络通信设备所构成,但就工控系统内部网络而言,其总线网络内嵌工控网络通信专有协议,而外部连接网络仍为基于TCP/IP协议的传统以太网结构。通常工控协议设计者仅从可用性角度出发,并未考虑其安全需求。随着工控网络和传统TCP/IP协议网络的融合,工控系统面临着巨大的安全挑战。针对工控通信协议进行有效的漏洞挖掘是发现并剔除工控系统脆弱性的必要手段。
模糊测试作为一种有效检测安全漏洞的软件测试方法,被许多大中型软件开发商作为发现软件安全漏洞的必要测试手段。特别是基于代码路径覆盖的灰盒模糊测试在实践应用中获得了大量成功。代码路径覆盖是基于这样一个事实:在测试中不断增加对程序代码路径的覆盖常常能导致程序崩溃或异常。测试开始于用户提供的种子,在这些种子的基础上进行变异,将变异的数据输入到程序中运行,并收集程序反馈的信息,不同的反馈代表不同的代码路径,最后保留有效的变异数据,不断增加对代码路径的覆盖,最终发现导致程序异常或崩溃的输入数据。这种方法的基础是覆盖反馈,即最大化程序输入能到达的不同的代码路径或引起的不同反馈。也就是说,模糊测试作为一种有效检测安全漏洞的黑盒测试方法,其主要针对软件领域中存在的安全缺陷加以测试,许多大中型软件开发商将其作为保证软件安全质量中测试流程的一部分,尽可能地达到发现软件漏洞缺陷的目的。随着模糊测试的不断发展,该方法进一步沿用至网络协议领域,由于该方法可以检测到某些高风险漏洞,因此备受工控安全领域中一些研究人员甚至攻击者的青睐,同时针对一些协议如ModbusTCP、DNP3、S7等设计且实现了具有针对性的模糊测试用例,并取得了不错的效果。
现有技术的模糊测试存在如下缺陷:
1)传统的模糊测试方法过于依赖测试人员的经验及技术。
2)一般的模糊器(如Peach)变异报文的过程中随机度过高,导致测试效率低下、测试用例高度冗余、测试覆盖率低以及测试不充分问题。
3)传统模糊器对于发现工控协议漏洞的能力有限。
4)传统模糊器的变异因子相对固定,因子之间没有相关性和优先级。
发明内容
本发明实施例提供了一种工控协议模糊测试用例生成方法、装置、设备及存储介质,解决了现有技术的模糊测试用例生成方法在工控协议应用中存在的代码路径覆盖率低、测试用例冗余度高,测试用例生成过程随机性和盲目性大的问题。
本发明实施例提供了一种工控协议模糊测试用例生成方法,包括:
工控协议分析;
构建初始变异树;
随机探测用例生成;
发送探测数据到被测设备;
样本数据包获取和分析;
变异树模型构建;
生成测试用例。
进一步的,所述工控协议分析,包括:通过对被测的工控协议进行分析,列出不同语义字段,不同字段的合法范围和非法范围及边界值。
进一步的,所述构建初始变异树,包括:在对工控协议分析的基础上,依据字段的可变性,变化优先级构建初始变异树。
进一步的,所述随机探测用例生成,包括:基于对工控协议的分析,针对各个字段,产生随机输入,由随机输入构建探测用例。
进一步的,所述发送探测数据到被测设备,包括:将构建的探测用例发送到被测设备,并抓取被测设备的响应数据,分析响应数据是否达到期望的覆盖率,如果没有达到返回到第一步协议分析,直到达到期望的覆盖率。
进一步的,所述样本数据包获取和分析,包括:采用构建的探测用例对设备进行测试,获取设备的响应,分析响应的特点,如果响应没有达到预设的变化期望,则继续构建不同的探测用例,并发送到测试设备,直到被测设备的响应达到预设的变化期望。
进一步的,所述变异树模型构建,包括:对工控协议和样本数据进行分析,梳理工控协议字段间的依赖关系,对语义进行分割,形成节点,生成样本树;树的根为工控协议,根下依次为第一层,直到第N层,每一层是上一层的分解,叶子节点所在的层为变异的最小单位,每个节点有自己的变异方法和数据,每个节点有优先级值,其中,N为正整数。
本发明实施例还提供一种工控协议模糊测试用例生成装置,包括:
分析模块,用于执行工控协议分析;还用于通过对被测的工控协议进行分析,列出不同语义字段,不同字段的合法范围和非法范围及边界值;
初始化模块,用于构建初始变异树;还用于在对工控协议分析的基础上,依据字段的可变性,变化优先级构建初始变异树;
随机模块,用于随机探测用例生成;还用于基于对工控协议的分析,针对各个字段,产生随机输入,由随机输入构建探测用例;
发送模块,用于发送探测数据到被测设备;还用于将构建的探测用例发送到被测设备,并抓取被测设备的响应数据,分析响应数据是否达到期望的覆盖率,如果没有达到返回到第一步协议分析,直到达到期望的覆盖率;
获取模块,用于样本数据包获取和分析;还用于采用构建的探测用例对设备进行测试,获取设备的响应,分析响应的特点,如果响应没有达到预设的变化期望,则继续构建不同的探测用例,并发送到测试设备,直到被测设备的响应达到预设的变化期望;
构建模块,用于变异树模型构建;还用于对工控协议和样本数据进行分析,梳理工控协议字段间的依赖关系,对语义进行分割,形成节点,生成样本树;树的根为工控协议,根下依次为第一层,直到第N层,每一层是上一层的分解,叶子节点所在的层为变异的最小单位,每个节点有自己的变异方法和数据,每个节点有优先级值,其中,N为正整数;
生成模块,用于生成测试用例。
本发明实施例还提供一种工控协议模糊测试用例生成设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述工控协议模糊测试用例生成方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述工控协议模糊测试用例生成方法。
本发明实施例,其方法包括:工控协议分析;构建初始变异树;随机探测用例生成;发送探测数据到被测设备;样本数据包获取和分析;变异树模型构建;生成测试用例。由此能够针对目前工控应用层协议模糊测试过程中存在的覆盖率低的问题,提出基于变异树的模糊测试用例生成方法,并利用协议规约中的字段重要性和设备对测试数据的反馈来有效地控制协议树中各节点属性值的变异程度,从而减少无效测试用例的数量,提高测试覆盖率,提高发现漏洞的机率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明实施例的所述工控协议模糊测试用例生成方法的整体流程图;
图2是本发明实施例的所述工控协议模糊测试用例生成装置的结构图;
图3是本发明实施例的所述分析modbusTCP协议涉及的字段的格式示意图;
图4是本发明实施例的所述初始化构建的变异树的结构图。
具体实施方式
下文中将结合附图对本发明的实施例进行详细说明。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例通过分析工控协议和预设测试用例生成的样本数据,构建变异树模型,并且基于变异树对协议数据包进行变异,从而生成代码路径覆盖率高的模糊测试用例。而现有技术的测试用例生成方法应用在工控协议上时,生成的测试用例代码路径覆盖率低,而采用本发明实施例的方法生成的工控协议模糊测试用例,代码路径覆盖率高。
为了解决工控协议模糊测试中测试用例冗余度高,代码路径覆盖率低的问题,本发明实施例提出了采用变异树的方法来生成测试用例,即如图1所示,本发明实施例提出一种工控协议模糊测试用例生成方法,主要包括工控协议分析,随机探测用例生成,样本数据包获取和分析,变异树模型构建,测试用例生成等主要步骤,其具体包括:
步骤101,工控协议分析。
其中,在一个实施例中,所述工控协议分析,包括:通过对被测的工控协议进行分析,列出不同语义字段,不同语义字段的合法范围、非法范围及边界值。
这样,通过对工控协议标准阅读获得协议数据包的组成,将数据包的组成分解到语义字段,还能够确定不可变异字段,可变异字段,高度可变字段和各字段的变化方向和优先级。
步骤102,构建初始变异树。
其中,在一个实施例中,所述构建初始变异树,包括:在对工控协议分析的基础上,依据字段的可变性,变化优先级构建初始变异树。
步骤103,随机探测用例生成。
其中,在一个实施例中,所述随机探测用例生成,包括:基于对工控协议的分析,针对各个字段,产生随机输入,由随机输入构建探测用例。
这样,依据初始变异树,构建针对工控协议的探测数据包,就能确定探测数据包期望的覆盖率。
步骤104,发送探测数据到被测设备。
其中,在一个实施例中,所述发送探测数据到被测设备,包括:将构建的探测用例发送到被测设备,并抓取被测设备的响应数据,分析响应数据是否达到期望的覆盖率,如果没有达到返回到第一步协议分析,直到达到期望的覆盖率。
步骤105,样本数据包获取和分析。
其中,在一个实施例中,所述样本数据包获取和分析,包括:采用构建的探测用例对设备进行测试,获取设备的响应,分析响应的特点,如果响应没有达到预设的变化期望,则继续构建不同的探测用例,并发送到测试设备,直到被测设备的响应达到预设的变化期望。
步骤106,变异树模型构建。
其中,在一个实施例中,所述变异树模型构建,包括:对工控协议和样本数据进行分析,梳理工控协议字段间的依赖关系,对语义进行分割,形成节点,生成样本树;树的根为工控协议,根下依次为第一层,直到第N层,每一层是上一层的分解,叶子节点所在的层为变异的最小单位,每个节点有自己的变异方法和数据,每个节点有优先级值,其中,N为正整数。
这样,依据对工控协议的分析和达到覆盖率的探测数据,生成变异树。
步骤107,生成测试用例。
其中,依据变异树生成测试用例。
进一步的,以modbusTCP协议语法测试用例的生成为例来说明工控协议模糊测试用例生成方法:
1.工控协议分析:
分析modbusTCP协议涉及的语义字段及其含义有如表1所示:
表1
Figure 972914DEST_PATH_IMAGE001
进一步分析各语义字段的可变异字段和不可变异字段,以及可变异字段的变异范围。
语义字段的可变异性如表2所示:
表2
Figure 840638DEST_PATH_IMAGE002
针对可变异字段,其可变异范围有如表3所示:
表3
Figure 676614DEST_PATH_IMAGE003
进一步的,得到不同语义字段的合法范围、非法范围及边界值如表4所示:
表4
Figure 880937DEST_PATH_IMAGE004
2.构建初始变异树的原理如图4所示;
依据对modbusTCP协议的分析,各字段的变异类型如表5,变异的优
先级和相关性如表6所示:
表5
Figure 153786DEST_PATH_IMAGE005
表6
Figure 755144DEST_PATH_IMAGE006
将以上信息补充到变异树中各节点。
3.随机探测用例生成;
依据对modbusTCP协议的分析和探测数据,对变异节点进行函数体构造,变异函数如表7所示:
表7
Figure 460057DEST_PATH_IMAGE007
具体方法举例为:一个探测用例0x0001.0000.0006.0101.0000.0001,分解如下表8所示:
表8
Figure 853909DEST_PATH_IMAGE008
从变异树中可以知道,数据长度属于可变异字段,且优先级较高。现
选择数据长度节点进行变异(其它值维持不变),采用边界值变异函数margin{±1}进行变异,变异值列表如下表9所示:
表9
Figure 189338DEST_PATH_IMAGE009
采用比特位函数reverse_bits翻转变异,变异值如下表10所示:
表10
Figure 700828DEST_PATH_IMAGE010
采用整数步进变异函数s_dword,步进值-2(正值代表步进方向增大,负值代表步进方向减小),步进结束值0x0000,变异值如下表11所示:
表11
Figure 19552DEST_PATH_IMAGE011
综合下来:由以上变异可生成的探测用例(小数点为分隔符号,实际不发送)如表12所示:
表12
Figure 119838DEST_PATH_IMAGE012
4、发送探测数据到被测设备
将以上探测用例的数据发送给被测试的设备,并捕获被测试的设备的响应。
5、样本数据包获取和分析
对在第4步中捕获的数据包进行分析,去除不属于ModbusTCP协议的数据包,不属于发送和被测设备返回的数据包(杂包),并检测是否每一个变异包均进行了发送,逐一分析每个包,分析后如下表13所示:
表13
Figure 70DEST_PATH_IMAGE013
从以上情况可以看出发送7个探测数据包,其中有两个收到了反馈,反馈内容一致,5个反馈为空,合计收到2个反馈(空被计算为1个,反馈一致被计算为1个),计算覆盖率:
反馈率=2÷7=28.57%。
6、反复进行第2~5步,不断修改变异树,计算覆盖率直到发送的探测用例达到期望的覆盖率:
覆盖率的计算公式:
覆盖率=返回的不同类型的数据包数÷发送的不同的数据包总数
经过第2~5步的每一次确定变异树的节点后,会生成不同的数据包,将数据包发送到设备后获得不同的响应,分析计算得到不同的覆盖率。在这个过程中会发现不同的变异树(包括不同的变异函数)会导致不同的覆盖率,通过分析可以知道某些节点或某些变异函数或变异值可以提高覆盖率,同样有一些将降低覆盖率,通过不断调整最后构建的变异树可达到期望的覆盖率。
实际测试,该字段的所有变异最多能获得6个不同类的变异值,因此对于该字段变异的数据包确定为6个,覆盖率为100%,变异方法是边界值,比特位翻转和整数步进,将这些信息计入变异树。对其他字段进行同样的操作,依据经验覆盖率能达到20%就已经可以生成非常好的测试用例。
7、依据变异树生成测试用例
由以上第1-6步构建完变异树后,依据变异树中指定的变异字段和变异的函数生成数据包,这些数据包构成一个个子测试,所有子测试构成了一个测试用例。
综上所述,本发明实施例的方法中的变异树基于对协议和样本数据的分析生成,具有预设的针对性;变异树节点在变异时有优先级和预设变异方法和数据,变异过程具有针对性;不同协议和不同的随机探测数据会生成不同的变异树,变异出不同的测试用例,具有适应性。
如图2所示,本发明实施例还提供一种工控协议模糊测试用例生成装置,包括:
分析模块71,用于执行工控协议分析;还用于通过对被测的工控协议进行分析,列出不同语义字段,不同字段的合法范围和非法范围及边界值;
初始化模块72,用于构建初始变异树;还用于在对工控协议分析的基础上,依据字段的可变性,变化优先级构建初始变异树;
随机模块73,用于随机探测用例生成;还用于基于对工控协议的分析,针对各个字段,产生随机输入,由随机输入构建探测用例;
发送模块74,用于发送探测数据到被测设备;还用于将构建的探测用例发送到被测设备,并抓取被测设备的响应数据,分析响应数据是否达到期望的覆盖率,如果没有达到返回到第一步协议分析,直到达到期望的覆盖率;
获取模块75,用于样本数据包获取和分析;还用于采用构建的探测用例对设备进行测试,获取设备的响应,分析响应的特点,如果响应没有达到预设的变化期望,则继续构建不同的探测用例,并发送到测试设备,直到被测设备的响应达到预设的变化期望;
构建模块76,用于变异树模型构建;还用于对工控协议和样本数据进行分析,梳理工控协议字段间的依赖关系,对语义进行分割,形成节点,生成样本树;树的根为工控协议,根下依次为第一层,直到第N层,每一层是上一层的分解,叶子节点所在的层为变异的最小单位,每个节点有自己的变异方法和数据,每个节点有优先级值,其中,N为正整数;
生成模块77,用于生成测试用例。
这样的装置发送探测数据,构造出变异树模型,并且基于变异树生成模糊测试用例;基于变异树对测试数据进行变异生成高效的测试用例,能够提高测试效率和测试覆盖率,减少测试时间,降低测试成本;目前暂无基于此类变异树生成工业控制协议模糊测试用例的装置。
本发明实施例还提供一种工控协议模糊测试用例生成设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述工控协议模糊测试用例生成方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述工控协议模糊测试用例生成方法。
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号。

Claims (10)

1.一种工控协议模糊测试用例生成方法,其特征在于,包括:
工控协议分析;
构建初始变异树;
随机探测用例生成;
发送探测数据到被测设备;
样本数据包获取和分析;
变异树模型构建;
生成测试用例。
2.根据权利要求1所述的工控协议模糊测试用例生成方法,其特征在于,所述工控协议分析,包括:通过对被测的工控协议进行分析,列出不同语义字段,不同字段的合法范围和非法范围及边界值。
3.根据权利要求1所述的工控协议模糊测试用例生成方法,其特征在于,所述构建初始变异树,包括:在对工控协议分析的基础上,依据字段的可变性,变化优先级构建初始变异树。
4.根据权利要求1所述的工控协议模糊测试用例生成方法,其特征在于,所述随机探测用例生成,包括:基于对工控协议的分析,针对各个字段,产生随机输入,由随机输入构建探测用例。
5.根据权利要求1所述的工控协议模糊测试用例生成方法,其特征在于,所述发送探测数据到被测设备,包括:将构建的探测用例发送到被测设备,并抓取被测设备的响应数据,分析响应数据是否达到期望的覆盖率,如果没有达到返回到第一步协议分析,直到达到期望的覆盖率。
6.根据权利要求1所述的工控协议模糊测试用例生成方法,其特征在于,所述样本数据包获取和分析,包括:采用构建的探测用例对设备进行测试,获取设备的响应,分析响应的特点,如果响应没有达到预设的变化期望,则继续构建不同的探测用例,并发送到测试设备,直到被测设备的响应达到预设的变化期望。
7.根据权利要求1所述的工控协议模糊测试用例生成方法,其特征在于,所述变异树模型构建,包括:对工控协议和样本数据进行分析,梳理工控协议字段间的依赖关系,对语义进行分割,形成节点,生成样本树;树的根为工控协议,根下依次为第一层,直到第N层,每一层是上一层的分解,叶子节点所在的层为变异的最小单位,每个节点有自己的变异方法和数据,每个节点有优先级值,其中,N为正整数。
8.一种工控协议模糊测试用例生成装置,其特征在于,包括:
分析模块,用于执行工控协议分析;还用于通过对被测的工控协议进行分析,列出不同语义字段,不同字段的合法范围和非法范围及边界值;
初始化模块,用于构建初始变异树;还用于在对工控协议分析的基础上,依据字段的可变性,变化优先级构建初始变异树;
随机模块,用于随机探测用例生成;还用于基于对工控协议的分析,针对各个字段,产生随机输入,由随机输入构建探测用例;
发送模块,用于发送探测数据到被测设备;还用于将构建的探测用例发送到被测设备,并抓取被测设备的响应数据,分析响应数据是否达到期望的覆盖率,如果没有达到返回到第一步协议分析,直到达到期望的覆盖率;
获取模块,用于样本数据包获取和分析;还用于采用构建的探测用例对设备进行测试,获取设备的响应,分析响应的特点,如果响应没有达到预设的变化期望,则继续构建不同的探测用例,并发送到测试设备,直到被测设备的响应达到预设的变化期望;
构建模块,用于变异树模型构建;还用于对工控协议和样本数据进行分析,梳理工控协议字段间的依赖关系,对语义进行分割,形成节点,生成样本树;树的根为工控协议,根下依次为第一层,直到第N层,每一层是上一层的分解,叶子节点所在的层为变异的最小单位,每个节点有自己的变异方法和数据,每个节点有优先级值,其中,N为正整数;
生成模块,用于生成测试用例。
9.一种工控协议模糊测试用例生成设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~7中任意一项所述工控协议模糊测试用例生成方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1~7中任意一项所述工控协议模糊测试用例生成方法。
CN202110078593.3A 2021-01-21 2021-01-21 工控协议模糊测试用例生成方法、装置、设备及存储介质 Pending CN112395209A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110078593.3A CN112395209A (zh) 2021-01-21 2021-01-21 工控协议模糊测试用例生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110078593.3A CN112395209A (zh) 2021-01-21 2021-01-21 工控协议模糊测试用例生成方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112395209A true CN112395209A (zh) 2021-02-23

Family

ID=74624931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110078593.3A Pending CN112395209A (zh) 2021-01-21 2021-01-21 工控协议模糊测试用例生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112395209A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986712A (zh) * 2021-09-10 2022-01-28 深圳开源互联网安全技术有限公司 一种基于http/2的模糊测试方法和装置
CN114063606A (zh) * 2022-01-13 2022-02-18 浙江大学 Plc协议模糊测试方法及装置、电子设备、存储介质
CN114205340A (zh) * 2021-12-23 2022-03-18 绿盟科技集团股份有限公司 一种基于智能电力设备的模糊测试方法及装置
CN115174441A (zh) * 2022-09-06 2022-10-11 中国汽车技术研究中心有限公司 基于状态机的tcp模糊测试方法、设备和存储介质
CN116841243A (zh) * 2023-06-19 2023-10-03 浙江大学 一种智能化plc协议格式推断方法、模糊测试方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763392A (zh) * 2016-02-19 2016-07-13 中国人民解放军理工大学 一种基于协议状态的工控协议模糊测试方法
CN106412067A (zh) * 2016-09-30 2017-02-15 广东电网有限责任公司电力科学研究院 基于工控协议模糊测试的数据分层生成方法
CN110597734A (zh) * 2019-09-23 2019-12-20 电子科技大学 一种适用于工控私有协议的模糊测试用例生成方法
CN111123888A (zh) * 2019-12-19 2020-05-08 江苏中天科技软件技术有限公司 一种工控协议测试方法、系统及电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763392A (zh) * 2016-02-19 2016-07-13 中国人民解放军理工大学 一种基于协议状态的工控协议模糊测试方法
CN106412067A (zh) * 2016-09-30 2017-02-15 广东电网有限责任公司电力科学研究院 基于工控协议模糊测试的数据分层生成方法
CN110597734A (zh) * 2019-09-23 2019-12-20 电子科技大学 一种适用于工控私有协议的模糊测试用例生成方法
CN111123888A (zh) * 2019-12-19 2020-05-08 江苏中天科技软件技术有限公司 一种工控协议测试方法、系统及电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李文轩等: "基于改进变异树的工控协议模糊测试用例生成方法", 《计算机应用研究》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986712A (zh) * 2021-09-10 2022-01-28 深圳开源互联网安全技术有限公司 一种基于http/2的模糊测试方法和装置
CN114205340A (zh) * 2021-12-23 2022-03-18 绿盟科技集团股份有限公司 一种基于智能电力设备的模糊测试方法及装置
CN114205340B (zh) * 2021-12-23 2024-04-02 绿盟科技集团股份有限公司 一种基于智能电力设备的模糊测试方法及装置
CN114063606A (zh) * 2022-01-13 2022-02-18 浙江大学 Plc协议模糊测试方法及装置、电子设备、存储介质
CN114063606B (zh) * 2022-01-13 2022-06-21 浙江大学 Plc协议模糊测试方法及装置、电子设备、存储介质
CN115174441A (zh) * 2022-09-06 2022-10-11 中国汽车技术研究中心有限公司 基于状态机的tcp模糊测试方法、设备和存储介质
CN116841243A (zh) * 2023-06-19 2023-10-03 浙江大学 一种智能化plc协议格式推断方法、模糊测试方法及装置
CN116841243B (zh) * 2023-06-19 2024-01-09 浙江大学 一种智能化plc协议格式推断方法、模糊测试方法及装置

Similar Documents

Publication Publication Date Title
CN112395209A (zh) 工控协议模糊测试用例生成方法、装置、设备及存储介质
CN111092852B (zh) 基于大数据的网络安全监控方法、装置、设备及存储介质
Sija et al. A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view
US8321733B2 (en) Optimization of SERDES sampling parameters
CN108924102B (zh) 高效的工控协议模糊测试方法
CN112714047A (zh) 基于工控协议流量的测试方法、装置、设备及存储介质
CN114050979B (zh) 一种工业控制协议安全测试系统及装置
US20070189175A1 (en) Capture timing and negotiation data with repeat counts in a networking diagnostic component
CN117435506B (zh) 模糊测试方法、电子设备及计算机可读存储介质
US20070189176A1 (en) Random data compression scheme in a network diagnostic component
CN112532614A (zh) 一种用于电网终端的安全监测方法和系统
Kiran et al. Detecting anomalous packets in network transfers: investigations using PCA, autoencoder and isolation forest in TCP
CN113419971B (zh) 安卓系统服务漏洞检测方法及相关装置
Li Detection of ddos attacks based on dense neural networks, autoencoders and pearson correlation coefficient
Fontes et al. Improving the ns-3 tracebasedpropagationlossmodel to support multiple access wireless scenarios
CN113722717A (zh) 一种安全漏洞测试方法、装置、设备及可读存储介质
CN112822223A (zh) 一种dns隐蔽隧道事件自动化检测方法、装置和电子设备
CN112235242A (zh) 一种c&c信道检测方法及系统
CN111885009A (zh) 在智能家居环境中通过误导网络嗅探工具从而保护用户隐私的系统及方法
CN113760753B (zh) 基于灰盒模糊技术的quic协议测试方法
Holland et al. Classifying network vendors at internet scale
Whalen et al. Hidden markov models for automated protocol learning
CN116248337A (zh) 一种基于测试用例自动化生成的协议模糊测试方法及装置
Huizinga Using machine learning in network traffic analysis for penetration testing auditability
Wan et al. DevTag: A benchmark for fingerprinting IoT devices

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: 20210223

RJ01 Rejection of invention patent application after publication