基于范式语法和强化学习的工控协议模糊测试方法及系统
技术特征:
1.一种基于范式语法和强化学习的工控协议模糊测试方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种基于范式语法和强化学习的工控协议模糊测试方法,其特征在于:步骤s1中对语法树进行实例化得到变异树包括以下步骤:将所述工控协议的报文作为根节点,报文中的各个字段作为子节点,根据所述工控协议的abnf描述计算每个字段的字节长度,以每个字段的中间字节为界限将子节点划分为两个中间子节点,重复执行划分操作,直到中间子节点只包含一个字节,将单字节的中间子节点作为叶子节点,构造工控协议的变异树。
3.根据权利要求1所述的一种基于范式语法和强化学习的工控协议模糊测试方法,其特征在于:步骤s2中对变异树进行变异包括以下步骤:将权重大于预设阈值的叶子节点作为预选变异点,随机选取若干个预选变异点作为变异节点,制定多种变异策略,采用启发式算法为每个变异节点选择变异策略,所述变异策略包括类型变异、操作变异和组合字段变异。
4.根据权利要求3所述的一种基于范式语法和强化学习的工控协议模糊测试方法,其特征在于:所述类型变异根据变异树的叶子节点的字符类型选择变异策略:
5.根据权利要求3所述的一种基于范式语法和强化学习的工控协议模糊测试方法,其特征在于:所述操作变异随机选择以下策略对变异树进行变异:
6.根据权利要求3所述的一种基于范式语法和强化学习的工控协议模糊测试方法,其特征在于:所述组合字段变异将权重最接近的两个叶子节点组合为一个新的叶子节点。
7.根据权利要求1所述的一种基于范式语法和强化学习的工控协议模糊测试方法,其特征在于:步骤s3中根据模糊测试结果对各叶子节点的权重进行更新包括以下步骤:
8.一种基于范式语法和强化学习的工控协议模糊测试系统,基于如权利要求1至7任一项所述的一种基于范式语法和强化学习的工控协议模糊测试方法实现,其特征在于:包括范式语法描述模块、变异模块、用例生成模块和强化学习模块;
9.一种电子设备,包括:存储器、处理器和计算机程序,其特征在于:所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现权利要求1~7任一项所述的一种基于范式语法和强化学习的工控协议模糊测试方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1~7任一项所述的一种基于范式语法和强化学习的工控协议模糊测试方法。
技术总结
本发明公开了一种基于范式语法和强化学习的工控协议模糊测试方法及系统,所述方法包括以下步骤:使用扩展巴克斯范式ABNF描述工控协议的结构,识别出工控协议的报文中的各个字段,构造工控协议的语法树,对所述语法树进行实例化得到变异树,初始化所述变异树中每个叶子节点的权重;根据权重的大小选择需要变异的叶子节点,对变异树进行变异,遍历变异后的变异树得到测试用例,将所述测试用例发送到所述工控协议进行模糊测试;根据模糊测试结果对各叶子节点的权重进行更新,利用上述方法得到新的测试用例;重复以上步骤,直到达到设定的迭代次数。本发明有效地提高了测试用例的覆盖率和异常检测的能力。
技术研发人员:向剑文,廖松松,郑倩荣,周俊伟,赵冬冬,郝蕊,田璟
受保护的技术使用者:武汉理工大学
技术研发日:
技术公布日:2024/11/28
技术研发人员:向剑文,廖松松,郑倩荣,周俊伟,赵冬冬,郝蕊,田璟
技术所有人:武汉理工大学
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
