[发明专利]一种从64位Windows10操作系统的内存镜像文件中获取对象信息的方法有效
申请号: | 201610159574.2 | 申请日: | 2016-03-21 |
公开(公告)号: | CN105786596B | 公开(公告)日: | 2018-04-13 |
发明(设计)人: | 徐丽娟;王连海;赵大伟;葛亮 | 申请(专利权)人: | 山东省计算中心(国家超级计算济南中心) |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F12/02 |
代理公司: | 济南泉城专利商标事务所37218 | 代理人: | 褚庆森 |
地址: | 250014 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 64 windows10 操作系统 内存 文件 获取 对象 信息 方法 | ||
技术领域
本发明涉及一种获取对象信息的方法,更具体的说,尤其涉及一种从64位Windows10操作系统的内存镜像文件中获取对象信息的方法。本方法将应用于计算机取证领域,主要用于信息安全事件和各类计算机犯罪案件的调查取证。
背景技术
计算机物理内存中存在某些能描述系统遭受攻击时所处状态的信息,如进程信息、每个进程开启的线程信息、打开的文件信息、网络连接信息等。这些信息随着计算机系统的关机而消失。因此,对获取计算机物理内存在计算机取证方面尤为重要。为推进物理内存分析技术的发展,DFRWS(Digital Forensic Research Workshop)于2005年推出了名为“Forensics Challenge”的活动,活动的主题就是物理内存分析。从此,对于物理内存的分析和获取成为计算机取证的研究热点,内存分析工具支持到Windows 7的内存镜像文件分析,对目前新推出的64位windows10系统内存镜像文件分析尚不支持。随着计算机硬件水平的不断发展提高,目前大多数计算机都具备4G以上内存空间,并支持64位操作系统,因此对64位windows 10操作系统的内存镜像文件分析工作迫在眉睫。
在内存镜像文件分析工作中,进程打开的文件信息、系统运行日志信息、用户ntHash值的获取、注册表信息、系统日志信息等关系系统恶意代码分析或敏感信息分析的重要信息获取都依赖于系统对象信息的获取,只有分析出了系统对象信息,才能进一步获取以上信息。然而,对64位Windows 10操作系统来说,使用以往64位Windows 8操作系统及以下版本的对象信息获取方法来获取其对象信息是完全不可行的。
发明内容
本发明为了克服上述技术问题的缺点,提供了一种从64位Windows10操作系统的内存镜像文件中获取对象信息的方法。
本发明的从64位Windows10操作系统的内存镜像文件中获取对象信息的方法,其特别之处在于,通过以下步骤来实现:a).查找非系统进程,采用遍历进程链表的方式,当进程的id≠0且id≠4时,则该进程为非系统进程,并获取其进程结构体变量_Eprocess;b).获取对象句柄表的值,根据步骤a)中的进程结构体变量_Eprocess获取结构体中的对象句柄表ObjectTable变量的值;c).获取对象句柄表的位置,根据对象句柄表ObjectTable值的最后一个字节确定对象句柄表的级数,并确定出对象句柄表在内存镜像文件中的位置;d).获取对象头指针的地址,根据步骤c)中确定的对象句柄表的位置,遍历对象句柄表,分析对象句柄表表项结构,获取对象头指针ObjectHeader的地址;e).获取对象类型,根据步骤d)中获取的对象头指针ObjectHeader的地址,获取对象的类型;f).对象类型的判断,判断步骤e)中所获取的对象类型,对于对象类型不是File和IoCompletion的对象,获取其nameInfo结构体;g).获取对象名称及类型,根据步骤f)中所获取的nameInfo结构体,遍历对象链表,获取链表中对象的名称及类型。
本发明的从64位Windows10操作系统的内存镜像文件中获取对象信息的方法,步骤c)所述的获取对象句柄表位置的方法为:首先,根据_Eprocess进程结构体的内容,获取对象句柄表ObjectTable的地址,并获取对象句柄表ObjectTable;然后,分析进程句柄表的结构“_handle_table”,获取其中“TableCode”变量的值,这个值的低2位记录着对象句柄表的级数;
如果低2位的值为0,说明句柄表只有一级,此时“TableCode”变量的值就是对象句柄表的地址,句柄表是由所有内核对象指针组成的表;如果低2位的值为1,说明句柄表有两级,“TableCode”变量的值指向第一级句柄表,第一级句柄表里存储指向第二级句柄表的指针,第二级句柄表才是所有内核对象指针组成的表。
本发明的从64位Windows10操作系统的内存镜像文件中获取对象信息的方法,步骤d)中所述的对象头指针的地址通过公式(1)进行求取:
ObjectHeaderVal= (((HandleTableEntryVa>>20)&0xFFFFFFFFFFF)<<4) + 0xFFFF000000000000; (1)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省计算中心(国家超级计算济南中心),未经山东省计算中心(国家超级计算济南中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610159574.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种拷贝速率的调节方法及装置
- 下一篇:一种云渲染系统、服务器及方法