System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种配电台区终端网络协议模糊测试方法、系统及计算机可读存储介质技术方案_技高网

一种配电台区终端网络协议模糊测试方法、系统及计算机可读存储介质技术方案

技术编号:41065805 阅读:5 留言:0更新日期:2024-04-24 11:19
本发明专利技术公开了一种配电台区终端网络协议模糊测试方法、系统及计算机可读存储介质。配电台区终端网络协议模糊测试方法,包括以下步骤:捕获收集并预处理数据集;用RNN对数据集中响应正常的请求MQTT协议报文进行学习,生成模型,再由模型生成测试用例;对测试用例的头部和数据单元进行变异,并将头部和数据单元的变异结果拼接在一起,形成变异后的测试用例;对变异后的测试用例的字节重要性进行自适应调整,得到规范测试用例;将规范测试用例发送至配电台区终端执行模糊测试,监控异常信息,分析记录漏洞,并反馈测试结果。本发明专利技术利用RNN网络学习网络协议的语义,生成测试用例,该方法生成的测试用例接受率高;能更好地触发漏洞,扩展了模糊测试的方法。

【技术实现步骤摘要】

本专利技术涉及一种配电台区终端网络协议模糊测试方法、系统及计算机可读存储介质,属于配电台区安全。


技术介绍

1、随着新型电力系统建设的不断推进,分布式光伏、充电桩、用户储能等电力负荷和储能设备逐渐通过开放的网络接入电网,引发了低压配电网业务形态的演变。配电台区在电力系统中扮演着至关重要的角色,其主要功能在于将高压输电网的电能有效分配至低压配电网,以满足广泛的用户用电需求。由于配电台区终端网络协议类型的多样性、协议交互过程的复杂性以及开发人员在协议开发方面的不足考虑等特点,导致配电台区终端网络协议存在一定的漏洞。不安全的通信机制可能导致在智能终端和云端或者终端之间进行信息通信传输的过程中,容易受到流量分析、窃取、嗅探、重放等网络攻击的影响。这些安全威胁可能进一步导致传输信息的泄露、劫持、篡改等风险。因此,为确保电力系统的可靠性和安全性,有必要对配电台区终端网络协议开展脆弱性分析和安全风险识别。

2、网络协议漏洞挖掘技术主要基于模糊测试技术。该方法通过引入随机、非预期的输入数据探索目标系统中潜在的安全漏洞。随着机器学习技术的发展,部分研究工作对模糊测试进行增强,以更好地发现网络协议中的潜在漏洞。因此对配电台区终端网络协议进行模糊测试方法的研究具有重要的现实意义。

3、然而传统的模糊测试方法存在如下问题:

4、(1)传统方法生成的测试用例的系统接收率往往较低,导致大量的测试用例被系统丢弃,从而浪费了大量的时间。

5、(2)缺乏有目的的变异,导致测试用例的生成缺乏针对性,效率低下。

6、(3)大多数传统方法不具有通过观察被测系统的反馈来调整测试用例生成的自调整功能,因此无法为特定的系统生成特定的测试用例。


技术实现思路

1、为了克服上述现有技术的不足,本专利技术专利提供了一种配电台区物联网络协议模糊测试方法、系统及计算机可读存储介质。

2、为解决上述技术问题,本专利技术所采用的技术方案如下:

3、一种配电台区终端网络协议模糊测试方法,包括以下步骤:

4、捕获收集并预处理数据集;

5、用rnn(循环神经网络)对数据集中响应正常的请求mqtt协议报文进行学习,生成模型,再由模型生成测试用例;

6、对测试用例的头部和数据单元进行变异,并将头部和数据单元的变异结果拼接在一起,形成变异后的测试用例;

7、对变异后的测试用例的字节重要性进行自适应调整,得到规范测试用例;

8、将规范测试用例发送至配电台区终端执行模糊测试,监控异常信息,分析记录漏洞,并反馈测试结果。

9、本专利技术专利针对传统网络协议模糊测试存在测试用例构造困难、代码覆盖率低,测试效率低,质量产生结果差的问题,提出了一种基于循环神经网络的测试用例生成和协议变异的自适应模糊检测方法。首先针对mqtt协议报文,利用rnn网络学习报文语义,输出每个字段的概率分布矩阵,在短时间内生成接收率高的测试例。其次,在测试用例生成阶段,根据设定的变异策略,进行变异,提高测试用例的多样性。其中,对于测试用例的报头部分,依据协议约规,根据变异算子库进行变异;对于测试用例的数据部分,通过比较新生成的字节与模型输入字段之间的语义相似度和随机值大小,决定是否对新生成的字节进行位翻转变异,降低测试用例的整体相似度。将变异的报头部分和数据部分拼接在一起,形成最终变异后的测试用例。最后,采用字节重要性自适应算法提高易触发漏洞的字节的变异概率。

