[发明专利]一种基于神经网络的混合网络模糊测试工具有效
申请号: | 202110379602.2 | 申请日: | 2021-04-08 |
公开(公告)号: | CN113114534B | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 苏煜程;张向宇 | 申请(专利权)人: | 苏煜程 |
主分类号: | H04L43/18 | 分类号: | H04L43/18;H04L43/50;H04L9/40;H04L67/56;G06F21/57;G06K9/62;G06N3/08 |
代理公司: | 北京沃知思真知识产权代理有限公司 11942 | 代理人: | 周俊华 |
地址: | 545001 广西壮族自治区柳州*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 神经网络 混合 网络 模糊 测试 工具 | ||
1.一种基于神经网络的混合网络模糊测试工具,其特征在于,该测试工具的测试方法具体步骤如下:
(1)数据流量包收集与处理:收集现网数据流量包并进行聚类划分处理生成种子数据;
(2)开始执行模糊测试:启动混合模糊测试引擎开始进行模糊测试;
(3)开始启动机器学习:模糊测试达到一定时间后启动机器学习;
(4)更新网络协议:对原始的网络协议序列进行更新;
(5)启动辅助程序与网络服务程序:网络中间代理设备开始启动辅助程序与网络服务程序;
(6)对漏洞处进行标记:辅助程序对网络服务程序进行检测同时对漏洞位置进行标记处理生成漏洞数据;
(7)漏洞类型分析与反馈:对漏洞数据进行分析并反馈给使用者;
步骤(2)中所述混合模糊测试引擎启动并开始收集种子数据进行模糊测试,通过符号执行与模糊测试的混合测试生成目标数据,其具体混合测试步骤如下:
第一步:当模糊测试卡住时,调用符号执行部分,符号执行开始分析应用,根据种子数据得到的输入值来限制用户输入;
第二步:根据fuzzer得到的输入,符号执行开始优化,识别执行未探索过的路径的输入,当符号执行发现新的输入,立即传递回Fuzzing部分;
第三步:Fuzzing部分根据这些输入产生变异,模糊执行新的ACom,同时模糊测试引擎在Fuzzing和符号执行之间循环执行,直到发现导致Crash的输入原因并将其处理生成模板数据,其中,Fuzzing即模糊测试;
步骤(3)中当所述模糊测试在混合模糊测试引擎中执行多轮后,机器学习开始启动并收集模板数据进行分析学习并生成更新数据,其具体分析学习步骤如下:
S1、分析混合测试流程过程中已经产生的模板数据并将其作为输入样本;
S2、调用afl的覆盖率检测模块,通过学习分析Crash与覆盖率的关系,梯度引导输入生成过程并识别具有最高梯度值的输入字节;
S3、分析并判断有助于提升覆盖率的变异位置,将变异的权重模型作为产生器,将步骤(1)中收集的现网数据流量包再次输入产生器产生大量的种子数据,重复进行多次机器学习并生成更新数据;
步骤(4)中所述网络协议序列通过接受模糊测试与机器学习的混合测试生成的更新数据开始进行协议更新处理,其具体协议更新步骤如下:
SS1、将原始网络协议数据包文件集合生成的基本块序列进行统计,得到一个概率模型;
SS2:根据基本块之间的转移概率,迭代地生成新的基本块,直到生成end,迭代结束,最后就生成了新的完整的基本块序列,也就是新的网络协议数据包序列;
SS3:通过不断的迭代,网络协议序列生成器开始拟合出基本块序列和对应网络协议数据包的序列之间的函数关系,将新的网络协议序列进行连接,并加上修饰数据,就完成了最终的网络协议序列的生成;
步骤(5)中所述网络中间代理设备接收新的网络协议序列后开始启动辅助程序与网络服务程序进行交互,网络中间代理设备为集线器、中继器或交换机中的一种,其具体交互步骤如下:
Ⅰ、启动辅助程序,辅助程序检查网络服务程序是否启动,若未启动,则启动待测的网络服务程序;
Ⅱ、环境变量将传输待测网络服务程序中,网络服务程序在测试时记录覆盖率信息并发送到当前的共享内存中;
Ⅲ、进行新的测试时,辅助程序重复读取输入、将输入通过网络发送至目标网络服务程序的流程。
2.根据权利要求1所述的一种基于神经网络的混合网络模糊测试工具,其特征在于,步骤(1)中所述现网数据流量包通过不同收集软件进行收集,不同收集软件包括LipPcap、WinPcap以及JPcap,将收集到的现网数据流量包进行聚类划分并处理生成种子数据,其具体聚类划分步骤如下:
步骤一:将现网数据流量包按照不同类型进行分类,不同类型包括ICMP、ICMPv4、TCP、UDP、IPv4与IPv6;
步骤二:将ICMP、ICMPv4、TCP、UDP、IPv4与IPv6数据通过对抗式生成网络来自动化地构建Fuzz数据;
步骤三:构造大量的Fuzz数据并处理生成种子数据。
3.根据权利要求1所述的一种基于神经网络的混合网络模糊测试工具,其特征在于,步骤(6)中所述辅助程序通过监测网络服务器程序失去相应包位置来对漏洞位置进行标记并处理生成漏洞数据。
4.根据权利要求1所述的一种基于神经网络的混合网络模糊测试工具,其特征在于,步骤(7)中所述漏洞数据通过Crash处理模块进行分析,同时使用符号执行模块来解析Crash的产生路径以及最后的内存状态得出具体的漏洞类型并反馈给使用者。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏煜程,未经苏煜程许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110379602.2/1.html,转载请声明来源钻瓜专利网。