利索能及
我要发布
收藏
专利号: 2025101054331
申请人: 燕山大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.基于增强上下文信息的网络协议模糊测试系统,其特征在于,包括:增强上下文信息模块,用于获取状态信息和种子信息,并通过轨迹相邻Call指令插桩增强上下文信息,所述上下文信息是指所述网络协议模糊测试系统通过持续监控收集和分析测试程序的行为而获得的各种反馈数据和运行时的信息,所述轨迹相邻Call指令插桩是指在网络协议程序编译阶段插入Call指令分析代码,以获取程序运行时与执行轨迹相邻的Call指令数量;

状态选择模块,用于根据LinUCB选择算法选择用于模糊测试的目标状态,所述LinUCB选择算法基于状态的上下文向量和奖励得出目标状态;

种子选择模块,用于根据三元种子选择算法选择用于模糊测试的目标种子;所述三元种子选择算法从种子池的每个种子中提取出种子标签、执行信息和会话信息计算种子价值,进而依据种子价值得出目标种子。

2.根据权利要求1所述的基于增强上下文信息的网络协议模糊测试系统,其特征在于,所述增强上下文信息模块中,所述Call指令分析代码分为条件基本块Call指令分析代码和条件后继基本块Call指令分析代码;所述条件后继基本块Call指令分析代码中包含基本块编号、共享内存Cur_Map以及基本块中调用非系统函数和库函数的Call指令的数量N;所述条件后继基本块Call指令分析代码将数量N存储到Cur_Map[n],n表示基本块编号最大值;

所述条件基本块Call指令分析代码由多个后继关联条件基本块代码组成;

所述后继关联条件基本块代码包含关联的后继基本块编号、共享内存Succ_Map以及关联的后继基本块中调用非系统函数和库函数的Call指令的数量M;所述后继关联条件基本块代码将数量M存储到Cur_Map[m],m表示后继基本块编号最大值;

所述执行轨迹相邻的Call指令数量通过累加Succ_Map中有价值元素得到,所述Succ_Map中的有价值元素具有某一索引中元素值不为零且在Cur_Map中相同索引的元素值为零的特征。

3.根据权利要求1所述的基于增强上下文信息的网络协议模糊测试系统,其特征在于,所述状态的上下文向量是指从状态分支预测、状态的种子生成能力、状态的种子池质量、状态执行深度以及状态关联程度,评价状态的探索价值;

所述状态的奖励是对状态在模糊测试中的表现给出奖励得分,用于评价状态的利用价值;所述状态的表现优劣以状态在模糊测试中的状态转移能力以及状态发现路径数量确定。

4.根据权利要求3所述的基于增强上下文信息的网络协议模糊测试系统,其特征在于,状态分支预测PP是指当状态被选择时状态发现唯一路径的能力,其计算公式为:;

其中,Cp表示状态过去发现的唯一路径数量,Nst表示状态被选择次数,max(Ctac)表示所述执行轨迹相邻Call指令数量指标的最大值;

状态的种子生成能力SG是指到达状态的测试用例转换为种子的数量,其计算公式为:;

其中,Cp表示状态过去发现的唯一路径数量,Ns表示模糊测试过程中状态被访问次数,Np状态下种子池的种子数量;

状态的种子池质量SQ表示在种子池中的种子能够发现唯一路径的能力,其计算公式为:;

其中,Cp表示状态过去发现的唯一路径数量,Ctac表示所述执行轨迹相邻Call指令数量,Np状态下种子池的种子数量;

状态执行深度ED表示从SUT执行过程中的执行时间推断出的状态深度,其计算公式为:;

其中,Tae表示种子一次执行平均耗费时间,Tape表示种子前缀消息序列平均执行时间;

状态关联程SA表示状态转移的数量,并反映了状态中种子的多样性,其计算公式为:;

其中,Di和Do分别表示从所述其他状态到一个状态的转移数量和从一个状态到所述其他状态的转移数量;

所述状态的上下文向量v的构建方式为:

其中,T表示矩阵的转置;

