引言
要掌握基于Windows系统的RAID数据恢复技术,首先需要对Windows系统下的分区结构和文件系统有深入的理解。作为当今广泛使用的操作系统之一,Windows支持多种分区方式,包括MBR(主引导记录)磁盘分区、动态磁盘以及GPT(GUID分区表)磁盘分区。此外,它还兼容不同的文件系统格式,如FAT12、FAT16、FAT32、NTFS以及ExFAT。在实际应用中,特别是在服务器领域,NTFS是最常用的文件系统类型。
01
MBR(Master Boot Record):传统BIOS系统使用的标准分区方案,支持最多4个主分区或3个主分区加一个扩展分区。
GPT(GUID Partition Table):UEFI启动模式下使用的新一代分区表格式,支持更大的磁盘容量和更多的分区数量。
动态磁盘:允许创建跨多个物理磁盘的卷,包括简单卷、带区卷、镜像卷等配置,适用于高级存储需求场景。
02
NTFS:新科技文件系统,提供文件加密、权限管理等功能,是Windows NT及其后续版本的主要文件系统。
FAT12/FAT16/FAT32/ExFAT:虽然这些文件系统仍被某些设备采用,但在现代服务器环境中,它们主要用作兼容性解决方案,并不作为主要文件系统使用。
03
RAID(磁盘阵列):独立磁盘冗余阵列是一种将多个硬盘组合成逻辑单元的技术,以实现数据冗余或者提高性能。
常见RAID级别:
RAID 0:磁盘容量叠加,提供最高性能但无容错能力。
RAID 1:磁盘互为镜像,两块硬盘内容完全相同,可防止单点故障。
RAID 5:至少需要3块硬盘,通过奇偶校验信息实现数据保护。
RAID 6:类似于RAID 5,但增加了第二个奇偶校验位,提高了容错能力。
RAID 10:结合了RAID 1和RAID 0的优点,同时具备高可用性和高性能。
04
在进行RAID重组与数据恢复时,理解并利用分区结构是非常关键的,它不仅可以帮助确定RAID成员盘的顺序(盘序),还能提供关于RAID布局的重要信息,如物理盘中RAID的起始扇区、盘序结构等。
假设有一个由两块500GB硬盘组成的RAID-0阵列。为了分析这个RAID-0阵列的盘序,我们可以通过查看这两块硬盘的第一个扇区,查找是否有完整的MBR结构判断1号盘和2号盘。如下图,第一块盘很明显有完整的MBR结构有引导程序、分区表及结束标志。
05
在NTFS文件系统中,$BOOT文件(通常称为引导扇区或启动扇区)由DBR(DOSBootRecord)和NTLDR(NTLoader)区域构成。DBR中的BPB(BIOSParameterBlock)参数对分析RAID结构非常有帮助。另外,$BOOT文件有时候还能够帮助我们判断条带(条带是RAID处理数据的基本单元)大小以及RAID成员盘的盘序。
NTFS文件系统的大致结构
在分析NTFS文件系统的RAID结构时,经常会从$MFT(MasterFileTable)文件入手。因此,能够准确、快速地找到$MFT(MasterFileTable)文件在物理盘中的位置是分析的前提,我们此时就可以利用BPB(BIOS Parameter Block,BIOS参数块)参数来定位$MFT文件。还是以上述RAID-0为例,在第一块盘的第264,192扇区找到了一个NTFS的DBR,从下图中能够知道该文件系统每簇扇区数为8,$MFT文件的开始簇号为786,432,所以可以计算出$MFT文件在该逻辑卷中的扇区号为786,432×8=6,291,456,而该RAID是由两块物理盘组成的,所以$MFT文件在物理盘中的开始扇区大致为(6,291,456/2)+264,192=3,409,920。跳转到3,409,920号扇区,果真是$MFT文件的开始。
NTFS的DBR
第3,409,920号扇区
06
通过$MFT文件判断
分析条带大小对于重组RAID是很重要的一个环节,条带大小也称为块大小,它决定了数据在各个成员盘上的分布方式,不同的RAID级别和配置可能有不同的条带大小,而只有判断出准确的条带大小才能使RAID实现重组,从而进行下一步恢复的操作。在NTFS文件系统中,$MFT文件是一个最大的元文件,$MFT文件由文件记录构成,每个文件记录的大小为两个扇区,并且文件记录都是以固定的4个字节开始,这4个字节是十六进制的“46494C45”。通过这个特征我们可以判断RAID-5中哪些条带是数据块,哪些条带是校验块,可以利用这个文件分析RAID条带大小。
从Windows XP开始以及后来的Windows Server 2003、Windows Vista、Windows Server 2008等操作系统格式化的NTFS文件系统都包含文件记录号(偏移2CH~2FH处为文件记录编号),在Windows Server 2000及Windows NT操作系统格式化的NTFS文件系统是没有文件记录号的。
以RAID5为例,我们找到其$MFT后查看相同扇区中的文件记录号,1号盘为0x00,2号盘为0x40,3号盘为当前扇区校验。将1、2号盘中的文件记录号换算为10进制分别为0和64,那么这两块成员盘相同扇区中的文件记录号相减就是一个条带包含的文件记录数,而每个文件记录占2个扇区,所以条带大小为128KB。
盘序的分析方法有很多种,这里我们主要讲通过$MFT中确认了的文件记录号来判断盘序。当我们找到三块物理盘在同一扇区对应的文件记录号,我们就可以根据文件记录号从小到大排列的顺序,作为RAID5的盘序的参考。如果$MFT没有记录文件记录号,就会相对复杂一些,需要先判断校验的方向(在RAID5的基本结构中,左异步、左同步、右异步、右同步。在这些名称中的“左”、“右”就是针对校验方向来说的,所谓“异步”与“同步”,是指数据块的写入方式),然后反推该物理盘上第一个校验块所在扇区,从而判断该RAID5的盘序。
结语
近期,奇安信洞鉴基于实战经验编纂了《网络犯罪社会治理案例手册》,涵盖诈骗勒索、网络传销、网络赌博等典型网络犯罪的技术解析与取证规范。更多典型案例请请扫码下载👇
奇安信集团旗下有北京、上海、西安三家司法鉴定所:北京网神洞鉴科技有限公司司法鉴定所、盘石软件(上海)有限公司计算机司法鉴定所与陕西西安洞鉴云侦声像资料司法鉴定所。其中,上海所是上海第一家通过 CNAS 认证认可的民营计算机类司法鉴定机构。三所均通过了CMA资质认定,是目前国内少数能够通过自主研发软件进行取证与分析的电子数据司法鉴定机构,具有独立的实验室场所,其中包括:案件受理区、数据恢复区、手机取证区、计算机取证区、屏蔽室、无尘工作间和物证室,并配备多种国内外先进的技术检验及辅助设备。经过多年的时间积累和发展,现拥有一批胜任鉴定工作的专业技术人员,以专业的技能和丰富的经验,来开展声像资料和电子数据司法鉴定工作。开展的鉴定服务范围包括:声像资料鉴定、电子数据司法鉴定、计算机证据固定和获取、手机终端取证与分析、数据恢复、密码破解以及涉及电子设备的民事调查等。
鉴定热线&地址:
010-56509288(北京)
北京市西城区西直门外南路26号院1号-奇安信安全中心B1
021-52658848(上海)
上海市闵行区合川路2555号科技绿洲三期五-3号楼4层
029-86196688(西安)
陕西省西安市经济技术开发区凤城二路1幢经发大厦B座10607室
原文始发于微信公众号(网络安全与取证研究):RAID数据恢复深度解析:如何通过$MFT与分区结构重建Windows磁盘阵列
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论