Linux平台二进制软件堆溢漏洞动态检测方法及系统技术方案

技术编号:26342866 阅读:29 留言:0更新日期:2020-11-13 20:39
本发明专利技术Linux平台二进制软件堆溢漏洞动态检测系统,能提升堆溢出漏洞动态检测效率。二进制程序仿真加载模块根据目标程序对应的可执行文件格式,将其代码段、数据段内容载入到仿真执行环境中;API函数挂钩模块对载入到仿真执行环境中的二进制程序进行API挂钩,形成目标程序的仿真执行映像;基于动态二进制翻译的二进制程序仿真执行模块对所形成的仿真执行映像进行仿真执行;仿真执行期间目标程序发生malloc、realloc堆申请操作时,堆管理机制运行时托管模块将堆申请托管,返回给应用程序“边界精确”的内存区块;目标程序在执行中对申请得到的“边界精确”的内存区块进行读写访问时发生溢出通告用户该程序存在堆溢出漏洞。

Dynamic detection method and system of binary software heap overflow vulnerability on Linux platform

【技术实现步骤摘要】
Linux平台二进制软件堆溢漏洞动态检测方法及系统
本专利技术属漏洞检测
,特别涉及一种Linux平台二进制软件堆溢漏洞动态检测方法及系统。
技术介绍
堆溢出漏洞指程序在对其堆缓冲区进行写操作时,由于写入范围超出目标缓冲区的长度导致的程序漏洞。近年来,该型漏洞频繁在不同软件系统中被爆出,对信息安全产生严重危害。模糊测试技术是当前二进制软件漏洞挖掘领域的主要方法。该方法产生大量输入实例,通过观察这些输入实例执行时是否触发异常确认目标软件是否存在漏洞。该策略可以有效挖掘栈溢出、除零等程序漏洞。然而由于堆溢出漏洞触发行为大多不会显示地产生执行异常,该方法当前在堆溢出漏洞挖掘方面效率较低。作为当前工业界主流的二进制软件漏洞检测技术,模糊测试技术的一般运行流程如下:首先随机生成大量数据,随之将这些数据向应用程序的运行时地址空间注入,对目标程序的运行状况进行监测。当目标程序执行到目标缺陷程序点并触发崩溃时,即记录本次运行对应的输入为缺陷输入。随之继续迭代该过程直至某些分析者设定的终止条件满足。从上可见,模糊测试技术能够有效检测本文档来自技高网...

【技术保护点】
1.一种Linux平台二进制软件堆溢漏洞动态检测系统,其特征在于,所述系统包括:二进制程序仿真加载模块、API函数挂钩模块、基于动态二进制翻译的二进制程序仿真执行模块、堆管理机制运行时托管模块、基于自定制机器码的异常报警模块,其中,二进制程序仿真加载模块根据目标程序对应的可执行文件格式,将其代码段、数据段内容载入到仿真执行环境中;API函数挂钩模块对载入到仿真执行环境中的二进制程序进行API挂钩,形成目标程序的仿真执行映像;基于动态二进制翻译的二进制程序仿真执行模块对所形成的仿真执行映像进行仿真执行;仿真执行期间目标程序发生malloc、realloc堆申请操作时,堆管理机制运行时托管模块将堆...

【技术特征摘要】
1.一种Linux平台二进制软件堆溢漏洞动态检测系统,其特征在于,所述系统包括:二进制程序仿真加载模块、API函数挂钩模块、基于动态二进制翻译的二进制程序仿真执行模块、堆管理机制运行时托管模块、基于自定制机器码的异常报警模块,其中,二进制程序仿真加载模块根据目标程序对应的可执行文件格式,将其代码段、数据段内容载入到仿真执行环境中;API函数挂钩模块对载入到仿真执行环境中的二进制程序进行API挂钩,形成目标程序的仿真执行映像;基于动态二进制翻译的二进制程序仿真执行模块对所形成的仿真执行映像进行仿真执行;仿真执行期间目标程序发生malloc、realloc堆申请操作时,堆管理机制运行时托管模块将堆申请托管,返回给应用程序“边界精确”的内存区块;目标程序在执行中对申请得到的“边界精确”的内存区块进行读写访问时发生溢出时,基于自定制机器码的异常报警模块捕获溢出事件并通告用户该程序存在堆溢出漏洞。


2.根据权利要求1所述的Linux平台二进制软件堆溢漏洞动态检测系统,其特征在于,所述目标程序对应的可执行文件格式包括Windows平台下的PE文件格式,Linux平台下的ELF文件格式。


3.根据权利要求2所述的Linux平台二进制软件堆溢漏洞动态检测系统,其特征在于,所述二进制程序仿真加载模块基于ELF可执行文件格式对目标程序进行内容解析,确定出其代码部分、数据部分内容的内存映射信息,并映射到基于动态二进制翻译的二...

【专利技术属性】
技术研发人员:黄晖陆余良黄曙光赵顺恺于璐甘桂华梁用语曹杨
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1