所述奖励的计算公式为:

其中,r表示状态的奖励,δ表示倾向路径数量或状态转换的权重系数, Ctp表示触发测试状态的路径数量,Cop表示触发其他状态的路径数量,Ctr表示测试状态被触发次数,Cor表示其他状态被触发次数;所述测试状态指的是触发目标状态的原始的种子所触发的下一状态,所述其他状态指的是原始的种子生成的测试案例触发目标状态的下一状态且非测试状态。

5.根据权利要求4所述的基于增强上下文信息的网络协议模糊测试系统,其特征在于,所述状态选择模块中,确定目标状态的过程具体包括:计算每个状态的置信上界,其计算公式为:

其中,ps表示状态为s时的置信上界,As表示状态为s时的协方差矩阵,bs表示状态为s时的累积状态回报向量,vs表示状态为s时的上下文向量,α表示探索的权重因子,T表示矩阵的转置;

将最高的置信上界对应的状态作为目标状态st,其计算公式为:;

其中,S表示状态的集合;

协方差矩阵A使用大小为5*5的单位矩阵初始化,并且当目标状态st被选中用于测试之后利用上下文向量计算更新后的协方差矩阵A',其计算公式为:;

表示状态为目标状态st时的协方差矩阵, 表示状态为目标状态st时的上下文向量;

所述累积状态回报向量使用5*1零向量进行初始化,并且当目标状态st被选中用于测试之后利用状态的奖励和上下文向量计算得到新的累积状态回报向量 ,其计算公式为:;

其中, 表示状态为目标状态st时的累积状态回报向量。

6.根据权利要求1所述的基于增强上下文信息的网络协议模糊测试系统,其特征在于,所述种子价值主要以部分执行信息和会话信息作为底数和以种子标签为指数两部分进行指数运算,并随着模糊测试中资源消耗的增加而降低,所述种子价值的指数基于种子标签中种子是否被测试、是否被喜爱、是否在当前状态生成和是否发现过新边确定;

所述种子价值的底数基于种子协议程序中执行时所生成的反馈信息、种子与协议程序通信过程中产生的信息影响确定。

7.根据权利要求6所述的基于增强上下文信息的网络协议模糊测试系统,其特征在于,所述种子选择模块中,所述种子价值的计算公式为:;

其中,value表示种子价值,b表示种子价值的底数,p表示种子价值的指数,ε表示减少种子价值的指数权重,表示种子池中所有种子的执行时间的均值,Blp、Nss和Te分别表示种子传输过程中是否丢包、种子选择次数以及种子的执行时间;当种子传输过程中丢包时,Blp=1,当种子传输过程中未丢包时,Blp=0;

所述种子价值的底数b的计算公式为:

其中,Ctac表示所述执行轨迹相邻Call指令数量,Ne表示种子的执行轨迹中边数量,Ch表示种子的状态转换命中次数; 为所有种子的状态转换命中次数的平均值, 为所有种子的执行轨迹中边数量的平均值;

所述种子价值的指数p的计算公式为:

其中,种子标签组成的标签集合 ,li表示所述的标签集合中的第i个元素,n表示所述的标签集合内元素的总数,Bcov、Bfr、Bsg、Bpd分别表示种子是否发现过唯一边、种子在当前模糊测试轮次中是否拥有喜爱的路径、种子是否在当前状态生成以及种子的候选子序列是否被用于模糊测试,k为标签集合中的标签数量,μ和β分别表示标签集合的最小阈值和最小指数值;当种子发现过唯一边时,则Bcov=1,当种子未发现过唯一边时,则Bcov=0;当种子在当前模糊测试轮次中拥有喜爱的路径时,Bfr=1,当种子在当前模糊测试轮次中未拥有喜爱的路径时,Bfr=0;当种子在当前状态生成时,Bsg=1,当种子未在当前状态生成时,Bsg=0;当种子的候选子序列被用于模糊测试时,Bpd=1;当种子的候选子序列未被用于模糊测试时,Bpd=0。