【技术实现步骤摘要】
本专利技术属于网络安全领域,尤其涉及一种基于指针解引用插桩的c/c++释放后重引用动态检测方法。
技术介绍
1、2011年,google的工程师首次提出了address sanitizer(以下简称asan),用以快速地进行内存错误检测,其工作原理是在编译时插入额外的代码段来跟踪内存的分配和访问,从而检测出多种内存错误。与此前的工具相比,asan具有运行效率高、检测范围广、使用方便等特点。在错误检测方面,asan可以精确定位异常的位置,并给出详细的错误报告。历经十余年的发展,asan的功能不断增强,现已成为常用的内存调试与代码缺陷检测工具。
2、然而,asan在设计上并非完备,对于以下情况可能出现漏报:缓冲区非连续越界访问,即跨越了redzone访问另一个缓冲区;同一个地址被重复申请,导致uaf指针指向的区域是合法地址,此时无法检测到错误。同时,业界已有的改进fuzzan虽然实现了上述漏报的检测,却带来了o(log n)的访问开销。
3、因此,设计并实现一种内存检测机制,在保留asan高效性(o(1)的访问开销)
...【技术保护点】
1.一种基于指针解引用插桩的C/C++释放后重引用动态检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于指针解引用插桩的C/C++释放后重引用动态检测方法,其特征在于,步骤(2)中,所述提取得到集合Cf和集合Cd的参数的依赖集Vd和Vf,具体包括以下子步骤:
3.根据权利要求2所述的一种基于指针解引用插桩的C/C++释放后重引用动态检测方法,其特征在于,步骤(2)中,所述提取得到集合Cm的参数的传递集Vm,具体包括以下子步骤:
4.根据权利要求3所述的一种基于指针解引用插桩的C/C++释放后重引用动态检测方法,其
...【技术特征摘要】
1.一种基于指针解引用插桩的c/c++释放后重引用动态检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于指针解引用插桩的c/c++释放后重引用动态检测方法,其特征在于,步骤(2)中,所述提取得到集合cf和集合cd的参数的依赖集vd和vf,具体包括以下子步骤:
3.根据权利要求2所述的一种基于指针解引用插桩的c/c++释放后重引用动态检测方法,其特征在于,步骤(2)中,所述提取得到集合cm的参数的传递集vm,具体包括以下子步骤:
4.根据权利要求3所述的一种基于指针解引用插桩的c/c++释放后重引用动态检测方法,其特征在于,步骤(3)中,对集合cm、集合cf和集合cd...
【专利技术属性】
技术研发人员:张浩然,陶逸铭,吴春明,汪昌兴,魏之千,边振昆,刘智扬,买买江·克然木,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。