10、此外,当前配电台区终端网络协议的模糊测试全流程相对繁杂,缺乏整体模糊测试应用系统,设计与实现了一个模糊测试的系统,该系统包含了网络协议捕获与收集模块、协议数据预处理模块、测试用例生成模块、模糊测试交互模块、模型测试任务、漏洞分析等各个模块,实现了一个整体的模糊测试流程,实现网络协议模糊测试自动化。

11、mqtt是一种基于发布/订阅模式的“轻量级”通讯协议。mqtt运行在传输控制协议/互联网协议(tcp/ip)堆栈之上。mqtt控制报文由三部分组成。

12、循环神经网络(rnn)是一种深度学习模型,专门用于对序列数据进行建模。其特点在于每个时刻的信息传递和输出受到严密的上下文关系影响。利用rnn模型对mqtt协议进行深入分析,以强化理解其依赖与被依赖关系,并揭示数据值的规则。通过对协议的不同功能码下进行建模,rnn能够以概率分布的形式表示协议有效载荷部分的内在规律。因此,选择采用rnn模型作为测试用例生成的工具,以深入挖掘协议的复杂特性和潜在漏洞。

13、报文头部触法的漏洞一般会引发地址越界、格式化字符串、缓冲区溢出、整数溢出、逻辑错误以及拒绝服务等问题,这些漏洞通常是程序或设备未对报文中的关键字段做逻辑处理、边界值未经处理、长度过长以及存在特殊字符等原因造成的。例如:缓冲区溢出是因为未对传入数据帧长度边界值做检查,空指针漏同的存在是因为未做判断处理操作,地址越界的存在也是因为没有对数据帧内容做边界值检查等。

14、针对引发漏洞的异常数据帧集合、异常数据帧特征来设定变异方法,通过改变报文的长度特征、报文中涉及的特殊字符来设定变异方法。

15、配电台区终端网络协议的模糊测试主要是对终端网络协议的格式规范利用深度学习模型分析,并使生成模型生成出大量相同格式信息的模拟通讯数据,此模拟数据可通过协议服务端的格式校监,能够正常输入到服务器中并与其进行交互。但这些模拟数据存在不确定性与随机性,能够触发正常通信协议报文无法触发的异常情况,这些异常情况往往存在漏洞风险。将模拟数据通过连接数据端进行模糊测试,通过对协议数据端的异常情况进行监控,从而达到目标漏洞检测的效果。通过对终端网络协议的模糊测试能够发现协议接收端或服务端的安全漏洞风险,减少安全风险威胁。

16、上述预处理包含分析数据帧格式、进制转换、数据帧的扩增、数据帧对齐﹑数据聚类和数据归一化处理。

17、上述用rnn对数据集中响应正常的请求mqtt协议报文进行学习,用于对mqtt协议报文进行深度语义学习,确定rnn的权重等参数;生成rnn模型,包括mqtt协议报文语义分析部分和生成策略部分,mqtt协议报文语义分析部分负责当新字段输入时,rnn可以确定下一生成字段的概率分布;生成策略部分根据变异策略负责生成下一个协议字段。

18、上述生成策略部分根据mqtt协议报文语义分析部分输出的当前时刻的概率分布,进行变异生成测试用例,而mqtt协议报文语义分析部分将生成策略部分所生成的协议字段作为下一个时刻的输入字段,结合所学的语义输出下一个时刻协议字段的概率分布,以此循环往复直至生成一条完整的测试用例的所有字段。

19、上述对测试用例的头部进行变异为对字段间的相似性匹配以及报文段大小的边界值做变异,根据已知的协议字段特点定义的初始变异算子。

20、在生成阶段,由rnn模型直接生成的测试用例使用贪婪策略,softmax的最大概率选项被用作该位置的输出值。本文档来自技高网...

【技术保护点】

1.一种配电台区终端网络协议模糊测试方法,其特征在于:包括以下步骤:

2.如权利要求1所述的配电台区终端网络协议模糊测试方法,其特征在于:预处理包含分析数据帧格式、进制转换、数据帧的扩增、数据帧对齐﹑数据聚类和数据归一化处理。

3.如权利要求1或2所述的配电台区终端网络协议模糊测试方法,其特征在于:用RNN对数据集中响应正常的请求MQTT协议报文进行学习,用于对MQTT协议报文进行深度语义学习,确定RNN的参数;生成模型,包括MQTT协议报文语义分析部分和生成策略部分,MQTT协议报文语义分析部分负责当新字段输入时,RNN确定下一生成字段的概率分布;生成策略部分根据变异策略负责生成下一个协议字段。

