Document
拖动滑块完成拼图
个人中心

预订订单
商城订单
发布专利 发布成果 人才入驻 发布商标 发布需求

请提出您的宝贵建议,有机会获取IP积分或其他奖励

投诉建议

在线咨询

联系我们

龙图腾公众号
首页 专利交易 IP管家助手 科技果 科技人才 积分商城 国际服务 商标交易 会员权益 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 南京航空航天大学陈哲获国家专利权

南京航空航天大学陈哲获国家专利权

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

龙图腾网获悉南京航空航天大学申请的专利一种结合动态分析的内存安全漏洞模糊测试方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119473869B

龙图腾网通过国家知识产权局官网在2025-11-28发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202411372498.4,技术领域涉及:G06F11/3668;该发明授权一种结合动态分析的内存安全漏洞模糊测试方法是由陈哲;殷家乐设计研发完成,并于2024-09-29向国家知识产权局提交的专利申请。

一种结合动态分析的内存安全漏洞模糊测试方法在说明书摘要公布了:本发明公开了一种结合动态分析的内存安全漏洞模糊测试方法,包括如下步骤:在待测程序的源代码文件中插入用于动态分析的指针元数据、内存安全检测、内存分配包装函数的相关类型定义和函数定义;利用编译器解析源代码,生成抽象语法树,遍历抽象语法树并对其节点进行插桩,并且维护最小指针边界距离和内存分配峰值的共享内存变量;对插桩后的源代码进行编译得到汇编代码;对汇编代码进行覆盖率插桩,并且跳过前面插入的用于动态分析的代码;汇编、链接插桩后的汇编代码得到可执行文件;对可执行文件进行模糊测试;运行模糊测试输出使得目标程序发生内存安全性错误的程序输入文件。本发明能发现目标程序中的内存漏洞,提高模糊测试的检错能力。

本发明授权一种结合动态分析的内存安全漏洞模糊测试方法在权利要求书中公布了:1.一种结合动态分析的内存安全漏洞模糊测试方法,其特征在于,包括以下步骤: S1,打开待测程序的源代码文件,在源代码文件中插入用于动态分析的类型定义和函数定义的源代码; S2,利用编译器对待测程序的源代码进行预处理,然后利用编译器解析待测程序的源代码; S3,遍历抽象语法树并对其节点进行插桩,以在程序运行时检测内存错误,并且维护最小指针边界距离和内存分配峰值的共享内存变量; S4,对插桩后的源代码进行编译得到汇编代码; S5,对汇编代码进行覆盖率插桩,并且跳过前面插入的用于动态分析的代码; S6,对插桩后的汇编代码进行汇编、链接得到可执行文件, S7,对可执行文件进行模糊测试,使用动态分析提供的覆盖率、最小指针边界距离、内存分配峰值作为反馈信息引导模糊测试; S8,运行模糊测试,输出使得目标程序发生内存安全性错误的程序输入文件; 步骤S1中插入用于动态分析的类型定义和函数定义的源代码,包括如下步骤: S11,插入指针元数据的类型定义,指针元数据的结构体类型包括:指针变量所指向内存空间的首地址和末地址、指针变量的地址、内存空间的状态; S12,插入维护指针元数据的数据结构的类型定义,数据结构包括哈希表和二级树,二者都使用指针变量的地址值作为索引值;在二级树中,从索引值低位开始的第26到48位作为一级索引值,第4到25位作为二级索引值;一级表和二级表的初始容量分别为2^23和2^22,一级表中每个元素是一个指向二级表的指针,二级表中每个元素是一个指向指针元数据的指针; S13,插入维护指针元数据的函数定义,在程序运行过程中,当创建指针变量时向哈希表或二级树中插入指针元数据,容量不足时动态扩容; S14,插入内存安全检测函数定义,更新当前指针值与对应指针元数据的合法首地址的差值、指针值与对应指针元数据的合法末地址的差值,保留最小的差值作为最小指针边界距离,用于评判是否有发生指针越界的倾向; S15,插入内存分配库函数的包装函数定义,所述包装函数执行内存分配库函数后,根据函数返回值判断是否执行成功:如成功,则更新程序运行到此处时已分配的内存总值,并且用已分配的内存总值更新全局内存分配峰值,用于评判是否有发生分配过大内存的倾向,最后返回内存分配库函数的返回值;如不成功,则不执行任何操作; 步骤S7中使用动态分析提供的覆盖率、最小指针边界距离、内存分配峰值作为反馈信息引导模糊测试,包括如下步骤: S71,收集测试用例加入种子队列:首先根据模糊测试提供的覆盖率信息,判断本次程序运行过程中是否发现了新的程序执行路径: 如果有新的程序执行路径,则直接将测试用例加入种子队列; 如果没有新的程序执行路径,则判断本次运行过程中是否有若干个指针更加靠近其指针元数据的合法上下界、本次运行过程中是否有更高的内存分配峰值产生:如果是有若干个指针更加靠近其指针元数据的合法上下界,或者有更高的内存分配峰值产生,则将测试用例加入种子队列;如果无若干个指针更加靠近其指针元数据的合法上下界,且无更高的内存分配峰值产生,则丢弃测试用例; S72,精简种子队列:如果经过覆盖率、最小指针边界距离、内存分配峰值指标的判断,测试用例能加入种子队列,则替换掉种子队列中与本次测试用例拥有相同执行路径、且最小指针边界距离更大或者内存分配峰值更低的测试用例; S73,评价种子队列中的种子:使用执行消耗时间、文件体积大小、最小指针边界距离、内存分配峰值进行种子优秀程度的计算,保留种子队列中优秀的种子,进一步精简种子队列,留作后续变异。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人南京航空航天大学,其通讯地址为:213300 江苏省常州市溧阳市滨河东路29号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

以上内容由龙图腾AI智能生成。

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。