免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 各类编程 > 物理内存取证之文件与缓存分析

物理内存取证之文件与缓存分析

时间:2012-05-06 17:28来源:未知 整理:寂涯网络 点击:

内存分析的两个主要对象即内核内存与用户级内存。在windows环境下,内核内存主要 包含设备驱动程序、NT操作系统可执行程序以及硬件抽象层模块。大多数用户级内存则主 要包含单个进程、进程地址空间中的文件(从磁盘空间加载到用户内存空间的代码、数据, 如可执行文件exes以及动态链接库dlls)。内核内存中的大部分虚拟地址空间均独立于某 特定的进程上下文,为全局地址,而其它虚拟地址空间则与某个特定进程相关。对内存进行 提取分析时,还是存在很多饶有兴趣的事。本文将重点分析单个进程地址空间上下文的用户 级内存。通常情况下,攻击者主要针对的是victim的用户级内存,因为相对内核内存而言, 在用户级内存空间下更容易写入或获取到代码等内容。
尽管在用户级内存及进程重构的内存取证领域已经取得了一定的成就,但它们仍然有一 定的改善空间。以前开发的取证工具主要集中在单个进程地址空间下的虚拟地址描述符 (VADs)或虚拟内存区,而忽视了其它一些丰富的资源如内存映像文件。这些工具使用虚拟 地址描述符VAD有限的信息从内存中萃取文件,显然生成的文件必然不能准确地反映出先前 其存在磁盘上的完整内容。再次,操作系统输入输出的缓存cache也被大范围忽视了。本文 将介绍一些方法从内存中更准确地获取信息并萃取完整文件内容。
现有的物理内存取证技术
Volatility和Memoryze是当前使用最为广泛的两款内存取证工具,均分别提供了一些 具体命令以分析单个进程的具体内容。Volatility工具的命令包括vaddump, dlldump, procmemdump, procexedump*memdump.后者则使用?『0068800命令。下面将对照命令以分 析评价进程重构的状态。
大多数内存取证工具,包含Volatility和MemoryZe都在使用VAD树遍历技术来查找加载 到内存中的数据信息。4Windows*,进程由一个MMvad结构描述,此结构里包含一个域 MM_AVL_TABLEVadRoot,即进程乂仙的入口。内存管理器通过遍历乂汕树以确定每个进程所占 用的虚拟地址空间。这些结构体都可在内存中获取到,进而可确定每个运行进程所包含的信 息。乂仙组成了一个沿^自平衡二叉树,树中的每一个节点代表了一段虚拟地址空间。例如程 序的代码段,数据段,堆段会各种占用一个或多个7仙节点,由一个》仙结构完整描述。从 0x0000000到0x7ffffff,总要有个数据结构描述程序的各个段对应哪段地址空间,vad则充
当了此角色。对乂仙感兴趣的读者,可参考《TheVADtree:Aprocess-eyeviewofphysical memory》•以下是这些命令的细微差别:
(1) Memoryze工具无法获取到进程虚拟地址空间的首个MB,即(0x00000000 -0x000fffff);
(2) Vaddump命令无法对已命名的内存区进行重命名;
(3) Memoryze工具使用Nops即0x90替换不在进程地址空间的页,而vaddump使用0x0.
(4 ) vaddump命令不会分析已命名或者大小为0的区域;
dlldump命令分析易挥发的内存区,得出的部分分析结果与process命令相似。然而, 两个工具使用的取证分析方法却完全不一致。dlldump命令遍历进程eprocess块指向的已加 载模块dlls链表,而processDD则是通过获取dll名来遍历vad树。已加载模块dlls8链表在用 户级内存,故可被攻击者修改,dlldump命令可获取到部分从链表中卸载的dll模块物理基地 址,并提供给用户。但是这些需要攻击者有很高的技能,在vads存放的内核区域执行它的恶 意代码。dllldump通过解析pe文件格式,可确定dll文件大小;而Memoryze工具的ProcessDD 命令则利用了vad结构中的页对齐大小。既然dlldump使用pe文件头信息可确定每个段大小, 它就能准确地表述文件是如何映射到磁盘上的。同样process命令则将数据视为windows加载器保存在内存中。然而,这两个工具虽然都能够准确返回真实的物理内容,却均忽视了页对齐问题。

传统内存取证方法

尽管以前的内存取证和进程重构方法取得了一定的成绩,但仍然有很大的提升空间。传 统的取证方式对跨内存区对虚拟地址进行翻译,却忽视了町1«1(^8系统的典型文件结构 FileObjects.尽管?乜6015知(^对象不会出现再所有的内存区,但至少他们会作为内存映射 文件如0匕8和£乂£8方式出现。很显然,0匕8和£乂£8是取证调查中的重点对象,但传统方法却 忽视了这部分地址空间的分析;还有归属问题,当一个工具对进程内存区每个地址进行暴力 搜索时,它必然会当作此进程内核页的一个属性部分而被搜索,当事实上它并不属于此进程。
(1)被忽视的数据

本页地址 http://www.jybase.net/biancheng/20120506907.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com