2023年12月1日发(作者:)

⽂件系统取证分析(第11章:NTFS概念)

/*

Skogkatt 开始翻译于2015-01-24,仅作为学习研究之⽤,谢绝转载。

2015-01-31更新MFT entry 属性概念。

2015-02-01翻译完成。

译注:我翻译这本书的这三章虽然蓄谋已久,但并不是⼀个计划好的⼯作。因为之前和vczh、mili、darkfall曾讨论过everything这个软

Microsoft称每⼀个表中的entry为⼀个⽂件记录,但是我想把每⼀个entry简称为MFT entry,这样更便于记忆。每⼀个entry都基于其在

表中的位置有⼀个地址,从0开始。所有的entry的⼤⼩都是1024字节,不过实际的⼤⼩定义在引导扇区中。

如NTFS中的所有⼀切⼀样,MFT也是⼀个⽂件。导致这个令⼈困惑的是MFT有⼀个它⾃⼰的entry。表中第⼀个entry名字叫做$MFT,它

描述了MFT在磁盘上的位置。实际上,这是唯⼀描述MFT在磁盘上的位置的地⽅;也就是说,你需要处理这个entry才能得知MFT的布局和

1$MFTMirr含有MFT起始的⼏个entry的备份

2$LogFile含有元数据事务的⽇志

3$Volume含有卷信息

4$AttrDef含有属性信息

在本书中,我们区分了不同类型的地址。例如,我们定义了⽂件系统逻辑地址是⽂件系统数据单元的地址,⼆⽂件逻辑地址是相对于⽂件起

NTFS可以降低⽂件的空间需求,这是通过将某些⾮常驻$DATA属性的数据保存为稀疏来实现的。稀疏属性是那些全为零的簇没有写⼊磁盘

的属性。作为替代,⼀个特殊的run⽤来保存零簇(译注:含有全零数据的簇)。⼀般来说,⼀个run含有起始簇位置和长度,但是⼀个稀

疏run只含有长度没有起始位置。有⼀个标志指出⼀个属性是稀疏的。

有两类加密算法:对称和⾮对称。对称算法使⽤相同的密钥来加密和解密数据。例如,密钥“spot”可以被⽤来将明⽂加密成密⽂,然后通

⽤的密钥可以被⽤来将密⽂解密成明⽂。对称加密⾮常快,但是当共享密⽂数据的时候就会很⿇烦。如果我们使⽤对称加密来加密⼀个⽂件

并且想让很多⼈访问这个⽂件,我们要么需要使⽤⼀个谁都知道的密钥来加密这个⽂件,要么把这个⽂件复制多份并使⽤每个⼈唯⼀的密钥

图11.14显⽰了⼀棵B树,包含名字⽽不是数值。节点A含有三个值和四个⼦节点。如果我们查找⽂件,我们在根节点中查找并且发

然我们⽤⼀些例⼦说明。想象⼀下⼀个索引有三个entry正好放进$INDEX_ROOT。在这种情况下,仅有⼀个$INDEX_ROOT被分配出来,