4.如权利要求3所述的配电台区终端网络协议模糊测试方法,其特征在于:生成策略部分根据MQTT协议报文语义分析部分输出的当前时刻的概率分布,进行变异生成测试用例,而MQTT协议报文语义分析部分将生成策略部分所生成的协议字段作为下一个时刻的输入字段,结合所学的语义输出下一个时刻协议字段的概率分布,以此循环往复直至生成一条完整的测试用例的所有字段。

5.如权利要求1或2所述的配电台区终端网络协议模糊测试方法,其特征在于:对测试用例的头部进行变异为对字段间的相似性匹配以及报文段大小的边界值做变异,根据已知的协议字段特点定义的初始变异算子。

6.如权利要求1或2所述的配电台区终端网络协议模糊测试方法,其特征在于:基于单词旋转体距离WRD算法的协议相似性对测试用例的数据单元进行变异,每当生成一个测试用例时,按照如下方法对对测试用例的数据单元进行变异:

7.如权利要求6所述的配电台区终端网络协议模糊测试方法,其特征在于:相似度S的计算方法如下:

8.如权利要求7所述的配电台区终端网络协议模糊测试方法,其特征在于:字节突变使用位翻转突变方法,先将新生成的字节转换为二进制,然后逐位翻转二进制,将位翻转后的二进制重新转换为十六进制,作为字节的最终输出。

9.如权利要求1或2所述的配电台区终端网络协议模糊测试方法,其特征在于:利用公式(6)对变异后的测试用例的字节重要性进行自适应调整:

10.一种配电台区终端网络协议模糊测试系统,其特征在于:包括以下模块:配电台区终端网络协议捕获收集模块、协议数据预处理模块、测试用例生成模块、模糊测试交互模块、监控模块、模型测试任务模块和漏洞分析模块;

11.如权利要求10所述的配电台区终端网络协议模糊测试系统,其特征在于:预处理包含分析数据帧格式、进制转换、数据帧的扩增、数据帧对齐﹑数据聚类和数据归一化处理;

12.如权利要求10或11所述的配电台区终端网络协议模糊测试系统,其特征在于:对测试用例的头部进行变异为对字段间的相似性匹配以及报文段大小的边界值做变异,根据已知的协议字段特点定义的初始变异算子;

13.如权利要求12所述的配电台区终端网络协议模糊测试系统,其特征在于:相似度S的计算方法如下:

14.如权利要求10或11所述的配电台区终端网络协议模糊测试系统,其特征在于:利用公式(6)对变异后的测试用例的字节重要性进行自适应调整:

15.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于:计算机程序被处理器执行时实现如权利要求1至9中任一项所述的配电台区终端网络协议模糊测试方法的步骤。

...

【技术特征摘要】

1.一种配电台区终端网络协议模糊测试方法,其特征在于:包括以下步骤:

2.如权利要求1所述的配电台区终端网络协议模糊测试方法,其特征在于:预处理包含分析数据帧格式、进制转换、数据帧的扩增、数据帧对齐﹑数据聚类和数据归一化处理。

3.如权利要求1或2所述的配电台区终端网络协议模糊测试方法,其特征在于:用rnn对数据集中响应正常的请求mqtt协议报文进行学习,用于对mqtt协议报文进行深度语义学习,确定rnn的参数;生成模型,包括mqtt协议报文语义分析部分和生成策略部分,mqtt协议报文语义分析部分负责当新字段输入时,rnn确定下一生成字段的概率分布;生成策略部分根据变异策略负责生成下一个协议字段。

4.如权利要求3所述的配电台区终端网络协议模糊测试方法,其特征在于:生成策略部分根据mqtt协议报文语义分析部分输出的当前时刻的概率分布,进行变异生成测试用例,而mqtt协议报文语义分析部分将生成策略部分所生成的协议字段作为下一个时刻的输入字段,结合所学的语义输出下一个时刻协议字段的概率分布,以此循环往复直至生成一条完整的测试用例的所有字段。

5.如权利要求1或2所述的配电台区终端网络协议模糊测试方法,其特征在于:对测试用例的头部进行变异为对字段间的相似性匹配以及报文段大小的边界值做变异,根据已知的协议字段特点定义的初始变异算子。

6.如权利要求1或2所述的配电台区终端网络协议模糊测试方法,其特征在于:基于单词旋转体距离wrd算法的协议相似性对测试用例的数据单元进行变异,每当生成一个测试用例时,按照如下方法对对测试用例的数据单元进行变异:

7.如权利要求6所述的配电台区终端网络协议...

【专利技术属性】
技术研发人员:吕卓常昊陈岑郭志民张伟剑狄立李暖暖张铮李鸣岩蔡军飞
申请(专利权)人:国网河南省电力公司电力科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1