1.一种网络协议模糊测试方法,其特征在于,包括:
2.根据权利要求1所述的网络协议模糊测试方法,其特征在于,对所述网络协议进行分析,确定所述网络协议的状态变量包括:
3.根据权利要求1所述的网络协议模糊测试方法,其特征在于,监控所述状态变量的变化,构建状态转换树包括:
4.根据权利要求2所述的网络协议模糊测试方法,其特征在于,所述状态转换树的节点为网络协议运行期间状态变量的值;每个节点具有一个父节点和零个或多个子节点。
5.根据权利要求4所述的网络协议模糊测试方法,其特征在于,在只有一个状态变量时,所述状态转换树节点的父节点和子节点分别为该节点创建之前的状态变量值和该节点创建之后的状态变量值;在存在多个状态变量时,所述状态转换树节点的父节点和子节点分别为不同状态变量值。
6.根据权利要求1所述的网络协议模糊测试方法,其特征在于,对所述状态转换树进行分析,选择所述状态转换树当前最感兴趣的协议状态包括:
7.根据权利要求1所述的网络协议模糊测试方法,其特征在于,还包括:
8.一种网络协议模糊测试系统,其特征在于,包括:
9.根据权利要求8所述的网络协议模糊测试系统,其特征在于,所述初始数据获取模块在对所述网络协议进行分析,确定所述网络协议的状态变量时,查找所述网络协议中的枚举型的所有变量,并从枚举型的所有变量中,确定正则表达式能够识别状态的变量,即为所述网络协议的状态变量。
10.根据权利要求8所述的网络协议模糊测试系统,其特征在于,所述状态转换处理模块在监控所述状态变量的变化,构建状态转换树时,对所述状态变量进行赋值,并监控所述状态变量赋值后的值序列变化;根据所述值序列变化,构建状态转换树。
11.根据权利要求10所述的网络协议模糊测试系统,其特征在于,所述状态转换树的节点为网络协议运行期间状态变量的值;每个节点具有一个父节点和零个或多个子节点。
12.根据权利要求11所述的网络协议模糊测试系统,其特征在于,在只有一个状态变量时,所述状态转换树节点的父节点和子节点分别为该节点创建之前的状态变量值和该节点创建之后的状态变量值;在存在多个状态变量时,所述状态转换树节点的父节点和子节点分别为不同状态变量值。
13.根据权利要求8所述的网络协议模糊测试系统,其特征在于,所述状态转换处理模块在对所述状态转换树进行分析,选择所述状态转换树当前最感兴趣的协议状态时,利用预先配置的状态选择算法对所述状态转换树进行分析,选择所述状态转换树当前最感兴趣的协议状态。
14.根据权利要求8所述的网络协议模糊测试系统,其特征在于,还包括:
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。