一枝笔写作事务所 2012-06-16 字数4292字 点击: 次
Windows注册表Hive文件恢复
1.引言
最近几年,Windows注册表的取证分析技术逐渐成为计算机取证研究的重点之一。但是基于Windows注册表的取证分析技术还处于起步阶段,大部分的研究主要集中在注册表的分析,缺乏对注册表Hive文件恢复的研究。1999年,Russinovich在《注册表内部结构》中描述注册表的物理结构[1]。2005年,HarlanCarvey[2]提出了把注册表作为计算机取证的信息来源。2007年,TimothyMorgan在文献[3]中提出的算法能够从Hive文件中恢复出被删除的数据。对于操作频繁的Hive文件,此算法恢复效果就不是很理想。2008年,JolantaThomassen[4]在她的硕士毕业论文中深入浅出的介绍了Hive文件内部各组成部分的作用和原理,并且改进了被删除注册表数据的恢复算法。2008年,BrendanDolan-Gavitt在文章[5]中详细说明了注册表存储在物理内存中的结构,并开发了基于内存的注册表取证工具。
2.Hive文件介绍
WindowsXP的注册表逻辑上是以树形结构组织。它由两个注册表子目录树组成:HKEY_LOCAL_MACHINE(HKLM)和HKEY_USERS(HKU)。其实,在物理上注册表信息存储在多个独立的二进制文件中,这些文件被称为Hive。表1.1介绍注册表路径对应的Hive文件及其相关文件。
1999年,Russinovich首先描述Windows注册表Hive文件的的内部结构,并且说明各个组成部分的相互关系。具体内部结构如图1.1所示。注册表Hive文件包含头部块(Baseblock)和HBIN(HiveBin)。头部块和HBIN的大小都是4096字节的整数倍。注册表的第一个块被称为头部块,在头部块后面是Hive文件所有HBIN块,每个HBIN包含一个HBIN头部和多个cell。头部块包含Hive文件的一些重要信息,如魔幻数“regf”、该Hive文件的名称、存储路径、修改日期和到根项的偏移量。HBIN头部包含魔幻数“hbin”、到第一个HBIN块的距离和该HBIN块的大小等信息。
图1.1Hive文件内部结构
2.1分析
因为Windows系统中含有其它内部结构和Hive文件相似的文件,如:Hive文件的相关log文件和sav文件等,所以在对Hive文件恢复前,必要先对这些文件进行分析,研究它们之间的异同点。
在WindowsXPSP2系统中,通过注册表路径HKLM\SYSTEM\CurrentControlSet\Control\Hivelist,可以找到全部的注册表Hive文件和相关的路径。其中HARDWAR存储系统启动的时候检查到的硬件信息,本文不对该文件进行恢复。SAM全称是安全账户管理,用来保存用户及用户组信息。SECURITY记录系统的安全信息。SOFTWARE存储每个应用程序的设置。SYSTEM记录磁盘驱动和服务配置。.DEFAULT记录关于用户的缺省设置。每一个用户都有NTUSER.DAT和UsrClass.dat,分别记录与用户的配置相关的信息和用户的文件类型关联信息。
除了Hivelist中包含的Hive文件之外,系统在其它(本文转载自 www.yzbxz.com 一枝笔写作网)地方也存储着和注册表相关的数据。log文件是Hive文件的修改事件日志文件。sav文件WindowsXP安装过程中创建的Hive文件的备份文件。userdiff的作用是把用户的特征从前一个版本WindowsNT更新到WindowsNT4.0。REGLOCS.OLD是Windows系统运行过程中产生的垃圾文件。hiberfil.sys是系统休眠文件。pagefile.sys是页面交换文件。repair文件夹下面的这些文件(default,ntuser.dat,sam,security,software和system)都是Windows系统第一次安装成功时生成的。剩余空间也包含Hive文件主要是由于删除操作系统或者系统用户遗留的。
本文源自一枝笔写作,地址:https://www.sdyizhibi.com/wm/lw/jsjlw/091Q21252013.html 复制链接