1、数据恢复技术原理与应用数据恢复技术原理与应用1. 数据恢复的概念与范畴2. 数据恢复的基本原理3. 数据恢复与信息安全的关系4. 数据恢复与取证的关系6. 数据恢复技术的应用领域5. 数据恢复技术研究现状数据恢复,简单的说,就是对一切计算机相关存储设备中丢失的数据进行恢复,这些数据包括所有存储在存储设备中的数据 系统数据与用户数据。算机相关存储设备中丢失的数据进行恢复,据 1. 数据恢复的概念与范畴图 1 备份 /恢复( Backup/Restore)图 备份 恢复( )服务器 (群集) 其他备份(如磁带机等) 备份服务器 本地 / 远程备份 服务提供者 备份 / 恢复( back up/ r
2、 es t or e ) 这里所说的系统,包括当前所有的操作系统,除主流的 Microsoft、 UNIX、LINUX系列外,也包括 MAC系列、各种数字设备 /仪表使用的嵌入式系列以及实时操作系统等。这里所说的存储设备,指的是断电后能保持的存储设备,一般并不包括易失性的存储设备,如内存等。、 、系列外,也包括 系列、各种数字这些存储设备,除了直接与计算机相连的,也包括其他所有同源的与计算机相关的存储设备。也就是说,数据恢复的工作对象涵盖了从最早的软盘,到后来逐渐发展起来的各种硬盘、光盘、移动存储设备,数码存储设备(各种存储卡), MP3、 录音笔、数码相机、工控设备、嵌入式设备、 PDA、
3、手机等等,以及它们在各种系统下的各种组合,如工作在不同操作系统下的 RAID、 NAS、 SAN等等,在数据不可访问时,都可以进行恢复。这些存储设备,除了直接与计算机相连的,最早的软盘,到后来逐渐发展起来的各种硬盘、储卡), 、 录音笔、数码相机、工控设备、 手机等等,以及它们在各、 、 等等,在数据不可访问时,数据出现问题后为什么能够恢复 , 这与操作系统如何管理存储设备上的数据直接相关 。这里以 Windows系列为例来介绍这个问题 , 其他操作系统类似 。我们都知道 , 微软从 DOS开始 , 使用的文件 系 统 为 FAT12, 后 来 逐 渐 发 展 到 FAT16、FAT32和 N
4、TFS, 这些都只是操作系统管理存储介质中的数据的一种方式 , 是用来索引磁盘上的数据的 , 类似于图书分类索引 , 用于定位和管理磁盘上的数据 。数据出现问题后为什么能够恢复 ,作系统如何管理存储设备上的数据直接相关 。系列为例来介绍这个问题 , 其。我们都知道 , 微软从 , 使用的文件 系 统 为 , 后 来 逐 渐 发 展 到 、和 , 这些都只是操作系统管理存储介质中的数据的一种方式 , 是用来索引磁盘上的数据的 , 类似于图书分类索引 , 用于定位和。2. 数据恢复的基本原理如 FAT文件系统 , 在磁盘分区中 , 第一个扇区是引导扇区 , 引导扇区中有很多参数 , 操作系统在访问
5、该分区时 , 就用这些参数来定位FAT文件系统中的其他系统数据 , 以确定该分区中数据的存储情况 。 微软操作系统访问数据时是以文件为单位进行访问的 , 也就是直接与用户打交道的数据单元是文件 , 如使用资源管理器对文件进行复制 、 删除 、 移动等等 , 就是修改数据 , 也是修改的文件的数据 , 这些数据都是依存于文件的 , 文件不存在了 , 数据也就不存在了 。 那么 FAT文件系统是如何管理这些文件的呢 ?如 文件系统 , 在磁盘分区中 , , 操,文件系统中的其他系统数据 , 以确定该分。,、 、 , , ,不存在了 。 文件系统是如何管理这些?首先 , FAT对磁盘扇区的划分方式如
6、下图所示 。, 对磁盘扇区的划分方式如下图所示 。操作系统通过引导扇区获取磁盘分区的相关参数 , 确定两个 FAT表的位置和大小 , 以及文件目录表( FDT) 的位置 , 系统在查找文件 /目录时 , 通过文件目录表来获取文件 /目录的相关信息 , 如文件 /目录名 、 大小 、 时间戳等 , 以及存储的首簇 ( 系统在管理扇区时是以簇为单位的 , 一个簇可能是 1、 2、 4、8、 16、 32、 64个扇区等 ) 号 , 根据首簇号一方面到数据区相应地簇号所对应的扇区找到首簇数据 , 另一方面从 FAT表中找到后续的簇以及结束标示 , 其FAT表与数据区中的簇是一一对应的 , FAT后面
7、的数字 12、 16和 32分别表示 FAT表中用多少位来表示数据区中的一个簇 , 而数据区的实际数据只能通过文件 /目录及子目录来解释 。 这样就确定了一个完整的文件 /目录 , 如下图所示 。操作系统通过引导扇区获取磁盘分区的相关参数 , 确定两个 表的位置和大小 , 以及文件目录表( ) , 系统在查找文件 ,件目录表来获取文件 目录的相关信息 , 目、 、 , (管理扇区时是以簇为单位的 , 一个簇可能是 、 、 、 、 、 ) 号 , 根据首簇号一方面到, 另表中找到后续的簇以及结束标示 , 其表与数据区中的簇是一一对应的 ,字 、 和 分别表示 表中用多少位来表示数据区中的一个簇
8、, 而数据区的实际数据只能通过文件。件 , 。FAT16文件系统的文件目录项 ( FDT) 每一项用 32个字节来定义 , 其含义如下图所示 。文件系统的文件目录项 ( ) 每一项用 , 其含义如下图所示 。FAT32文件系统的文件目录项 ( FDT) 每一项用 32个字节来定义 , 其含义如下图所示 。文件系统的文件目录项 ( ) 每一项用 , 其含义如下图所示 。这样 , 系统在删除文件时 , 只是把 FDT项的第一个字节 ( 即文件名的首字母 ) 改为十六进制的 “ E5”( 即 ASCII码的 “ ? ” ) , 然后将相应的 FAT表中所对应的簇改为 “ 0” , 以表示所对应的数据
9、区中的簇为空 , 可以存入新的数据 ( FAT32还需要将 FDT中表示起始簇号的高 16位清 0) 。 所以 , 对于这样删除的数据 , 虽然从操作系统或文件系统的角度来说 , 文件 /目录确实已经不存在了 , 但通过直接对磁盘扇区进行操作 , 修改 FDT并重新建立 FAT表 , 就可以将文件或目录恢复回来 。当然 , 重建的过程比想象的要复杂的多 。, 系统在删除文件时 , 只是把 项的第一个字节 ( 即文件名的首字母 ) 改为十六“ ( 即 “ ? ” ) ,表中所对应的簇改为 “ ” ,所对应的数据区中的簇为空 , 可以存入新的数据 ( 还需要将 中表示起始簇号的高) 。 , 对于这
10、样删除的数据 ,从操作系统或文件系统的角度来说 , 目录确实已经不存在了 , 但通过直接对磁盘扇区进行操作 , 并重新建立 表 , 就可以。, 。对于 NTFS分区来说 , 采用了和 FAT不一样的管理方式 。 所有存储在分区中的数据都是文件 , 其中这些文件分为两大类 , 一类是元数据文件 , 这些元数据文件 , 用于引导该分区 , 确定文件系统的相关参数 , 定位文件的存储情况 , 相当于 FAT文件系统中的 DBR、 FAT和 FDT, 是用来管理分区的 , 它们所占用的空间称为主文件表 ( MFT) ; 另一类是普通文件 ,它的磁盘扇区使用情况如下图所示 。分区来说 , 采用了和的管理
11、方式 。 所有存储在分区中的数据都是, 其中这些文件分为两大类 ,数据文件 , 这些元数据文件 ,区 , 确定文件系统的相关参数 ,存储情况 , 相当于 文件系统中的 、和 , ,( ) ; ,。MFT中有一个元数据文件专门用来记录所有文件 /目录的相关信息 , 每个文件 /目录占用一条 , 称为文件记录 , 文件记录固定为1KB大小 , 个别结构复杂的文件 /目录还可能占用多条文件记录 。 它的删除与 FAT文件系统类似 , 也有一个标志位 , 同时将记录簇使用情况的位图文件相应的位清空 , 所以 , 删除的文件同样可以恢复 。 NTFS文件记录的组织结构如下图所示 。中有一个元数据文件专门
12、用来记录目录的相关信息 , , 个别结构复杂的文件 目录还可能。, , , 删。文件记录 记录头 属性 属性 属性 记录头 属性 文件记录 文件记录 文件记录 文件记录 属性结构(或称属性体) (常驻属性) 流(实际的属性值) 属性结构 (非常驻属性) 流的存储 位 置 文件记录 记录头 属性 流(实际的属性值) 常驻属性 流的存储位置(非常驻) 标准属性头 属性内容 标准属性头 属性内容 对于这两种文件系统 , 格式化相当于将所有文件 /目录全部删除 , 所以 , 格式化后的分区 , 仍然可以恢复数据 。对于这两种文件系统 , 格式化相当于将所有文件 目录全部删除 , , 格式化后的, 。d
13、irectory /home/youfoo 123bar 456 and so oninode 123owner/group IDmactimes reference countfile/directory/etcdata block #saccess permsfile sizedata blocksdata blockdata blockdata block而典型的 Unix和 linux文件系统为:ext2、 ext3, 采用 i-node的管理方式 。文件被删除后保留的信息directory /home/youFoo 123bar 456 and so oninode 123owner
14、/group IDmactimes * reference count*file/directory/etcdata block #saccess permsfile sizedata blocksdata blockdata blockdata block如果恢复不了,就等于宣布数据彻底丢失,只能重建。重建的成本和时间,很多情况下都是无法估量的接受的。而造成数据丢失的原因非常多,如系统软硬件故障、断电、死机、病毒破坏、黑客攻击、木马破坏、误操作、磁盘阵列失效、磁盘电路板损坏、盘体坏、磁道坏、磁盘内部损坏,以及口令遗失、文档错乱等情况,都是数据恢复的研究范畴。这种情况下,数据恢复就是找回数据的
15、最后一颗 “ 救命稻草 ” ,所以说,数据恢复是信息安全的最后一道防线。如果恢复不了,就等于宣布数据彻底丢失,硬件故障、断电、死机、病毒破坏、黑客攻击、“ ” ,所以说,数据3. 数据恢复与信息安全的关系说它是最后一道防线,还有一层意思,那就是:虽然在信息的收集、整理、创建、存储、管理、应用、更新、备份中,一般并不考虑数据的恢复问题,但在其生命的最后一个阶段 销毁的时候,一定要考虑信息的反恢复问题,反过来说,任何需要信息保密的地方,都需要考虑数据的反恢复问题,所以实际上,数据恢复与反恢复,是伴随信息生命的整个周期的,从这个意义上来讲,它的研究,远还没有受到应有的重视。销毁的时候,一定要考虑信息
16、处理过公文,要脱密,先格式化,然后重分区,安装操作系统,再格式化,安装各种防护程序 , 似乎是安全的,但是,即使通过一般的系统调用,按扇区收集信息 ,网络存在的安全威胁网络内部网泄密!拒绝服务攻击逻辑炸弹特洛伊木马 黑客攻击计算机病毒信息丢失、篡改、销毁后门、隐蔽通道蠕虫从本质上讲,数据恢复与计算机取证,无论是工作基础、基本原理、基本原则、工作对象,还是注意事项和工作流程,都同出一门,只是侧重点和目标不一样。比如,数据恢复一般需要完整的恢复文件或系统,计算机取证则只要有确切的信息,哪怕是零碎信息,只要可以作为确切的证据即可;4. 数据恢复与取证的关系获取证物 鉴定证物 分析 证据呈堂全程监督链客户设备 完整镜像 恢复 检验接收当然,两者也有不一致的地方,如计算机取证可能需要对计算机工作状态进行取证,而数据恢复一般不做这方面的工作;另外采用的侦察手段也不一样,数据恢复是直接地,面对面地工作,而计算机取证,可能需要法律上的刑侦手段。另外,侧重点也不一样,如数据恢复主要是为了恢复一个 WORD文档,而计算机取证,可能还需要找出这个 WORD文档是属于谁的。即使是这样,也可以说,两者的差别主要来源于法律程序,而不是技术手段。机取证可能需要对计算机工作状态进行取证,用的侦察手段也不一样,数据恢复是直接地,文根据不同的法律程序使用相似的技术手段数据恢复计算机取证计算机取证 证据数据