[发明专利]一种基于动态特征的自定义堆管理函数的自动识别方法有效

专利信息
申请号: 201711248935.1 申请日: 2017-12-01
公开(公告)号: CN108469997B 公开(公告)日: 2021-10-26
发明(设计)人: 贾相堃;张超;苏璞睿;杨轶;和亮;闫佳 申请(专利权)人: 中国科学院软件研究所
主分类号: G06F11/36 分类号: G06F11/36;G06F9/50;G06F9/355
代理公司: 北京君尚知识产权代理有限公司 11200 代理人: 刘召民
地址: 100190 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 动态 特征 自定义 管理 函数 自动识别 方法
【说明书】:

发明公开了一种基于动态特征的自定义堆管理函数的自动识别方法,主要包括:1)基于动态执行二进制指令记录进行离线分析,通过call‑ret匹配恢复函数边界信息;2)依次根据堆管理函数的返回值通常是堆指针、处理流程具有相似性、使用情况具有特点的动态特征,对候选函数进行筛选;3)对筛选出的自定义堆管理函数进行去重统计,实现自定义堆管理函数的自动识别。本发明实现了基于离线动态执行记录分析自动识别自定义的堆管理函数,识别准确性高、分析效率高。

技术领域

本发明属于软件逆向技术领域,具体涉及一种基于动态特征的自定义堆管理函数的自动识别方法。

背景技术

基于性能和安全性等考虑,越来越多的程序采用自定义的堆管理函数来分配和管理内存,如Jemalloc、TCmalloc、MMgc等。这些自定义的堆管理函数给程序分析、特别是二进制程序分析带来了新的挑战。例如分析程序存在的堆溢出漏洞(heap overflow)或释放后重用漏洞(use after free)的时候,需要通过堆分配操作(标准系统接口,如malloc等)来确定分配的堆空间大小和时刻,根据堆释放操作(标准系统接口,如free等)来确定堆空间的生存周期。如果存在自定义的堆管理操作,程序会通过标准系统接口向系统申请一大段地址自己管理,堆状态的更新是根据自定义的堆管理函数接口确定的,不会调用标准系统接口,因此在二进制记录中无法发现这些操作,导致无法准确分析程序的运行状态和漏洞情况。

目前对自定义的堆管理函数的识别主要依赖于人工分析。基于源代码,分析人员可以通过跟踪内存分配和释放过程的代码,分析是否调用了自定义堆管理函数库;基于二进制程序,分析人员可以通过IDA pro等分析工具,对程序进行静态分析,发现其中的自定义堆管理函数。然而这种分析是耗时耗力的,主要依赖于分析人员的经验。阿姆斯特丹自由大学的Herbert等人尝试采用动态执行和特征匹配的方法,实现对堆管理函数进行自动化的识别(WCRE’13)。他们实现了原型系统MemBrush,通过提取堆分配、释放和重分配等操作的行为特征,在动态执行程序的同时测试和检测各项特征,识别堆管理函数。格勒诺布尔阿尔卑斯大学的Laurent Mounier等人在USENIX CSET’17上进一步提出了如何评价自定义堆管理函数的识别效果。

尽管自定义的堆管理函数识别方法已经取得了一些的研究进展和良好的应用效果,然而现有的方法仍然存在以下的不足:

1)在线分析方法效率偏低,同时可能造成分析下的程序执行和正常执行过程不同,缺少基于动态分析记录的离线识别方法;

2)之前工作中选取的堆管理函数的动态特征不完整导致识别存在不准确,且有些特征不适用于离线分析过程。

发明内容

针对现有技术中存在的技术问题,本发明的目的在于提供一种基于动态特征的自定义堆管理函数的自动识别方法,通过动态执行目标程序得到程序执行的二进制指令记录,根据调用栈信息逆向恢复函数边界,根据动态特征信息挑选符合的函数,同时提取函数相关的参数、返回值等信息,实现对自定义堆管理函数的自动识别。

一种基于动态特征的自定义堆管理函数的自动识别方法,其步骤如下:

1)获取目标程序动态执行过程的二进制指令记录;

2)通过call-ret指令配对,恢复二进制指令记录中函数边界信息,得到候选函数;

3)根据自定义堆管理函数的动态特征对候选函数进行筛选;

4)将筛选出的自定义堆管理函数进行统计去重,实现自定义堆管理函数的自动识别。

进一步地,步骤1)中在动态分析环境中执行目标程序来获取目标程序动态执行过程的二进制指令记录。

进一步地,所述二进制指令记录包括指令的EIP、相关寄存器(如EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP)信息、指令的机器码、记录编号ID。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711248935.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top