U 盘数据恢复的研究与实现.doc_第1页
U 盘数据恢复的研究与实现.doc_第2页
U 盘数据恢复的研究与实现.doc_第3页
U 盘数据恢复的研究与实现.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

U 盘数据恢复的研究与实现 摘 要:作为新一代半导体存储器,flash 存储器在密度及访问速度方面有着优越的性能,这使人们想到用它来制造文件存储器,从而克服磁盘在体积、耗电、抵抗恶劣环境方面的不足。由于 flash 存储器特有的擦除块结构,使得对它进行数据恢复面临许多问题。本文通过对U 盘进行实验研究,找出了一种通过读取 flash芯片进行数据恢复的方法。 关键词:flash存储器;U盘;数据恢复 0. 引言 “数据恢复”技术,顾名思义、就是面对计算机系统遭受误操作、病毒侵袭、硬件故障、黑客攻击等事件后,将用户的数据从各种“无法读取”的存储设备中拯救出来,从而将损失减到最小的技术。数据恢复作为信息安全领域一个研究课题,已经有十几年的发展历史了。国外数据恢复的研究起步最早,现在已经有比较成熟的商用数据恢复软件和商用数据恢复机,比如美国的Ontrack公司开发出了easyrecovery, 俄罗斯的硬盘实验室ACE开发出了PC3000数据恢复机;国内的数据恢复研究起步较晚,但是发展很快,现在比较权威的是以戴士剑先生为代表的军方研究所和以涂彦晖先生为代表的数据恢复公司。 目前计算机取证技术已经逐渐成为信息安全领域的一个热点。 而作为计算机取证当中比较重要的一个功能模块数据恢复,在实际的取证过程中越来越体现出它的重要性。 随着技术的发展,FLASH闪存存储设备,比如U盘,现在越来越成为广大电脑用户存储数据、备份数据、编辑数据的重要数码载体。由于 FLASH 闪存的数据存储原理与传统硬盘完全不同、大相径庭,因此对于出现严重硬故障的 FLASH 闪存存储设备的数据恢复,一直是困扰国内专业数据恢复机构的技术难题。 本文将分析 U 盘 flash 存储器的存储方法,通过实验研究找出一种通过读取 flash 芯片来进行数据恢复的方法。 1. Flash存储器与U盘结构原理 1.1 Flash 存储器 闪存(flash memory)是一种常用的存储介质,它是一种非易失、防震、节能的存储设备。通常,闪存由若干个闪存块组成,每个闪存块又分为若干个物理页。闪存块是擦除操作的最小单位,而读和写都是以页为单位。 以本论文采用的芯片 K9K8G08U0A为例,是一款2Gx8 的NAND Flash,由 4096 个块组成,每块 128页,每页4k+128 字节,其中的4k字节是数据存储区,附加的 128 字节是备用区, 用于保存一些页面信息及ECC校验数据等。 整个 flash被分为两个 plane, 分别有 2048个块,两个 plane可以同时读写,加快了读写速度。 与磁盘不同,闪存采取异地更新的策略,更新的数据会被放到别的物理页上,而不是覆盖原来的数据。包含新版本数据的页被称为有效页,新版本数据被称为有效数据。包含旧版本数据的页被称为无效页,或称为脏页,脏页经过擦除操作后成为空闲页,才可以重新写入数据。 因为闪存是以块为单位执行擦除的, 因此需要将脏页所在块上的所有的物理页都擦除,在擦除之前需要检查此块上是否存在有效页,如果存在就必须先转移到其他块上。因为每个闪存块的擦除次数有限,一般是在 10 万次到 100 万次之间,只要有块的擦除次数达到了上限,闪存数据存储的性能下降。所以需要运用磨损均衡(wear2leveling)算法使擦除操作平均地发生在各个块上。 1.2 U盘结构 由于闪存采用异地更新的缘故,逻辑页与物理页的对应关系一直在改变,所以要正确存取数据就必须建立一个物理页和逻辑页的映射表。这样,数据更新后只需改变映射表中物理页的地址,并将原版本数据所在的物理页标示为无效。 为维护逻辑页与物理页映射表,U 盘使用一个主控芯片来控制 flash 芯片的读写,而主机 PC 通过 U 盘主控芯片进行数据的读写,并不直接对 flash 存储器进行操作。U 盘中逻辑页与物理页映射表由主控芯片自己维护与保存,一般也会写入部分信息到备用区,在主控芯片失效的情况下,只能从备用区中找寻相应的信息,以将物理数据按逻辑顺序重新组织,如果主控芯片不将相应内容写入备用区,则很难实现数据恢复。主控芯片是否会将相关信息写入flash芯片,可以通过对正常U盘的实验研究得知。 2. 实验数据设计与写入 2.1 FAT 文件系统结构 为了方便实现数据的移动使用,U 盘中普遍使用被各种操作系统广泛支持的 FAT 文件系统,一个 FAT 文件系统包括四个不同的部分。 1 保留扇区(主激活区)。位于最开始的位置。第一个保留扇区是引导区(分区启动记录)。它包括一个称为基本输入输出参数块的区域(包括一些基本的文件系统信息尤其是它的类型和其它指向其它扇区的指针),通常包括操作系统的启动调用代码。保留扇区的总数记录在引导扇区中的一个参数中。 2 FAT 区域。它包含有两份文档分配表,这是出于系统冗余考虑,尽管它很少使用,即使是磁盘修复工具也很少使用它。它是分区信息的映射表,指示簇是如何存储的。文档分配表的大小(占用扇区数)以及每个簇的大小都保存在引导扇区的相应参数中。 3 根目录区域。它是在根目录中存储文档和目录信息的目录表。在 FAT32 下它可以存在分区中的任何位置,但是在早期的版本中它永远紧随 FAT 区域之后。根目录所在簇号保存在保留扇区的一个参数中,通常情况下根目录位于第一个簇中,即数据区域开头。 4 数据区域。这是实际的文档和目录数据存储的区域,它占据了分区的绝大部分。通过简单地在 FAT 中添加文档链接的个数可以任意增加文档大小和子目录个数。 Fat 文件系统中,要分配数据簇时总是分配第一个空闲簇,在刚格式化完的新文件系统中,所有簇都是空闲的,此时往一个文件中连续写入数据时,则数据将按顺序写入连续的逻辑扇区中。下一小节将根据这个性质,设计基于逻辑扇区号的实验数据。 2.2 写入文件数据 格式化完后,根目录位于第一个数据簇,在根目录中新建一个文件,将从第二个簇开始为它分配空间,从保留扇区数据可以计算出文件开始的逻辑扇区号即第二个簇的扇区号:保留扇区数+2*文档分配表占用扇区数+第一个簇占用扇区数。 向文件中连续写入数据, 将会依次写入以后的逻辑扇区中。 为方便后期数据的观察分析,现将每个逻辑扇区以 16个字节的 0xAA 开头,0xEE结尾,中间用逻辑扇区号填满,逻辑扇区号为无符号整形,占四字节,则每个扇区填入(512-32)/4=120个数,填入后效果如图 3(该扇区起始地址为 0x777800,逻辑扇区号为 0x777800/512=0x3BBC)。 将 U 盘数据区写好数据后,就可以拆开 U 盘,取下 flash 芯片,用专用工具读出 flash芯片上的内容。 3. flash数据分析 用十六进制编辑器打开读出的 flash 数据镜像,由于写入了大量的规律信息,很容易找到我们写入的各扇区内容,经过观察可以看到,flash 芯片中的内容组织为每个扇区后接 16个字节的备用区信息 并且通过观察可以看到同一物理页中的八个逻辑扇区是连续的, 但相邻页之间间隔了八个逻辑扇区,考虑到 flash芯片为2个plane同时读取,猜测中间八扇区存于另一 plane的对应页中,这样可以同时读取连续的十六个逻辑扇区,在 flash 数据中找到另一 plane 相应的物理页数据,可以证实这一猜测。因此可以知道U盘在写入数据时是以 16个扇区为一个逻辑页写入一对物理块中的同一物理页中。 另外通过观察数据还可以看到,同一物理块中的备用区信息中,前三字节内容以计数器形式变化,第 3 字节最高位恒为零,低七位对应逻辑扇区号第 8位第 15位,前两个字节的内容也有一定规律,将逻辑页号与备用区前三字节均写为二进制形式,可以看出备用区信息与逻辑页号之间的关系。如上图逻辑页号为 0x106FC,备用区前三字节为 0x247F2A,写为二进制: 0x106FC: 000 1000001101 1111100 0x260D7C:001001 100000110101 111100 用 C语言可以写为: logicPageNumber=(byte2&0x7f)+(byte17)+(byte0&0x3)15); 此逻辑页号为 18 位,不能表示所有逻辑页,即不同逻辑页可能包含相同逻辑页号,扫描所有逻辑页号,可以证实这一情况,除了两个 plane中对应物理页逻辑页号相同外,还有另外一对物理页逻辑号相同,出现在物理块 20484095 中,且所有逻辑页号范围为00x1dd7f。查看数据可以知道,物理块 20484095中的逻辑页号应加上 0x1dd80。 知道了物理页的逻辑页号,将物理页按逻辑号重新排列起来,就得到了 U 盘的逻辑镜像,在此基础上就可以使用高级数据恢复工具进行文件系统的扫描与恢复。 4. 结束语 针对 flash 存储器的数据恢复问题,本文提出了一种通过写入静态数据进行实验观察来实现数据恢复的方法。下一阶段工作将对多种 U 盘进行分析研究,寻找通过扫描统计备用区信息,实现半自动甚至自动分析的方法。Flash 存储器的使用已经非常广泛,在手机,录音笔等数码设备中也有大量的存在,基于 Flash 存储器的数据恢复将成为数据恢复的重要部分。 参考文献 1 龚勇Windows 下数据恢复的研究D,成都:电子科技大学,2008 2 GAL ERAN,TOLEDO SIVAN.Algorithms and data structures for flash memoriesJ.ACM Computing Surveys,2005,37(2):138-163. 3 黄德才,邢春波,吕莲.闪存磨损均衡算法综述N.浙江工业大学学报,2009年 2 月第 37 卷第1 期. -7- 中国科技论文在线 Research and Implementation of U Disk Data Recovery Yi Lingying Beijing University of Posts and Telecommunications, Beijing (100876) Abstract As a new generation of semiconductor memory, flash memory has a superior performance in the density and speed of access , which makes people think of using it to make file storage, thereby overcoming the deficiencies of disk in the volume, power consumption, resistance to harsh environmental .

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论