恭喜杭州电子科技大学王然获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网恭喜杭州电子科技大学申请的专利基于响应信息的有状态协议模糊测试方法及系统获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119645883B 。
龙图腾网通过国家知识产权局官网在2025-05-06发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202510174601.2,技术领域涉及:G06F11/3668;该发明授权基于响应信息的有状态协议模糊测试方法及系统是由王然;洪宇;徐向华设计研发完成,并于2025-02-18向国家知识产权局提交的专利申请。
本基于响应信息的有状态协议模糊测试方法及系统在说明书摘要公布了:本发明涉及基于响应信息的有状态协议模糊测试方法及系统,其方法包括如下步骤:S1:预处理阶段S2:模糊测试阶段;S3:状态选择阶段;S4:种子调度阶段。其系统包括测试准备模块、模糊测试模块、状态选择模块、种子调度模块。本发明通过对待测协议实体程序的源代码进行静态分析捕获其中的枚举类型变量的分配和使用。本发明通过分析被测程序的响应结果信息,提取响应头字段,在响应码表示状态的基础上,进一步细分状态,有效的区分了同一种子中多个相同状态码表示的状态,使用抵达目标状态的响应头字段信息和覆盖率信息对种子价值和变异位置进行调整,显著提升了有状态协议模糊测试的代码覆盖率,发现更多漏洞,大幅提高了模糊测试效率。
本发明授权基于响应信息的有状态协议模糊测试方法及系统在权利要求书中公布了:1.基于响应信息的有状态协议模糊测试方法,其特征在于:包括如下步骤:S1:预处理阶段;对被测程序进行编译插桩,准备被测程序和初始种子文件,并构建模糊器初始状态、种子、覆盖信息;S2:模糊测试阶段;生成抵达目标状态的前缀报文,标记种子的变异位置,评估种子的变异能量和变异次数,对种子进行变异生成测试用例发送给被测程序,并分析响应信息,获取状态池与目标状态的种子队列;S3:状态选择阶段;遍历状态池中的状态,计算每个状态的状态价值,选择具有最高价值的状态进行模糊测试;S4:种子调度阶段;计算种子价值,从目标状态的种子队列中选择种子进行模糊测试;所述步骤S1具体包括如下步骤:S1.1:使用插桩编译工具对被测程序进行插桩编译,生成对应的二进制可执行文件;S1.2:准备初始种子文件,模糊器读取初始种子文件并创建种子,为覆盖率位图分配共享内存,记录被测程序执行时程序分支覆盖信息;S1.3:模糊器使用子进程运行生成的二进制可执行文件,并通过管道和子进程进行交互,使用初始种子进行模糊测试,构建初始状态、种子和覆盖信息;所述步骤S2具体包括如下步骤:S2.1:遍历种子的报文序列,标记触发目标状态的报文作为变异点,生成抵达目标状态的前缀报文序列,并将变异点后触发下一个状态的报文作为变异位置;S2.2:计算种子的变异能量,使用AFLNET自带的变异次数分配方法计算种子变异次数,获取当前种子覆盖的程序分支数量和平均覆盖分支的比例,获取当前种子所处的变异轮次,获取当前种子包含的目标状态子状态的数量,获取种子的执行时间,从而计算种子变异能量,计算公式如下: ,其中,表示当前种子覆盖的程序分支数量和平均覆盖分支的比例,表示当前种子所处的变异轮次,表示当前种子包含的目标状态子状态的数量,表示种子的执行时间;S2.3:根据不同子状态的变异点覆盖分支的差异比,为不同的变异点分配变异次数,覆盖分支差异比计算公式如下: ,其中,表示第个子状态的覆盖分支差异比,表示第个子状态单独覆盖的程序分支数量,表示第个子状态覆盖的新覆盖分支的数量,的取值为从1到,表示当前种子包含个子状态;S2.4:对种子进行变异生成测试用例;使用AFLNET自带的变异策略对种子进行变异生成测试用例,包括位翻转、位加减、位替换;S2.5:将测试用例发送给被测程序;启动被测程序,将测试用例发送给被测程序,接收响应报文并分析覆盖率,当覆盖了新的程序分支时,保存新的程序分支索引号和测试用例;S2.6:构建种子状态信息;将当前测试用例保存为种子,分析测试用例的响应报文,提取响应报文中的状态码和响应头字段,形成状态池,以状态码表示状态,比较状态码和响应头字段,当状态码不同时为不同的状态,当状态码相同但响应头字段不同时,则为同一状态下的不同子状态,并且把响应头字段加入到触发状态的哈希结构中;S2.7:记录子状态覆盖率信息;启动被测程序,发送当前测试用例,记录每个报文发送触发的覆盖率位图,计算相同状态下不同子状态的单独覆盖的程序分支数量,计算公式如下: ,其中,表示第个子状态的覆盖率位图中第位值,表示第个子状态的覆盖率位图的第位值,的取值为从1到,表示当前状态的子状态数量;计算每个子状态覆盖的新的程序分支数量,计算公式如下: ,其中,表示第个子状态覆盖新的程序分支的数量,为步骤S2.5中索引号为k的覆盖的新的程序分支;S2.8:遍历种子触发的状态队列,将种子加入到触发的状态的种子队列中;所述步骤S3具体包括如下步骤:S3.1:遍历所有状态,在AFLNET原有的状态价值上,使用状态具有的响应头字段的模糊次数,对状态价值进行调整;遍历状态池中的状态,获取当前状态产生的测试用例数量和被选择的次数,以及产生的覆盖新路径的种子数量,结合当前状态包含的响应头字段的模糊信息计算状态价值,计算公式如下: ,其中,表示模糊当前状态时产生的覆盖新路径的种子数量,表示当前状态包含的响应头字段的模糊次数,表示模糊当前状态时产生的测试用例数量,表示当前状态被选择的次数;S3.2:选择具有最大价值的状态进行模糊测试,并修改状态的模糊次数;所述步骤S4具体包括如下步骤:S4.1:计算种子价值,遍历目标状态种子队列中的种子,计算触发目标状态时种子的覆盖分支数量,触发目标状态时具有的响应头字段模糊的情况以及种子的模糊次数和执行时间计算种子价值,计算公式如下: ,其中,表示触发目标状态时,种子覆盖的程序分支数量,表示触发目标状态的响应头字段的模糊次数,表示种子的模糊次数,表示种子的执行时间;S4.2:选择具有最大价值的种子进入模糊变异,并修改种子和种子中目标状态的响应头字段的模糊次数。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人杭州电子科技大学,其通讯地址为:310018 浙江省杭州市钱塘区白杨街道2号大街1158号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。