基于二进制重用的内存取证系统设计与实现
发布时间:2021-09-18 11:47
随着计算机的普及,网络犯罪和利用计算机的犯罪的规模和数量迅速增加,然而计算机取证学却因为立法滞后、缺乏专业性知识而发展缓慢。早期的计算机取证聚焦于对硬盘的取证,通过断电获取硬盘之后使用各种硬盘恢复手段尝试恢复硬盘内加密或者被抹除的数据。但是断电的操作往往会直接造成内存数据的丢失,而内存状态保存着计算机最真实的信息。然而当前的内存取证方式往往是基于签名的内存映像扫描,通过分析相同类型数据的不同实例,尝试寻找出其中相同的属性,用以在内存中扫描和提取调查人员感兴趣的数据结构的实例。但是一个无法回避的问题是,即便非常了解数据结构的语法和语义,相关分析人员也可能无法解释数据结构包含的具体信息,特别是对于具有特定应用编码的数据结构(例如图像、表格、账号密码和格式化文件的数据结构)这种情形非常常见,即使调查人员可能知道缓冲区正在保存照片图像,但仍然无法渲染和理解图像的内容。本文系统的设计理念基于这样一种观察:定义数据结构的应用程序通常自身包含解释和渲染逻辑,以便为该数据结构生成易于理解的输出。因此,通过识别并重用程序二进制文件中的这种逻辑,创建一个扫描和渲染的工具,便可用于在内存映像中还原数据结构的...
【文章来源】:湖南大学湖南省 211工程院校 985工程院校 教育部直属院校
【文章页数】:66 页
【学位级别】:硕士
【部分图文】:
图4.5样例文件的数据结构地址信息??然后通过分析内存映像获得程序的动态切片,如图4.6是ImageMagick的动??
0x653a20.??data??图4.8二进制模块产生的所有输出??4.5.4扫描内存??通过使用上一节筛选过后的指令,将可以构造一个扫描器。从图4.9可以看??出,扫描器从内存映像的起始地址逐步增加,对每一个字节尝试生成出一个输出,??这些地址记录在文件内,而对于一些地址,进程将崩溃,于是该地址将不会记录??到曰志中,扫描器将跳过该地址而从下一个地址继续执行,直到执行到内存映像??的末端。??38??
samplel.png?sample2.png??图4.7二进制程序执行使用的两个文件??samplel.png为执行二进制文件所用的参数文件,sample2.png为获取内存映??像时使用的输入文件。??Shell程序将会针对每一个候选出口指令构建一个扫描器,对示例文件2(sa??mple2.png)的内存映像进行扫描,由于事先知道内存中的原始文件,通过首先排??除不产生输出的指令(仅留下10,11,17,19,21号三个候选出口指令),再排??除产生错误输出文件的指令(17未产生图像文件,10和11产生了?samplel的图??像文件,说明这两个指令在并未成功替换指针的值),最后确认有效的出口点??(19和21),构造最后使用的扫描器。??????m?m?m??S_10_0x63d170.?S_11_0x63d170.?S_17_0x640730.?S_19_0x639f80.ddta??data?data?data??s??S_21_0x653a20.??data??图4.8二进制模块产生的所有输出??4.5.4扫描内存??通过使用上一节筛选过后的指令
【参考文献】:
期刊论文
[1]内存取证研究与进展[J]. 张瑜,刘庆中,李涛,吴丽华,石春. 软件学报. 2015(05)
[2]基于EPROCESS特征的物理内存查找方法[J]. 陈龙,敬凯,董振兴,田庆宜. 重庆邮电大学学报(自然科学版). 2013(01)
[3]基于KPCR结构的Windows物理内存分析方法[J]. 郭牧,王连海. 计算机工程与应用. 2009(18)
硕士论文
[1]内存取证工具的研究与实现[D]. 桑厅.上海交通大学 2013
[2]基于Windows的易失性内存数据取证分析方法研究[D]. 王峰.吉林大学 2012
[3]基于Windows平台的内存数据获取和取证技术研究[D]. 刘洋.电子科技大学 2012
本文编号:3400081
【文章来源】:湖南大学湖南省 211工程院校 985工程院校 教育部直属院校
【文章页数】:66 页
【学位级别】:硕士
【部分图文】:
图4.5样例文件的数据结构地址信息??然后通过分析内存映像获得程序的动态切片,如图4.6是ImageMagick的动??
0x653a20.??data??图4.8二进制模块产生的所有输出??4.5.4扫描内存??通过使用上一节筛选过后的指令,将可以构造一个扫描器。从图4.9可以看??出,扫描器从内存映像的起始地址逐步增加,对每一个字节尝试生成出一个输出,??这些地址记录在文件内,而对于一些地址,进程将崩溃,于是该地址将不会记录??到曰志中,扫描器将跳过该地址而从下一个地址继续执行,直到执行到内存映像??的末端。??38??
samplel.png?sample2.png??图4.7二进制程序执行使用的两个文件??samplel.png为执行二进制文件所用的参数文件,sample2.png为获取内存映??像时使用的输入文件。??Shell程序将会针对每一个候选出口指令构建一个扫描器,对示例文件2(sa??mple2.png)的内存映像进行扫描,由于事先知道内存中的原始文件,通过首先排??除不产生输出的指令(仅留下10,11,17,19,21号三个候选出口指令),再排??除产生错误输出文件的指令(17未产生图像文件,10和11产生了?samplel的图??像文件,说明这两个指令在并未成功替换指针的值),最后确认有效的出口点??(19和21),构造最后使用的扫描器。??????m?m?m??S_10_0x63d170.?S_11_0x63d170.?S_17_0x640730.?S_19_0x639f80.ddta??data?data?data??s??S_21_0x653a20.??data??图4.8二进制模块产生的所有输出??4.5.4扫描内存??通过使用上一节筛选过后的指令
【参考文献】:
期刊论文
[1]内存取证研究与进展[J]. 张瑜,刘庆中,李涛,吴丽华,石春. 软件学报. 2015(05)
[2]基于EPROCESS特征的物理内存查找方法[J]. 陈龙,敬凯,董振兴,田庆宜. 重庆邮电大学学报(自然科学版). 2013(01)
[3]基于KPCR结构的Windows物理内存分析方法[J]. 郭牧,王连海. 计算机工程与应用. 2009(18)
硕士论文
[1]内存取证工具的研究与实现[D]. 桑厅.上海交通大学 2013
[2]基于Windows的易失性内存数据取证分析方法研究[D]. 王峰.吉林大学 2012
[3]基于Windows平台的内存数据获取和取证技术研究[D]. 刘洋.电子科技大学 2012
本文编号:3400081
本文链接:https://www.wllwen.com/shekelunwen/gongan/3400081.html