[发明专利]基于Glibc堆实现的堆信息提取方法在审

专利信息
申请号: 202310223576.3 申请日: 2023-03-09
公开(公告)号: CN116432170A 公开(公告)日: 2023-07-14
发明(设计)人: 翟继强;王家乾;韩旭 申请(专利权)人: 哈尔滨理工大学
主分类号: G06F21/52 分类号: G06F21/52;G06F21/56
代理公司: 东台金诚石专利代理事务所(特殊普通合伙) 32482 代理人: 蔡浩
地址: 150000 黑龙*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 glibc 实现 信息 提取 方法
【权利要求书】:

1.一种基于Glibc堆实现的堆信息提取方法,该方法包括以下步骤:

步骤1:通过硬件接口或软件获取计算机物理内存的转储文件

步骤2:将内存转储文件载入Rekall取证框架并查找与之匹配的操作系统版本和配置文件。根据配置文件确定系统版本内核,识别内存转储文件的内存布局,定位task结构体。

步骤3:通过task结构体遍历VMA结构,获取glibc库在内存中的位置,提取glibc库中main-arena的位置。

步骤4:根据内存对象vtype描述信息中字段偏移定位glibc堆的相关数据结构并提取堆的初始化信息。

步骤5:根据提取到的堆初始化信息进一步提取堆块信息。

2.根据权利要求1所述的基于Glibc堆实现的堆信息提取方法,其特征在于,所述步骤1中,通过硬件接口或软件获取计算机物理内存的转储文件,具体步骤为:

步骤1-1判断目标系统是否为虚拟机,若是则拍摄快照文件,若不是进行步骤1-2;

步骤1-2判断目标系统是否处于运行状态,若不是,则检查磁盘中的休眠文件、崩溃转储和分页文件,若目标系统处于运行状态进行步骤1-3;

步骤1-3判断是否拥有目标系统的操作权限,若拥有权限,则通过软件运行的方式生成转储文件,否则通过硬件接口方式获取内存转储文件。

3.根据权利要求1所述的基于Glibc堆实现的堆信息提取方法,其特征在于,所述步骤2中,将内存转储文件载入Rekall取证框架并查找与之匹配的操作系统版本和配置文件并定位task结构体,具体步骤为:

步骤2-1查找并解析构建字符串,获取操作系统的主要版本号、次要版本号以及进程pid;

步骤2-2根据版本号导入相应配置文件。

步骤2-3使用内存取证框架内置的扫描技术扫描转储文件的物理地址空间,识别地址空间硬编码,定位内核空间中task结构体的位置体。

4.根据权利要求1所述的基于Glibc堆实现的堆信息提取方法,其特征在于,所述步骤3中,通过task结构体遍历VMA结构,获取glibc库在内存中的位置,提取glibc库中main-arena的位置,具体步骤为:

步骤3-1根据进程task结构体的内部信息,判断其是否为用户空间进程,若是用户空间进程进行步骤3-2;

步骤3-2加载进程地址空间,遍历vma结构体,将其保存在列表中;

步骤3-3加载glibc配置文件,获取glibc库在内存空间中的位置结合glibc配置文件获取main-arena。

5.根据权利要求1所述的基于Glibc堆实现的堆信息提取方法,其特征在于,在所述步骤4中,根据内存对象vtype描述信息中字段偏移定位glibc堆的相关数据结构并提取堆的初始化信息,具体过程为:

步骤4-1首先对main-arena进行初始化处理;

步骤4-2检测arena循环双链表是否完整;

步骤4-3通过malloc_state结构体的next成员获取所有arena,保存在列表中;

步骤4-4根据内存对象vtype描述信息中字段偏移定位,获取main-arena的first堆块信息并获取所有非主arena的heap_info结构体;

步骤4-4根据malloc_state及heap_info结构体获取所有非主arena的first堆块。

6.根据权利要求1所述的基于Glibc堆实现的堆信息提取方法,其特征在于,在所述步骤5中,根据提取到的堆初始化信息进一步提取堆块信息,具体过程为:

步骤5-1基于提取的堆初始化信息,定位main_arena.first_heap位置;

步骤5-2提取first_heap地址,通过其地址及malloc_chunk数据结构追踪next_chunk;

步骤5-3获取next_chunk相关数据结构的size位,识别标志位PREV_INUSE。判定前一堆块为分配对堆块还是释放堆块,保存在相应堆块列表中,指针保存在相应指针列表中。

步骤5-4基于提取的堆初始化信息,遍历thread arena列表,定位线程heap_info结构体位置,获取线程malloc_state,定位thread_arena.firstchunk,获取其地址。

步骤5-5重复步骤5-2和步骤5-3;

步骤5-6统计已分配/释放堆块的数量及大小。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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