论文部分内容阅读
[摘 要]为了逃脱公安机关的打击,犯罪分子经常将计算机上的犯罪数据信息彻底删除,或将分区甚至整个硬盘进行格式化操作,从而使得重要的犯的罪证据丢失,给案件的取证带来极大的困难。因此,如何迅速准确的在计算机上恢复出犯罪证据,成为切实打击犯罪的一个关键因素。本文通过对NTFS文件系统结构的详细介绍,重点分析了NTFS文件系统的主文件表MFT、文件记录的结构和文件的几个关键属性(即文件名,标准信息,数据流等),从计算机取证角度探讨NTFS文件系统下访问文件(夹)的方法,研究NTFS文件系统下文件和文件夹的操作痕迹,并在此基础上提出了一种基于NTFS文件系统的数据恢复算法。该算法通过分析NTFS文件系统的结构,将待取证的数据分为3类,采取不同的策略进行处理,通过数据恢复技术恢复被删除的数据并在此基础上实现计算机取证。
[关键词]计算机取证;文件系统;NTFS;数据恢复
中图分类号:P413 文献标识码:A 文章编号:1009-914X(2014)24-0309-01
1.引言
随着信息化社会的快速发展及电脑的广泛应用,使用计算机进行犯罪的案件越来越多,给人们和社会造成了巨大的财产损失。因此,如何迅速准确的在计算机上恢复出犯罪证据,成为切实打击犯罪的一个关键因素。Windows操作系统占据了约90%的现有个人桌面系统,而NTFS是Windows操作系统主要使用并大力发展的文件系统。从计算机取证的角度提取文件操作的痕迹,要保证取证操作的原始性,就不可以调用操作系统提供的文件操作命令,而需要直接存取磁盘扇区,也就需要研究文件系统的相关数据结构[1];文件和文件夹的增加、删除、修改等操作会在存储介质上留下痕迹,分析这些痕迹,对于信息保密、数据恢复、计算机取证等都具有重要价值。本文首先通过对NTFS文件系统的结构和数据存储结构进行了详细介绍,重点分析NTFS文件系统的主文件表MFT、文件记录的结构和文件的几个关键属性(即文件名、标准信息、数据流等属性),并在此基础上通过分析文件删除前后文件属性值的变化,提出了在NTFS文件系统上进行计算机取证的算法,针对NTFS的特点对不同类型的数据提出了不同的处理策略。
2.NTFS文件系统介绍
NTFS和传统的FAT32文件系统在结构上几乎是完全不同的两种文件系统,NTFS自身具有很多新的特征,比如安全性、容错性、文件压缩和磁盘配额等,都是相对其他系统特殊的地方。NTFS分区主要由引导扇区、主文件表(Master File Table,MFT)、系统文件和文件存储区域等4个部分组成[2]。
1)NTFS数据存储结构
NTFS以簇为基本单位分配和回收存储空间,与FAT结构不同,NTFS卷(volume)从0扇区开始划分簇,每簇为1,2,4或8个扇区,根据分区的大小有一默认值,但是在格式化时可以人工选择。每簇扇区数保存在BOOT扇区(0扇区)。NTFS使用逻辑簇号(logical cluster number,简称LCN)和虚拟簇号(virtual cluster number,简称VCN)来对簇进行定位,同时,通过LCN来对整个卷中的所有簇从头到尾按照顺序进行编号,将卷因子乘以LCN,就可以得到卷上物理字节的偏移量,从而可确定物理磁盘的详细地址。VCN则是对特定文件的簇从头到尾按照顺序进行编号,方便引用文件中的数据。同时VCN可以映射成LCN,由Data Runs完成这个映射。NTFS数据区管理不是采用链接存储,而是采用索引存储,文件通过自己的Data Runs建立索引表,一个Run就是一个连续存储块,Data Runs由若干Run组成,以0结束。在NTFS中,卷上的所有的数据信息都存储在文件中,这当中包含了引导程序(即用来获取及定位文件的一种数据结构)以及位图文件(记录卷使用情况和大小)。一般来说,不论簇的大小会是多少,文件记录的大小都将是固定不变的,且为1KB。
2)分区引导扇区
在操作系统引导的过程中,分区引导扇区起着很重要的作用,其中存储着和卷文件相关的结构信息和启动引导程序等。操作系统在建立文件系统时,生成的BPB参数记录着NTFS系统中的很多重要信息,包含了每簇扇区数、分区的扇区总数、MFT的起始逻辑簇号、文件系统标识等信息。在NTFS中,分区上的所有数据都是以文件的形式存储的。
3)主文件表MFT
主文件表MFT在NTFS文件系统中处于最核心、最重要的地位,通过MFT可以确定所有文件在磁盘上的详细存储位置。主文件表由一系列文件记录组成,是一个与文件对应的数据库,卷中的每一个文件都包含着一个文件记录,其中的第一个文件记录是基本文件记录,它主要存储着其它扩展文件记录的一些详细信息。MFT文件记录数组中的文件记录在物理上是连续的,并且都是从0开始编号。MFT仅供系统自身构架、组织文件系统使用,被称作元数据。所有的元文件名字都是以“$”开始,其都是隐藏文件。MFT表中的前l6个元数据是最重要的。为了防止数据的丢失,在卷存储区中,NTFS系统对它们进行了备份。
3.NTFS卷文件操作痕迹及对计算机取证的影响
计算机取证,首要的问题是掌握什么时间发生了什么事情。有一个重要的文件属性是时间属性,NTFS中的时间属性有4项:文件的创建时间,最后修改时间,最后访问时间以及MFT修改时间,全部精确到100ns。最后访问时间是文件操作痕迹中最敏感的证据特征。文件操作痕迹反映在文件的增加、删除和修改[3]。
1)删除文件(夹)的痕迹
删除一个文件(夹),系统回收其文件记录,加删除标记,如果该文件(夹)还占用了数据区,系统也回收,在位图中对应位置置0。回收的文件记录和数据区可供再分配。FAT系统中的文件删除后,如果文件的存储空间是不连续的,恢复时很难确定文件的链接关系,而NTFS系统中的文件删除后,如果数据空间没有被覆盖,只要文件记录还存在,Data Runs不会被改变,很容易由它确定文件数据的存储位置,提高了数据恢复的准确性。
删除文件后,该文件所属的文件夹,也要删除该文件的目录项。如果它是非驻留的,将在INDX记录内删除它,操作的方式不是加删除标记,而是将该INDX记录中后面的数据前移,如果INDX空间占用不足一半,将引起B+树的调整。
2)增加文件(夹)的痕迹
增加文件,系统首先分配一个文件号,根据文件大小确定是否需要分配数据区,如果分配了,则在文件记录中记录其存储索引。增加文件还在文件所在的文件夹增加目录项,记录文件的文件号和基本目录属性,目录项保存在文件记录或INDX记录中,并可能引起所属文件夹B+树的变化。增加文件夹如同增加文件,只是文件夹的内容就是文件夹下的目录数据,并且根据文件名顺序调整B+树。文件改名,由于系统要依据文件名维护B+树,新位置增加目录,原位置删除目录项,有可能引起B+树的调整。
3)文件(夹)的复制和移动
文件复制,与FAT文件系统一样,新位置上所产生的痕迹如同增加文件,文件的目录属性只保留文件的文件名称和修改时间。
文件夹复制,其下文件复制的痕迹同上,文件夹的时间属性全部刷新。
文件移动、跨盘移动时,如同在新盘创建且在原盘删除;同盘移动时,文件的存储位置不变,文件记录号也不变,文件记录中只有“最后访问时间”和上层文件号发生变化,另外从原来文件夹中删除了该文件的目录项,在新文件夹中增加了该文件号,新旧文件夹的变化都可能引起B+树的变化。
4.结论
在计算机取证时需要全面把握,分析各种文件操作对数据的影响以及留下的痕迹,提高取证精度和证据的利用价值。通过对取证目标磁盘中尚可组织和不可组织这两类数据的划分,能够将其中被删除的数据、Slack数据等组合成为有组织的数据,再运用数据挖掘技术进行处理,从而实现NTFS文件系统的恢复和取证。同时研究更多的文件操作其他痕迹特征以及怎样将机器学习、数据挖掘等更好地适用于海量数据处理的计算机取证技术是下一步研究的内容。
参考文献
[1] 尤晋元.Windows操作系统原理[M].北京:机械工业出版社,2001.
[关键词]计算机取证;文件系统;NTFS;数据恢复
中图分类号:P413 文献标识码:A 文章编号:1009-914X(2014)24-0309-01
1.引言
随着信息化社会的快速发展及电脑的广泛应用,使用计算机进行犯罪的案件越来越多,给人们和社会造成了巨大的财产损失。因此,如何迅速准确的在计算机上恢复出犯罪证据,成为切实打击犯罪的一个关键因素。Windows操作系统占据了约90%的现有个人桌面系统,而NTFS是Windows操作系统主要使用并大力发展的文件系统。从计算机取证的角度提取文件操作的痕迹,要保证取证操作的原始性,就不可以调用操作系统提供的文件操作命令,而需要直接存取磁盘扇区,也就需要研究文件系统的相关数据结构[1];文件和文件夹的增加、删除、修改等操作会在存储介质上留下痕迹,分析这些痕迹,对于信息保密、数据恢复、计算机取证等都具有重要价值。本文首先通过对NTFS文件系统的结构和数据存储结构进行了详细介绍,重点分析NTFS文件系统的主文件表MFT、文件记录的结构和文件的几个关键属性(即文件名、标准信息、数据流等属性),并在此基础上通过分析文件删除前后文件属性值的变化,提出了在NTFS文件系统上进行计算机取证的算法,针对NTFS的特点对不同类型的数据提出了不同的处理策略。
2.NTFS文件系统介绍
NTFS和传统的FAT32文件系统在结构上几乎是完全不同的两种文件系统,NTFS自身具有很多新的特征,比如安全性、容错性、文件压缩和磁盘配额等,都是相对其他系统特殊的地方。NTFS分区主要由引导扇区、主文件表(Master File Table,MFT)、系统文件和文件存储区域等4个部分组成[2]。
1)NTFS数据存储结构
NTFS以簇为基本单位分配和回收存储空间,与FAT结构不同,NTFS卷(volume)从0扇区开始划分簇,每簇为1,2,4或8个扇区,根据分区的大小有一默认值,但是在格式化时可以人工选择。每簇扇区数保存在BOOT扇区(0扇区)。NTFS使用逻辑簇号(logical cluster number,简称LCN)和虚拟簇号(virtual cluster number,简称VCN)来对簇进行定位,同时,通过LCN来对整个卷中的所有簇从头到尾按照顺序进行编号,将卷因子乘以LCN,就可以得到卷上物理字节的偏移量,从而可确定物理磁盘的详细地址。VCN则是对特定文件的簇从头到尾按照顺序进行编号,方便引用文件中的数据。同时VCN可以映射成LCN,由Data Runs完成这个映射。NTFS数据区管理不是采用链接存储,而是采用索引存储,文件通过自己的Data Runs建立索引表,一个Run就是一个连续存储块,Data Runs由若干Run组成,以0结束。在NTFS中,卷上的所有的数据信息都存储在文件中,这当中包含了引导程序(即用来获取及定位文件的一种数据结构)以及位图文件(记录卷使用情况和大小)。一般来说,不论簇的大小会是多少,文件记录的大小都将是固定不变的,且为1KB。
2)分区引导扇区
在操作系统引导的过程中,分区引导扇区起着很重要的作用,其中存储着和卷文件相关的结构信息和启动引导程序等。操作系统在建立文件系统时,生成的BPB参数记录着NTFS系统中的很多重要信息,包含了每簇扇区数、分区的扇区总数、MFT的起始逻辑簇号、文件系统标识等信息。在NTFS中,分区上的所有数据都是以文件的形式存储的。
3)主文件表MFT
主文件表MFT在NTFS文件系统中处于最核心、最重要的地位,通过MFT可以确定所有文件在磁盘上的详细存储位置。主文件表由一系列文件记录组成,是一个与文件对应的数据库,卷中的每一个文件都包含着一个文件记录,其中的第一个文件记录是基本文件记录,它主要存储着其它扩展文件记录的一些详细信息。MFT文件记录数组中的文件记录在物理上是连续的,并且都是从0开始编号。MFT仅供系统自身构架、组织文件系统使用,被称作元数据。所有的元文件名字都是以“$”开始,其都是隐藏文件。MFT表中的前l6个元数据是最重要的。为了防止数据的丢失,在卷存储区中,NTFS系统对它们进行了备份。
3.NTFS卷文件操作痕迹及对计算机取证的影响
计算机取证,首要的问题是掌握什么时间发生了什么事情。有一个重要的文件属性是时间属性,NTFS中的时间属性有4项:文件的创建时间,最后修改时间,最后访问时间以及MFT修改时间,全部精确到100ns。最后访问时间是文件操作痕迹中最敏感的证据特征。文件操作痕迹反映在文件的增加、删除和修改[3]。
1)删除文件(夹)的痕迹
删除一个文件(夹),系统回收其文件记录,加删除标记,如果该文件(夹)还占用了数据区,系统也回收,在位图中对应位置置0。回收的文件记录和数据区可供再分配。FAT系统中的文件删除后,如果文件的存储空间是不连续的,恢复时很难确定文件的链接关系,而NTFS系统中的文件删除后,如果数据空间没有被覆盖,只要文件记录还存在,Data Runs不会被改变,很容易由它确定文件数据的存储位置,提高了数据恢复的准确性。
删除文件后,该文件所属的文件夹,也要删除该文件的目录项。如果它是非驻留的,将在INDX记录内删除它,操作的方式不是加删除标记,而是将该INDX记录中后面的数据前移,如果INDX空间占用不足一半,将引起B+树的调整。
2)增加文件(夹)的痕迹
增加文件,系统首先分配一个文件号,根据文件大小确定是否需要分配数据区,如果分配了,则在文件记录中记录其存储索引。增加文件还在文件所在的文件夹增加目录项,记录文件的文件号和基本目录属性,目录项保存在文件记录或INDX记录中,并可能引起所属文件夹B+树的变化。增加文件夹如同增加文件,只是文件夹的内容就是文件夹下的目录数据,并且根据文件名顺序调整B+树。文件改名,由于系统要依据文件名维护B+树,新位置增加目录,原位置删除目录项,有可能引起B+树的调整。
3)文件(夹)的复制和移动
文件复制,与FAT文件系统一样,新位置上所产生的痕迹如同增加文件,文件的目录属性只保留文件的文件名称和修改时间。
文件夹复制,其下文件复制的痕迹同上,文件夹的时间属性全部刷新。
文件移动、跨盘移动时,如同在新盘创建且在原盘删除;同盘移动时,文件的存储位置不变,文件记录号也不变,文件记录中只有“最后访问时间”和上层文件号发生变化,另外从原来文件夹中删除了该文件的目录项,在新文件夹中增加了该文件号,新旧文件夹的变化都可能引起B+树的变化。
4.结论
在计算机取证时需要全面把握,分析各种文件操作对数据的影响以及留下的痕迹,提高取证精度和证据的利用价值。通过对取证目标磁盘中尚可组织和不可组织这两类数据的划分,能够将其中被删除的数据、Slack数据等组合成为有组织的数据,再运用数据挖掘技术进行处理,从而实现NTFS文件系统的恢复和取证。同时研究更多的文件操作其他痕迹特征以及怎样将机器学习、数据挖掘等更好地适用于海量数据处理的计算机取证技术是下一步研究的内容。
参考文献
[1] 尤晋元.Windows操作系统原理[M].北京:机械工业出版社,2001.