恭喜杭州电子科技大学秦雨雨获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网恭喜杭州电子科技大学申请的专利基于跨多状态的协议模糊测试方法及系统获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119782191B 。
龙图腾网通过国家知识产权局官网在2025-05-27发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202510281101.9,技术领域涉及:G06F11/3668;该发明授权基于跨多状态的协议模糊测试方法及系统是由秦雨雨;王然;徐向华设计研发完成,并于2025-03-11向国家知识产权局提交的专利申请。
本基于跨多状态的协议模糊测试方法及系统在说明书摘要公布了:本发明涉及基于跨多状态的协议模糊测试方法及系统,其方法包括如下步骤:S1:对目标协议实体程序进行预处理,做测试准备;S2:进行模糊测试,在模糊测试过程中包括递归选择字段组合阶段和有价值种子的替换与变异阶段,并同步进行变异字段关系表的更新和变异字段选择概率表的更新;S3:对结果信息进行反馈。其系统包括测试准备模块、模糊测试模块、结果信息反馈模块。本发明利用字段关系的传递性对所有相邻相关状态的数据模型的字段进行组合变异,减少了不必要的变异操作,并高效利用变异字段关系进行组合变异,并通过引入状态数据模型间的字段关系表和概率选择表,提高分支覆盖率和测试多样性,有效提升测试效率。
本发明授权基于跨多状态的协议模糊测试方法及系统在权利要求书中公布了:1.基于跨多状态的协议模糊测试方法,其特征在于:包括如下步骤:S1:对目标协议实体程序进行预处理,做测试准备;S2:进行模糊测试,在模糊测试过程中包括递归选择字段组合阶段和有价值种子的替换与变异阶段,并同步进行变异字段关系表的更新和变异字段选择概率表的更新;S3:对结果信息进行反馈;所述步骤S1的具体步骤包括:S1.1:使用插桩编译工具对目标协议实体程序进行插桩编译,生成对应的二进制可执行文件;S1.2:结合目标协议实体程序的官方协议规范,使用Boofuzz模糊测试框架提供的数据模型定义函数来定义协议的数据模型集合,其计算公式为: ={,...,,...,},i=1,…,n,其中,n为数据模型总数;S1.3:使用Boofuzz模糊测试框架提供的状态模型定义函数来定义协议的状态模型集合,其计算公式为: ={,...,,...,},j=1,…,m,其中,代表一个状态模型,状态模型由数据模型集合中若干个数据模型组成,m为状态模型集合的长度;S1.4:运行步骤S1.1生成的二进制可执行文件,并开辟大小为64KB的共享内存ShareMem,实时统计目标协议实体程序的覆盖分支信息;所述步骤S2的具体步骤包括:S2.1:状态模型选择;从状态模型集合中按顺序选出一个状态模型,转向步骤S2.2,如果状态模型集合遍历结束,则重新进入步骤S2.1,直至设定的测试时间结束;S2.2:数据模型选择;依据上述步骤S2.1中的状态模型中数据模型的顺序关系,遍历状态模型得到数据模型,并且初始化数据模型的变异值,转向步骤S2.3,如果针对状态模型的遍历结束,则重置目标协议实体程序为初始状态并转向步骤S2.1,初始化数据模型的变异值的计算公式为: =DM,其中,为初始化数据模型的变异值,DM为固定变异次数,其取值是在选择字段变异阶段,在数据模型下生成的新的测试用例数量;S2.3:递归选择字段组合阶段;提取数据模型中包含多个变异字段组成的变异字段集合,其计算公式为: ={,...,,...,},i=1,…,n,f=1,…,k,其中,n为数据模型总数,k为数据模型中包含的变异字段的数量;变异字段关系表是一个前缀树的树状数据结构,用于处理字符串的前缀匹配,每个非叶节点保存的字符串为数据模型名或字段下标,叶节点另外包含具体的关系值value;变异字段选择概率表是一个前缀树的树状数据结构,用于处理字符串的前缀匹配,每个非叶节点保存的字符串为数据模型名或字段下标,叶节点另外包含具体的选择概率值probability;在变异字段选择概率表的指导下,使用树状数组的概率选择算法依据概率从变异字段关系表中选择出一个字段关系元组(,),其中是当前数据模型的模型名和变异字段下标拼接的字符串,是当前数据模型在状态模型中的前一个数据模型的模型名和变异字段下标拼接的字符串,然后根据去变异字段关系表中选择数据模型在状态模型中的前一个数据模型的字段关系元组,如果字段与前一个数据模型的所有字段关系值value为0,则在与前一个数据模型的所有字段集合中选择,直到遍历完状态模型中的数据模型;将所有选择的字段关系元组加入到字段关系元组集合,在每一次测试后将字段关系元组集合清空;将字段关系元组集合中的每一个变异字段加入变异字段集合,在每一次测试后将该集合清空;S2.4:有价值种子的替换与变异阶段;对步骤S2.3的变异字段集合中每一个字段进行变异或值替换,将所有变异后的字段加入变异字段值集合中,在每一次测试后将变异字段值集合清空;生成数据模型变异后的数据包,进而形成数据包集合,其计算公式为: ={,...,,...,},l=1,…,s,其中,s为状态模型中数据模型的总数,在每一次测试后将该集合清空;将数据包集合中的数据包按照状态模型的顺序组合,进而生成测试用例;测试用例中包含状态模型中每一个数据模型进行字段变异或值替换后的数据包;S2.5:将测试用例注入到目标协议实体程序,统计开辟的共享内存ShareMem的覆盖分支信息与目标协议实体程序返回的状态信息;所述步骤S2的具体步骤还包括:当步骤S2.4中生成的测试用例使得目标协议实体程序发生崩溃时,则进行异常日志记录并且保存测试用例,用于测试结束后的漏洞分析工作;将所述步骤S2.4收集到的变异字段值集合中增加覆盖分支的值,加入到有价值种子池中,优先使用有价值种子池中的值进行替换或变异;在步骤S2的变异字段关系表和变异字段选择概率表更新阶段中,更新变异字段关系表中各个相关变异字段的关系值以及变异字段选择概率表的概率值,并对其进行定量的表示,具体步骤包括:S2.6:收集步骤S2.5的覆盖分支信息;在每次测试用例执行完后,判断是否有新的覆盖分支,如果有新覆盖分支,则进入步骤S2.7和步骤S2.8,如果没有,则重新进入步骤S2.4;S2.7:变异字段关系表中关系值和变异字段选择概率表的概率值的更新,对于步骤S2.3的字段关系元组集合中的所有字段元组去变异字段关系表中更新关系值,去变异字段选择概率表中更新概率值;S2.8有价值种子池的更新;变异字段关系表中关系值value的更新,具体步骤为查找字段关系元组集合中的每一个字段关系元组(,)拼接而成的字符串,搜索到具体的叶节点,将对应的叶节点的value值加1;变异字段选择概率表中概率值更新,具体步骤为:对变异字段关系表作前缀匹配,具体步骤为查找字段关系元组集合中的每一个字段关系元组(,)的前半部分拼接而成的字符串,将返回与有关的所有变异字段即叶节点,叶节点的value为关系值,将value作概率映射,使用到softmax公式,公式如下: ,其中,probability表示字段关系元组(,)的选择概率;的取值从1到v,表示为与第i个数据模型下标为0的字段所有关系字段的个数;然后在变异字段选择概率表中根据字段关系元组(,)拼接而成的字符串,搜索到具体的叶节点,将对应叶节点的probability更新。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人杭州电子科技大学,其通讯地址为:310018 浙江省杭州市钱塘区白杨街道2号大街1158号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。