NTFS数据流?

在介绍NTFS数据流之前,我们先简单了解一下NTFS文件系统。NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。NTFS比FAT文件系统更稳定,更安全,功能也更为强大。如果要让FAT文件系统转换为NTFS文件系统,可以在“命令提示符”中输入“convert 分区盘符: /fs:ntfs”,即可将该分区的文件系统转换为NTFS。


NTFS交换数据流(alternate data streams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中。它使用资源派生来维持与文件相关的信息,虽然我们无法看到数据流文件,但是它却是真实存在于我们的系统中的。创建一个数据交换流文件的方法很简单,命令为“宿主文件:准备与宿主文件关联的数据流文件”。那么为什么我们无法看到系统中的数据流文件呢,是Windows为了防止我们误删数据流文件而故意设置的障碍吗?答案是否定的,我们之所以无法在系统中看到NTFS数据流文件,是因为Windows中的很多工具对数据流文件的支持并不是很好,就像“资源管理器”,我们无法在“资源管理器”中看到有关数据流文件的变化。这种缺陷让***有机可趁,通过NTFS数据流将自己隐藏起来,从此就从“资源管理器”中消失了。例如Rootkit***中的文件隐藏功能,就是利用了NTFS数据流。开网店http://www.5678520.com/怎么样开网店


NTFS数据流的创建实例
相信不少看了上文介绍的读者朋友还是对NTFS数据流一头雾水,没有关系,下面我们通过实例来深入了解一下NTFS数据流。


创建宿主文件
宿主文件在这里指的就是普通文件,是在Windows中可以正常显示、运行、编辑的任何类型文件。我们先来创建一个txt格式的文本文档,把它作为宿主文件。运行“记事本”,随意输入一些内容,例如“测试——宿主文件”,然后将其保存为C:\test\suzhu.txt。接着我们在suzhu.txt上点右键,选择“属性”,可以发现其文件大小为16字节。


关联数据流文件
宿主文件创建完成后,我们再来创建一个数据流文件,将其与宿主文件关联,看看宿主文件会发生什么变化。点击“开始”→“运行”,输入cmd运行“命令提示符”,切换到C:\test\目录中,输入命令“echo "测试——数据流文件" > suzhu.txt:shujuliu.txt”。这样我们就创建了一个名为shujuliu.txt,内容为“测试——数据流文件”的数据流文件,并与宿主文件suzhu.txt进行了关联。
小贴士:在“命令提示符”中输入创建数据流命令后,不会有提示,但数据流文件已经成功创建了。
让我们回到C:\test\目录中,可以发现在该文件夹中只有一个suzhu.txt,而没有数据流文件shujuliu.txt,即使在“命令提示符”中使用“dir”命令也找不到shujuliu.txt。既然宿主文件suzhu.txt和数据流文件shujuliu.txt进行了关联,那么是不是shujuliu.txt的内容合并到suzhu.txt中了呢?我们打开suzhu.txt,其中的内容并没有改变,仍然是“测试——宿主文件”,而文件大小仍是16字节。
那么数据流文件shujuliu.txt哪去了呢?还是用“命令提示符”让它现形吧,在“命令提示符”中输入命令“notepad suzhu.txt:shujuliu.txt”,在弹出的记事本程序中就会出现数据流文件shujuliu.txt的内容。而我们在“命令提示符”中使用type、edit等命令对数据流文件进行编辑时,将会出现错误,这是因为“命令提示符”还不能很好地支持数据流文件。记事本虽然能够打开数据流文件,但并不表示它能完全支持NTFS数据流,这一点我们在“另存为”数据流文件的时候就会发现。


创建数据流文件
我们除了能将数据流文件和宿主文件进行绑定外,还能够创建单独的数据流文件。在“命令提示符”中输入“echo "测试——数据流文件" > :shujuliu2.txt”,这样就创建了一个名为shujuliu2.txt的数据流文件,而这个文件无论是在“资源管理器”还是在“命令提示符”中使用“dir”命令,都是无法看到的。可以说,这个文件已经在系统中隐身了,我们只能通过输入命令“notepad :shujuliu2.txt”得知它的存在,而即使知道它的存在,我们也无法删除,因为命令提示符中“del”命令已经失去了作用。唯一能将之删除的办法,就是删除其上一级目录,如果单独的数据流文件存在于磁盘根目录,那么删除它将是一件很痛苦的事。
文中的数据流文件我们都是以文本文档举的例子,而数据流文件是不局限于文本文档的,任何文件都可以作为数据流文件,包括可执行程序,图片,声音等等。这就至少造成两个隐患:一是******后可能将***工具通过数据流隐藏起来,当然也有病毒发作后将病毒文件进行隐藏的;二是通过某些途径,让数据流文件可以自动执行,起到隐藏***的效果。说了那么多,***到底是如何利用NTFS数据流进行***的呢?接着往下看。


NTFS数据流***的查杀
到目前为止,很多杀毒软件仍然不能较好地查杀本机上的NTFS数据流文件和利用数据流制作的***,可以使用一些专业的NTFS数据流检查工具,找出隐藏在系统中的恶意文件。
专业检测NTFS数据流文件的工具有Sfind.exe、Streams.exe、lads.exe等,这里我们以lads.exe为例进行介绍。lads.exe是一个命令下的工具,需要在“命令提示符”中使用。在“命令提示符”中运行lads.exe,程序会自动检测当前目录中的NTFS数据流文件,如果要检测子目录中的数据流文件,可以在lads.exe运行的同时添加一个参数“/s”,这样就可以检测到子目录中的数据流文件了。对指定文件夹进行检测时,可以使用“lads.exe 文件夹路径”命令。
对于上文中介绍的那种利用NTFS数据流制作的***自解压文件,也是可以防范的。首先当我们下载到一个自解压文件时,不要双击运行,可以在自解压文件上点击鼠标右键,选择“用Winrar打开”,如果发现其中的文件夹是空的,那么就要留个心眼了,很可能这就是一个数据流***陷阱。其次,不管杀毒软件是不是能查杀NTFS数据流***,***程序运行后,在内存中还是会还原出来的,一般的杀毒软件都带有内存监控功能,可以将***程序在内存中拦截下来。因此,勤升级杀毒软件也是防范NTFS数据流***比较有效的办法