CN114281676A - 针对工控私有协议的黑盒模糊测试方法及系统 - Google Patents
针对工控私有协议的黑盒模糊测试方法及系统 Download PDFInfo
- Publication number
- CN114281676A CN114281676A CN202111426597.2A CN202111426597A CN114281676A CN 114281676 A CN114281676 A CN 114281676A CN 202111426597 A CN202111426597 A CN 202111426597A CN 114281676 A CN114281676 A CN 114281676A
- Authority
- CN
- China
- Prior art keywords
- protocol
- field
- fields
- industrial control
- test
- 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
- 238000010998 test method Methods 0.000 title claims description 29
- 238000012360 testing method Methods 0.000 claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000007704 transition Effects 0.000 claims abstract description 25
- 230000002159 abnormal effect Effects 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 230000003068 static effect Effects 0.000 claims description 26
- 230000035772 mutation Effects 0.000 claims description 11
- 230000006854 communication Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000002887 multiple sequence alignment Methods 0.000 claims description 4
- 238000002864 sequence alignment Methods 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 235000000332 black box Nutrition 0.000 claims 1
- 230000003993 interaction Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Maintenance And Management Of Digital Transmission (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明属于工控系统协议测试领域,特别涉及一种针对工控私有协议的黑盒模糊测试方法及系统,从工控环境和开源社区中收集协议数据包,通过对协议数据包进行逆向分析来识别字段语义并获取协议格式;根据字段语义构建用于指导模糊测试执行的协议状态机;根据协议格式生成测试用例,并利用协议状态机来指导选择状态迁移路径将测试用例发送至被测设备,利用主动探测方法监视被测设备是否存在异常。本发明通过协议逆向分析并根据功能码字段构建协议状态机来指导模糊测试执行过程,能够实现用更短的时间发现更多的协议漏洞,且无需知道协议先验知识,提高模糊测试效率和准确度,方案简单、便于实现,适用范围广,具有较好的应用价值。
Description
技术领域
本发明属于工控系统协议测试领域,特别涉及一种针对工控私有协议的黑盒模糊测试方法及系统。
背景技术
模糊测试(Fuzzing)是一种试图通过自动化的向被测目标发送大量随机输入来发现安全漏洞的技术,由于其简单、高效的特点,已经被广泛应用于软件、插件、协议等漏洞的挖掘上并且发现了大量的安全漏洞。针对工控协议的模糊测试主要是通过对协议实现的实体即工控设备测试实现的,由于工控设备对外严格密封,无法知道其内部实现,因此属于黑盒模糊测试的范畴。目前,采用的主流方法是基于生成的模糊测试,该方法需要事先根据工控协议的结构定义不同的数据模型,同时采用各种各样的变异策略对数据模型的不同字段进行变异,从而生成测试用例对工控设备进行模糊测试。
目前方法通常只对于公有协议比较有效,因为这类协议有公开的协议资料能够轻易的知道协议的结构,而对于工控私有协议来说,各工控设备厂商出于商业机密没有公开协议资料,因此无法根据协议格式生成有效的测试用例。且现有模糊测试方法的变异策略选择通常只是针对协议单个字段进行的,在不知道针对哪个字段变异更能有效触发设备异常的情况下,只针对单个字段变异导致生成的测试用例漏洞挖掘能力不足。此外,现有方法在模糊测试过程中存在盲目性较大的问题,缺乏协议状态机的指导导致无法与被测设备进行深入交互,降低了发现漏洞的概率。
发明内容
为此,本发明提供一种针对工控私有协议的黑盒模糊测试方法及系统,通过协议逆向分析并根据功能码字段构建协议状态机来指导模糊测试执行过程,能够实现用更短的时间发现更多的协议漏洞,且无需知道协议先验知识,提高模糊测试效率和准确度,便于工控系统实际场景应用。
按照本发明所提供的设计方案,一种针对工控私有协议的黑盒模糊测试方法,包含如下内容:
从工控环境和开源社区中收集协议数据包,通过对协议数据包进行逆向分析来识别字段语义并获取协议格式;根据字段语义构建用于指导模糊测试执行的协议状态机;
根据协议格式生成测试用例,并利用协议状态机来指导选择状态迁移路径将测试用例发送至被测设备,利用主动探测方法监视被测设备是否存在异常。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,利用网络抓包工具抓取真实工控环境中的协议数据包,并从代码托管平台的开源社区收集公开的协议数据包,对抓取和收集到的协议数据包进行逆向分析来获取协议的字段语义和协议格式。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,对协议数据包进行逆向分析中,首先,对协议数据报进行预处理,采用四元组方式过滤无关数据包,通过提取剩余数据包中的消息内容来构建消息序列;然后,针对消息序列,通过多序列比对算法和字段划分算法来获取协议字段结构;利用启发式规则通过识别各字段语义来获取协议格式,并构建协议状态机。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,多序列比对算法和字段划分算法对消息序列进行处理中,首先,通过多序列比对算法对齐所有消息序列并获取协议中的动态字段和静态字段,然后,利用字段划分算法划分可变长度字段并合并相邻静态字段,进而得到协议字段结构。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,通过多序列比对算法对齐所有消息序列中,以字节为单位进行消息序列比对,首先计算所有消息序列中最长的消息序列长度,在预设偏移范围内遍历所有消息序列并通过填充字符来对齐所有消息序列,其中,预设的偏移范围设置为[0,最长的消息序列长度];并在对齐过程中,通过比较每个字段相似性,通过判断所有消息序列中同一偏移位置内容是否发生变化来标记字段为静态字段或动态字段。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,利用字段划分算法划分字段过程中,首先计算所有消息序列中最短的消息序列长度,遍历所有消息序列,将大于该最短的消息序列长度的消息序列长度中的静态字段和动态字段统一合并为可变长度字段,并通过遍历所有动态字段和静态字段,将相邻的静态字段进行合并,得到协议的字段结构。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,利用启发式规则通过识别各字段语义来获取协议格式,包含如下内容:依据字段的值是否随通信时间推移进行递增来识别序列号字段,依据字段的值是否随消息序列长度改变来识别长度字段,依据消息序列长度的相似性并通过聚类不同字段的值来识别功能码字段;按照功能码字段相邻原则建立用于表示状态迁移过程的状态迁移对,并通过遍历对状态迁移对进行合并和去重;以功能码字段为顶点,以不同功能码字段的状态迁移为边,利用递归迭代构建有向图,直到所有功能码字段加入到有向图中,形成协议状态机。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,根据协议格式,采用多种变异策略生成测试用例,其中,多种变异策略至少包含:对单个动态字段进行变异的单字段变异策略,对多个动态字段进行变异的多字段变异策略,及随机选取单字段变异策略或多字段变异策略的随机变异策略。
作为本发明针对工控私有协议的黑盒模糊测试方法,进一步地,利用主动探测方法监视被测设备是否存在异常中,周期性地向被测发送测试指令来测试被测设备是否正常通信,其中,测试指令包含:ping指令和arp请求。
进一步地,本发明还提供一种针对工控私有协议的黑盒模糊测试系统,包含:逆向分析模块和模糊测试模块,其中,
逆向分析模块,用于从工控环境和开源社区中收集协议数据包,通过对协议数据包进行逆向分析来识别字段语义并获取协议格式;根据字段语义构建用于指导模糊测试执行的协议状态机;
模糊测试模块,用于根据协议格式生成测试用例,并利用协议状态机来指导选择状态迁移路径将测试用例发送至被测设备,利用主动探测方法监视被测设备是否存在异常。
本发明的有益效果:
1、本发明针对工控私有协议的黑盒模糊测试方法,针对当前模糊测试过程中未能对协议状态进行有效区分,导致浪费大量资源测试一些无意义的协议状态,降低模糊测试效率的问题。利用协议逆向的方式从大量数据包中得到协议格式及字段语义,然后根据功能码字段构建协议状态机,从而指导模糊测试执行的过程,以此增加漏洞触发的概率,并且实现用更短的时间发现更多的协议漏洞,具有较好的应用前景。
2、本发明通过结合协议逆向及模糊测试两个方面的技术,在不带来额外较大开销的前提下,实现了针对工控私有协议的模糊测试,并且可以与其它模糊测试工具进行有效结合,在原有测试工具的基础上进一步提升漏洞发现效率,并且直接适用于多种工控私有协议,无需知道协议的先验知识,便于实际场景中的应用。
附图说明:
图1为实施例中针对工控私有协议的黑盒模糊测试方法流程示意;
图2为实施例中工控私有协议逆向分析流程示意;
图3为实施例中黑盒模糊测试流程示意;
图4为实施例中黑盒模糊测试系统工作原理示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
本发明实施例,提供一种针对工控私有协议的黑盒模糊测试方法,参见图1所示,包含如下内容:
S101、从工控环境和开源社区中收集协议数据包,通过对协议数据包进行逆向分析来识别字段语义并获取协议格式;根据字段语义构建用于指导模糊测试执行的协议状态机;
S102、根据协议格式生成测试用例,并利用协议状态机来指导选择状态迁移路径将测试用例发送至被测设备,利用主动探测方法监视被测设备是否存在异常。
通过协议逆向和模糊测试两个阶段,利用大量捕获的协议数据包得到协议格式和协议状态机,根据协议状态机指导模糊测试过程中状态迁移路径的选择,提高工控私有协议中模糊测试的效率,方案简单、便于实现,适用范围广。
作为本发明实施例中针对工控私有协议的黑盒模糊测试方法,进一步地,利用网络抓包工具抓取真实工控环境中的协议数据包,并从代码托管平台的开源社区收集公开的协议数据包,对抓取和收集到的协议数据包进行逆向分析来获取协议的字段语义和协议格式。
考虑到协议状态迁移过程的复杂性及多样性,为了能尽可能多的构建状态迁移路径,需要大量的数据包作为输入;同时考虑到工控私有协议格式的未知性,同样需要大量的数据包进行序列比对得到协议格式。参见图2所示,可从真实的工控环境中使用wireshark软件来捕获协议数据包,从Github上收集公开的协议数据包,并对协议数据包通过预处理获取有用消息,对有用消息依次通过格式推断、语义识别等逆向分析来获取协议字段语义和协议格式,以构建协议状态机。
作为本发明实施例中针对工控私有协议的黑盒模糊测试方法,进一步地,对协议数据包进行逆向分析中,首先,对协议数据报进行预处理,采用四元组方式过滤无关数据包,通过提取剩余数据包中的消息内容来构建消息序列;然后,针对消息序列,通过多序列比对算法和字段划分算法来获取协议字段结构;利用启发式规则通过识别各字段语义来获取协议格式,并构建协议状态机。进一步地,多序列比对算法和字段划分算法对消息序列进行处理中,首先,通过多序列比对算法对齐所有消息序列并获取协议中的动态字段和静态字段,然后,利用字段划分算法划分可变长度字段并合并相邻静态字段,进而得到协议字段结构。
可采用四元组(ip地址,端口号,时间戳,消息内容)提取数据包中的相关内容,过滤掉无用数据包,并根据得到的消息内容来构建消息序列。然后,采用多序列比对算法对齐所有消息,得到协议中的动态字段和静态字段;采用字段划分算法合并相邻的静态字段并划分出最后一个可变长字段进而得到协议字段结构。
作为本发明实施例中针对工控私有协议的黑盒模糊测试方法,进一步地,通过多序列比对算法对齐所有消息序列中,以字节为单位进行消息序列比对,首先计算所有消息序列中最长的消息序列长度,在预设偏移范围内遍历所有消息序列并通过填充字符来对齐所有消息序列,其中,预设的偏移范围设置为[0,最长的消息序列长度];并在对齐过程中,通过比较每个字段相似性,通过判断所有消息序列中同一偏移位置内容是否发生变化来标记字段为静态字段或动态字段。
采用多序列比对算法,以字节为单位进行消息序列的比对,首先计算所有输入序列中最长的序列长度lmax,然后在0-lmax的偏移范围内遍历所有消息,如果当前偏移位置存在内容,则记录当前内容,若当前偏移位置不存在内容,则以“--”填充,当遍历完成时可以对齐所有的消息序列。在此过程中,比较每个字段的相似性,如果某个字段在所有消息中同一偏移位置的内容不发生变化,则把该字段标记为静态字段;如果发生变化,则把该字段标记为动态字段。经过该算法之后,可以得到一系列动态字段和静态字段的组合序列。
作为本发明实施例中针对工控私有协议的黑盒模糊测试方法,进一步地,利用字段划分算法划分字段过程中,首先计算所有消息序列中最短的消息序列长度,遍历所有消息序列,将大于该最短的消息序列长度的消息序列长度中的静态字段和动态字段统一合并为可变长度字段,并通过遍历所有动态字段和静态字段,将相邻的静态字段进行合并,得到协议的字段结构。
在字段划分过程中,首先计算所有消息序列的最短消息长度lmin,然后遍历所有的输入消息序列,如果消息序列长度大于lmin,则不论大于lmin长度的字段是否为静态字段还是动态字段,统一合并为可变长度字段,接着遍历所有的动态字段和静态字段,如果相邻的字段为静态字段,则把这些字段合并为一个字段,否则不进行合并操作,经过上述步骤可以到的协议的字段结构。
作为本发明实施例中针对工控私有协议的黑盒模糊测试方法,进一步地,利用启发式规则通过识别各字段语义来获取协议格式,包含如下内容:依据字段的值是否随通信时间推移进行递增来识别序列号字段,依据字段的值是否随消息序列长度改变来识别长度字段,依据消息序列长度的相似性并通过聚类不同字段的值来识别功能码字段;按照功能码字段相邻原则建立用于表示状态迁移过程的状态迁移对,并通过遍历对状态迁移对进行合并和去重;以功能码字段为顶点,以不同功能码字段的状态迁移为边,利用递归迭代构建有向图,直到所有功能码字段加入到有向图中,形成协议状态机。
针对字段语义的识别,引入启发式的规则识别常量字段、序列号字段、长度字段、功能码字段。常量字段也称为静态字段,在上述步骤中已经识别出来。对于序列号字段,该字段的值随着通信时间的推移逐渐递增,能够根据该特点识别出该字段;对于长度字段,该字段的值只跟消息序列的长度有关,消息序列长度改变时,该字段的长度随之改变,消息序列长度不变时,该字段的长度也不改变,根据该特点能够识别出该字段;对于功能码字段,一般情况下,具有相同功能码字段的消息序列具有更加相似的字段结构,对于工控协议来说就是消息序列的长度更加相似,根据此特点,对不同字段的值分别聚类,得到功能码字段。
根据协议语义识别中的功能码字段,按照相邻原则构建状态迁移对<statei,statej>,功能码字段相邻则代表存在statei到statej的状态迁移过程。遍历所有的状态迁移对,若不同迁移对具有相同的statei,则把所有对应的statej合并为一个列表,表示statei可以迁移到列表中的任何一个状态;若合并完成后,列表中有重复值,则只保留其中一个值,即对相同的状态迁移过程去重。以功能码字段为顶点,不同字段之间的状态迁移为边,依据递归迭代的思想构建有向图,直到把所有功能码字段都加入到有向图中,形成协议状态机。
作为本发明实施例中针对工控私有协议的黑盒模糊测试方法,进一步地,根据协议格式,采用多种变异策略生成测试用例,其中,多种变异策略至少包含:对单个动态字段进行变异的单字段变异策略,对多个动态字段进行变异的多字段变异策略,及随机选取单字段变异策略或多字段变异策略的随机变异策略。进一步地,利用主动探测方法监视被测设备是否存在异常中,周期性地向被测发送测试指令来测试被测设备是否正常通信,其中,测试指令包含:ping指令和arp请求。
参见图3所示,当协议逆向得到协议格式后,采用单字段变异、多字段变异以及随机变异策略对协议中的动态字段进行变异。单字段变异指的是针对某一个动态字段进行的变异,例如序列号字段、长度字段、功能码字段、数据字段等;多字段变异指的是同时针对多个动态字段进行的变异,例如同时针对长度字段以及数据字段进行的变异;随机变异指的是以上两种变异策略的随机选择,对生成测试用例来说,可以是单字段变异也可以多字段变异,这个过程是随机的。采用上述三种变异策略结合协议逆向结果能够尽可能多的生成有效的测试用例。可采用主动探测的方法监视被测设备在模糊测试过程中是否存在异常;模糊测试一直循环执行,直到被用户中断。
进一步地,本发明还提供一种针对工控私有协议的黑盒模糊测试系统,包含:逆向分析模块和模糊测试模块,其中,
逆向分析模块,用于从工控环境和开源社区中收集协议数据包,通过对协议数据包进行逆向分析来识别字段语义并获取协议格式;根据字段语义构建用于指导模糊测试执行的协议状态机;
模糊测试模块,用于根据协议格式生成测试用例,并利用协议状态机来指导选择状态迁移路径将测试用例发送至被测设备,利用主动探测方法监视被测设备是否存在异常。
参见图4所示,测试执行环节主要负责和被测设备通信过程中的交互。在和被测设备建立连接之后,按照协议状态机的指导把生成的测试用例依次发送给被测设备,同时接收被测设备回复的报文内容,维持和被测设备的正常交互。异常监视环节主要负责在模糊测试过程中对被测设备的异常状态进行监视,如果出现异常状态能够及时作出反应。本发明使用主动探测的方式周期性的发送ping命令以及arp请求测试被测设备是否能够进行正常通信,如果被测设备无法正常通信则说明被测设备可能出现了异常状况,此时及时停止模糊测试过程,输出设备异常信息。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
基于上述的方法和/或系统,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
基于上述的方法和/或系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种针对工控私有协议的黑盒模糊测试方法,其特征在于,包含如下内容:
从工控环境和开源社区中收集协议数据包,通过对协议数据包进行逆向分析来识别字段语义并获取协议格式;根据字段语义构建用于指导模糊测试执行的协议状态机;
根据协议格式生成测试用例,并利用协议状态机来指导选择状态迁移路径将测试用例发送至被测设备,利用主动探测方法监视被测设备是否存在异常。
2.根据权利要求1所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,利用网络抓包工具抓取真实工控环境中的协议数据包,并从代码托管平台的开源社区收集公开的协议数据包,对抓取和收集到的协议数据包进行逆向分析来获取协议的字段语义和协议格式。
3.根据权利要求1或2所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,对协议数据包进行逆向分析中,首先,对协议数据报进行预处理,采用四元组方式过滤无关数据包,通过提取剩余数据包中的消息内容来构建消息序列;然后,针对消息序列,通过多序列比对算法和字段划分算法来获取协议字段结构;利用启发式规则通过识别各字段语义来获取协议格式,并构建协议状态机。
4.根据权利要求3所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,多序列比对算法和字段划分算法对消息序列进行处理中,首先,通过多序列比对算法对齐所有消息序列并获取协议中的动态字段和静态字段,然后,利用字段划分算法划分可变长度字段并合并相邻静态字段,进而得到协议字段结构。
5.根据权利要求4所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,通过多序列比对算法对齐所有消息序列中,以字节为单位进行消息序列比对,首先计算所有消息序列中最长的消息序列长度,在预设偏移范围内遍历所有消息序列并通过填充字符来对齐所有消息序列,其中,预设的偏移范围设置为[0,最长的消息序列长度];并在对齐过程中,通过比较每个字段相似性,通过判断所有消息序列中同一偏移位置内容是否发生变化来标记字段为静态字段或动态字段。
6.根据权利要求4所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,利用字段划分算法划分字段过程中,首先计算所有消息序列中最短的消息序列长度,遍历所有消息序列,将大于该最短的消息序列长度的消息序列长度中的静态字段和动态字段统一合并为可变长度字段,并通过遍历所有动态字段和静态字段,将相邻的静态字段进行合并,得到协议的字段结构。
7.根据权利要求3所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,利用启发式规则通过识别各字段语义来获取协议格式,包含如下内容:依据字段的值是否随通信时间推移进行递增来识别序列号字段,依据字段的值是否随消息序列长度改变来识别长度字段,依据消息序列长度的相似性并通过聚类不同字段的值来识别功能码字段;按照功能码字段相邻原则建立用于表示状态迁移过程的状态迁移对,并通过遍历对状态迁移对进行合并和去重;以功能码字段为顶点,以不同功能码字段的状态迁移为边,利用递归迭代构建有向图,直到所有功能码字段加入到有向图中,形成协议状态机。
8.根据权利要求7所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,根据协议格式,采用多种变异策略生成测试用例,其中,多种变异策略至少包含:对单个动态字段进行变异的单字段变异策略,对多个动态字段进行变异的多字段变异策略,及随机选取单字段变异策略或多字段变异策略的随机变异策略。
9.根据权利要求1所述的针对工控私有协议的黑盒模糊测试方法,其特征在于,利用主动探测方法监视被测设备是否存在异常中,周期性地向被测发送测试指令来测试被测设备是否正常通信,其中,测试指令包含:ping指令和arp请求。
10.一种针对工控私有协议的黑盒模糊测试系统,其特征在于,包含:逆向分析模块和模糊测试模块,其中,
逆向分析模块,用于从工控环境和开源社区中收集协议数据包,通过对协议数据包进行逆向分析来识别字段语义并获取协议格式;根据字段语义构建用于指导模糊测试执行的协议状态机;
模糊测试模块,用于根据协议格式生成测试用例,并利用协议状态机来指导选择状态迁移路径将测试用例发送至被测设备,利用主动探测方法监视被测设备是否存在异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111426597.2A CN114281676B (zh) | 2021-11-27 | 2021-11-27 | 针对工控私有协议的黑盒模糊测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111426597.2A CN114281676B (zh) | 2021-11-27 | 2021-11-27 | 针对工控私有协议的黑盒模糊测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281676A true CN114281676A (zh) | 2022-04-05 |
CN114281676B CN114281676B (zh) | 2024-08-13 |
Family
ID=80870128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111426597.2A Active CN114281676B (zh) | 2021-11-27 | 2021-11-27 | 针对工控私有协议的黑盒模糊测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281676B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065623A (zh) * | 2022-08-15 | 2022-09-16 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种主被动相结合的私有工控协议逆向分析方法 |
CN115097806A (zh) * | 2022-06-10 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | 面向黑盒信息物理系统的自动化安全测试方法及系统 |
CN115883398A (zh) * | 2022-11-25 | 2023-03-31 | 电子科技大学 | 一种针对私有网络协议格式和状态的逆向分析方法及装置 |
CN116991743A (zh) * | 2023-09-01 | 2023-11-03 | 浙江大学 | 一种基于协议逆向的工控设备黑盒模糊测试方法 |
WO2024199050A1 (zh) * | 2023-03-29 | 2024-10-03 | 中兴通讯股份有限公司 | 黑盒模糊测试方法、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018136944A1 (en) * | 2017-01-23 | 2018-07-26 | Hasan Syed Kamran | Universal bchain e3a connections (ubec) |
CN117614874A (zh) * | 2023-11-14 | 2024-02-27 | 国网安徽省电力有限公司信息通信分公司 | 一种基于流量的应用层云协议优化识别方法 |
-
2021
- 2021-11-27 CN CN202111426597.2A patent/CN114281676B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018136944A1 (en) * | 2017-01-23 | 2018-07-26 | Hasan Syed Kamran | Universal bchain e3a connections (ubec) |
CN117614874A (zh) * | 2023-11-14 | 2024-02-27 | 国网安徽省电力有限公司信息通信分公司 | 一种基于流量的应用层云协议优化识别方法 |
Non-Patent Citations (2)
Title |
---|
HOUZHI LIU 等: "A Survey of Security Analysis on Industrial Control Devices via Rehosting", 2023 IEEE 3RD INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY, BIG DATA AND ARTIFICIAL INTELLIGENCE, 28 May 2023 (2023-05-28), pages 407 - 411, XP034372010, DOI: 10.1109/ICIBA56860.2023.10165353 * |
杨亚辉 等: "基于工控私有协议逆向的黑盒模糊测试方法", 计算机科学, 29 December 2022 (2022-12-29), pages 323 - 332 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115097806A (zh) * | 2022-06-10 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | 面向黑盒信息物理系统的自动化安全测试方法及系统 |
CN115065623A (zh) * | 2022-08-15 | 2022-09-16 | 国家计算机网络与信息安全管理中心江苏分中心 | 一种主被动相结合的私有工控协议逆向分析方法 |
CN115883398A (zh) * | 2022-11-25 | 2023-03-31 | 电子科技大学 | 一种针对私有网络协议格式和状态的逆向分析方法及装置 |
CN115883398B (zh) * | 2022-11-25 | 2024-03-22 | 电子科技大学 | 一种针对私有网络协议格式和状态的逆向分析方法及装置 |
WO2024199050A1 (zh) * | 2023-03-29 | 2024-10-03 | 中兴通讯股份有限公司 | 黑盒模糊测试方法、设备及计算机可读存储介质 |
CN116991743A (zh) * | 2023-09-01 | 2023-11-03 | 浙江大学 | 一种基于协议逆向的工控设备黑盒模糊测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114281676B (zh) | 2024-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114281676B (zh) | 针对工控私有协议的黑盒模糊测试方法及系统 | |
CN107241226B (zh) | 基于工控私有协议的模糊测试方法 | |
CN111935170B (zh) | 一种网络异常流量检测方法、装置及设备 | |
Alshammari et al. | Machine learning based encrypted traffic classification: Identifying ssh and skype | |
CN103001811B (zh) | 故障定位方法和装置 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
CN111277578A (zh) | 加密流量分析特征提取方法、系统、存储介质、安全设备 | |
CN110839019A (zh) | 一种面向电力监控系统的网络安全威胁溯源方法 | |
CN112532642B (zh) | 一种基于改进Suricata引擎的工控系统网络入侵检测方法 | |
CN114143037B (zh) | 一种基于进程行为分析的恶意加密信道检测方法 | |
CN112702235A (zh) | 一种对未知协议自动化逆向分析的方法 | |
CN113660209B (zh) | 一种基于sketch与联邦学习的DDoS攻击检测系统及应用 | |
CN105635170A (zh) | 基于规则对网络数据包进行识别的方法和装置 | |
CN113328985A (zh) | 一种被动物联网设备识别方法、系统、介质及设备 | |
CN111835681A (zh) | 一种大规模流量异常主机检测方法和装置 | |
CN112235254B (zh) | 一种高速主干网中Tor网桥的快速识别方法 | |
CN113839925A (zh) | 基于数据挖掘技术的IPv6网络入侵检测方法及系统 | |
Helmke et al. | EPF: An evolutionary, protocol-aware, and coverage-guided network fuzzing framework | |
CN112235242A (zh) | 一种c&c信道检测方法及系统 | |
Dong et al. | Multi-dimensional detection of Linux network congestion based on eBPF | |
CN116094850A (zh) | 基于系统状态追踪图引导的网络协议漏洞检测方法及系统 | |
Shu et al. | A formal methodology for network protocol fingerprinting | |
CN112929364B (zh) | 一种基于icmp隧道分析的数据泄漏检测方法及系统 | |
CN115065592A (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 |