NTFS数据流

合集下载

ntfs详细介绍

ntfs详细介绍

上一页下一页2 Windows NT的文件系统1. 概述(1)NTFS为多级目录结构,支持文件别名(符号链接方式);(2)NTFS文件由多个文件属性构成,每个属性由属性名和属性流(stream, 简单字节队列)组成;用户可自定义属性;(3)NTFS支持用户权限管理:有5种权限划分:读、写、运行、删除和修改权限;支持按用户、用户组分配权限;(4)NTFS文件支持数据压缩功能;(5)NTFS卷结构支持容错功能.2. NTFS结构NTFS的结构以卷为单位,卷与磁盘分区相关;卷由一组文件和未分配空间组成.NTFS以簇为基本硬盘分配单位,簇的大小为物理扇区的整数倍,通常为2K倍。

NTFS卷上的所有数据(包括用于引导、定位、空间分配等文件系统管理数据)都以文件的形式保存.NTFS结构由一组元文件构成:(1)主文件表($MFT):文件记录数组,每个记录为1KB;每个文件对应一个或多个文件记录;(2)主文件表副本($MFTMirr):是主文件表中前几项的副本,用于在主文件表不能读取时的元文件定位;(3)卷结构日志($LogFile):记录所有影响NTFS卷结构的操作,用于系统失败后的卷恢复;(4)空间分配位图($Bitmap):标识卷中每个簇的分配状态,即:空闲和已被分配;(5)引导文件($Boot):引导程序代码;(6)坏簇文件($BadClus):记录卷中据有损坏位置;(7)卷文件($V olume):卷名、文件系统版本、卷状态(卷是否被损坏);(8)属性定义表($AttrDef):卷中支持的属性类型列表.文件引用号:在主文件表中每个文件记录有一个64位的文件引用号;它由文件号和顺序号组成,文件号(48位:47~0)是文件在主文件表中的位置序号,顺序号(16位:63~48)在每次重复使用该文件记录时加1;NTFS文件是属性的集合,通常所说的文件内容是指未命名数据属性流.例:我们定义两个数据属性:ntfile(数据)和ntfile:data(自定义数据)。

彻底研究NTFS数据流这是Windows 2000的有益功能还是危险缺点?

彻底研究NTFS数据流这是Windows 2000的有益功能还是危险缺点?
夹 。缺 省和 附 加 的数 据 流 的简 单表 现 形 式如 图 1 示 。 所
危 机 四 伏
乍 看之 下 ,数 据流 似 乎是 个 不错 的 点子 ,但 若从 安 全 的角 度 来看 ,则不 然 。由于 数据 流 可 以让病 毒 和特 洛 伊 木 马藏 身其 中 ,躲 过使 用 者 与防 毒程 序 的检 测 ,因此 恐 怕会 导致 安 全 漏 洞 。
曾经撰 文 警告 NT S数据 流技 术 可 能会导 致 安全 方面 的漏 洞 , F 并声 称 心怀 不轨 的人 可利 用数 据流 隐藏 受感 染 的程序代 码 , 且 没有任 何 防毒 软件 能检 测并 清 而 除藏 在数 据流 中的病 毒 。 以 后的 两年 之 间却 没有 人 采取 行动 对付 这种 危 险 , 但
要 时才 启动 的防 毒扫 描程 序 , 因为 扫 描程 序 不仅对 于 系 统 运行 速度 和 稳 定性 的 影响 比较低 , 且需 要 的系统 资 而
源 也 远 少 于 监 视 软 件 。即 使 是 非 常 复 杂 的 防 毒 工 具 ,例
如:试 探 性程 序 代码 分 析器 、重复 扫 描 以及 能在 压 缩 与 保 存文 件 中搜 寻 的程 序 ,都 可 以在 服 务器 上 使用 ,毕 竟 只 是偶 尔 有 需要 才 启动 而 已 , 不像 常 驻 内存 的监 视 软 件 会 导致 独 立计 算 机与 网络 的速度 大 幅下 降 。
什 么是 数 据 流 ?
Mir s f 于 9 co o t 0年 代初 期 引入 了一 种称 为 “ 据 数
流 ” 概 念 [ 释 1,从 而 使 得 NT S 以 作 为 Ma its 的 注 】 F 可 cno h 客 户 端 访 问 文 件 服 务 器 的 文 件 系 统 。 因 为 M a cOS是 利

利用NTFS实现文件系统的安全

利用NTFS实现文件系统的安全

利用NTFS实现文件系统的安全NTFS(New Technology File System)是Windows操作系统中常用的文件系统之一,具有许多安全功能,以保障文件和数据的安全性。

下面将详细介绍如何利用NTFS来实现文件系统的安全。

1. 访问控制列表(Access Control List,ACL):NTFS通过ACL实现对文件和目录的访问权限控制。

ACL包含了多个访问控制条目(Access Control Entry,ACE),每个ACE指定了一个用户或组的访问权限。

通过修改ACL,可以精确控制不同用户或组的访问权限,包括读取、写入、执行等。

2.文件加密:NTFS支持对文件进行加密,可以通过加密来保护文件的机密性。

只有加密文件的用户才能解密和访问文件内容,其他用户即使具有访问权限也无法读取文件内容。

文件加密是基于用户的加密技术,用户的私钥用于加密和解密文件。

4. 文件数据流:NTFS支持文件数据流(Alternate Data Streams,ADS)的使用,允许在文件中存储额外的数据流。

通过利用ADS,可以隐藏敏感数据、添加数字签名等信息。

只有知道ADS的用户才能获取其中的数据。

这为文件的安全性提供了一定程度的增强。

5. 安全描述符(Security Descriptor):NTFS中的每个文件和目录都有一个安全描述符,包含了与该对象相关的安全信息,如所有者、权限列表等。

通过修改安全描述符,可以更改文件的访问权限,限制或授予用户的操作权限。

6.文件系统加密:NTFS支持对整个文件系统进行加密,将所有文件和目录都进行加密存储。

只有拥有正确密钥的用户才能访问和解密文件系统中的数据。

文件系统加密可以保护整个系统的数据安全。

7.硬盘配额:NTFS支持对用户的存储空间进行配额管理,限制用户的磁盘使用量。

通过分配磁盘配额,可以避免一些用户占用过多的磁盘空间,防止磁盘溢出和其他用户的数据被覆盖。

8.写入过滤器:NTFS提供了写入过滤器接口,允许第三方软件对文件的写操作进行监控和过滤。

NTFS ADS带来的WEB安全问题

NTFS ADS带来的WEB安全问题

NTFS ADS带来的WEB安全问题Author:PysolveCaptain@NTFS ADS简介NTFS流全称为NTFS交换数据流(NTFS Alternate Data Streams),ADS的诞生是为了兼容Hierarchical File System 。

HFS---分层文件系统,是由苹果公司推出的文件系统,其工作模式是将不同数据存在不同的分支文件,文件数据存放在数据分支而文件参数存放在资源分支。

类似的,NTFS流使用资源派生来维持与宿主文件相关的信息。

ADS有点类似文件的属性信息一样,依附于文件的传统边界之外。

来看一个ADS的实例,通常这个例子在讲到ADS的地方都会提到。

新建一个文件,命名为test.txt,该文件即是宿主文件;打开文件,输入内容”test”。

在该目录下执行命令echo "This is a stream" > test.txt:stream.txt 建立后cmd不会有任何提示且对于Windows资源管理器来说宿主文件没有发生任何变化(包括其大小、修改时间等)。

这是因为windows下不是所有程序都能支持ADS导致的。

同样dir、type等也不能看到。

Notepad能够部分支持ADS,可以打开test.txt:stream.txt,但notepad也不能完全支持,另存为时会出现参数错误。

注:1、修改宿主文件的内容不会影响流的内容。

2、修改流的内容不会影响宿主文件的内容。

1、其中stream type也叫attribute type(属性类型)。

2、用户不能创建一个新的流类型,流类型总是以$符号作为开始。

对NTFS格式下的一个文件而言,至少包含一个流,即data流(其stream type为$DATA),data 流是文件的主流,默认的data流其stream name为空。

ADS可以省略stream name,但不能省略stream type。

NTFS常用属性表

NTFS常用属性表

NTFS元文件
文件记录可能的属性
MFT文件记录头部结构布局
标准属性的属性头结构
标准属性的属性体结构
文件名属性的属性头结构
文件名属性体结构布局
文件名命名空间
数据流属性的属性头结构
未命名常驻属性标准属性头结构
未命名非常驻属性标准属性头结构
命名常驻属性标准属性头结构
命名非常驻属性标准属性头结构
索引根的结构如表4-81所示。

索引根结构
索引头的结构如表4-82所示。

索引头结构
其标志字节的含义如表4-83所示。

索引头标志字节含义
索引项的结构
标准索引头结构
索引项结构
[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]。

解析NTFS结构

解析NTFS结构

解析NTFS底层结构创建时间:2010-01-31文章类别:磁盘驱动文章大小:17312 Bytes一、NTFS系统结构NTFS是Windows NT引入的新型文件系统,如果您是一位熟悉FAT磁盘格式的专业人士,您可能会觉得NTFS系统的思想蹩脚而晦涩,如果您对FAT格式一无所知,那么恭喜您,您会更快的了解这种更有效率的磁盘格式。

NTFS的结构复杂,内容繁多,笔者仅对NTFS卷上的底层结构做分析,并提供卷上数据删除的特征状态供大家参考。

现在,我们首先来建立了解NTFS需要的基本概念。

1.0基本结构及基本概念在NTFS中,文件以簇的形式分配。

最小的单位为扇区,N个扇区为一簇。

其中,N的值可以通过BPB (引导扇区)读出(以下会详细介绍)。

1.0.1卷与簇卷大小(分区大小)每簇的扇区缺省的簇大小小于等于512MB 1 512字节513MB~1024MB(1GB) 2 1024字节(1KB)1025MB~2048MB(2GB) 4 2048字节(2KB)大于等于2049MB 8 4KB表1 卷与簇的关系从上面可以看出,也就是说不管驱动器多大NTFS簇的大小不会超过4KB。

1.0.2 NTFS的基本数据结构NTFS的数据大体上可分为4个部分(1) Partition boot sector(引导扇区,又称BPB),此部分为所有磁盘格式都共有,占用一个扇区,但是具体的内容当然各不相同(见表3)。

(2) Master File Table(主文件列表,MFT),它是对卷上所有文件的记录,每一个文件对应一个记录项,理论上占用该卷12%的空间。

(3) System files(系统文件),NTFS系统一共有16个系统文件,和8个保留文件。

(4) File area(数据区),留给用户的空间。

Partition boot sector引导扇区 Master File Table主文件列表 System files系统文件 File area用户文件区(数据区)表2 NTFS的磁盘分配情况1.0.3 NTFS中关于目录的说明NTFS中目录也是以文件的形式存在的。

NTFS文件系统结构分析

NTFS文件系统结构分析

NTFS文件系统结构分析在NTFS文件系统中,文件存取是按簇进行分配,一个簇必需是物理扇区的整数倍,而且总是2的整数次方。

NTFS文件系统并不去关心什么是扇区,也不会去关心扇区到底有多大(如是不是512字节),而簇大小在使用格式化程序时则会由格式化程序根据卷大小自动的进行分配。

文件通过主文件表(MFT)来确定其在磁盘上的存储位置。

主文件表是一个对应的数据库,由一系列的文件记录组成--卷中每一个文件都有一个文件记录(对于大型文件还可能有多个记录与之相对应)。

主文件表本身也有它自己的文件记录。

NTFS卷上的每个文件都有一个64位(bit)称为文件引用号(File Reference Number,也称文件索引号)的唯一标识。

文件引用号由两部分组成:一是文件号,二是文件顺序号。

文件号为48位,对应于该文件在MFT中的位置。

文件顺序号随着每次文件记录的重用而增加,这是为NTFS进行内部一致性检查而设计的。

NTFS使用逻辑簇号(Logical Cluster Number,LCN)和虚拟簇号(Virtual Cluster Number,VCN)来进行簇的定位。

LCN是对整个卷中所有的簇从头到尾所进行的简单编号。

卷因子乘以LCN,NTFS就能够得到卷上的物理字节偏移量,从而得到物理磁盘地址。

VCN则是对属于特定文件的簇从头到尾进行编号,以便于引用文件中的数据。

VCN可以映射成LCN,而不必要求在物理上连续。

NTFS的目录只是一个简单的文件名和文件引用号的索引,如果目录的属性列表小于一个记录的长度,那么该目录的所有信息都存储在主文件表的记录中,对于大于记录的目录则使用B+树进行管理。

主文件表中的基本文件记录中有一个指针指向一个存储非常驻索引缓冲--包括该目录下所有下一级子目录和文件的外部簇,而B+树结构便于大型目录中文件和子目录的快速查找。

在NTFS中,所有存储在卷上的数据都包含在文件中,包括用来定位和获取文件的数据结构,引导程序和记录这个卷的记录(NTFS元数据)的位图,这体现了NTFS的原则:磁盘上的任何事物都为文件。

NTFS数据流

NTFS数据流

什么是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数据流。

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

创建宿主文件宿主文件在这里指的就是普通文件,是在Windows中可以正常显示、运行、编辑的任何类型文件。

我们先来创建一个txt格式的文本文档,把它作为宿主文件。

运行“记事本”,随意输入一些内容,例如“测试——宿主文件”,然后将其保存为C:\test\suzhu.txt。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

什么是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数据流。

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 "测试——数据流文件" > :shujul iu2.txt”,这样就创建了一个名为shujuliu2.txt的数据流文件,而这个文件无论是在“资源管理器”还是在“命令提示符”中使用“dir”命令,都是无法看到的。

可以说,这个文件已经在系统中隐身了,我们只能通过输入命令“notepad :shujuliu2.txt”得知它的存在,而即使知道它的存在,我们也无法删除,因为命令提示符中“del”命令已经失去了作用。

唯一能将之删除的办法,就是删除其上一级目录,如果单独的数据流文件存在于磁盘根目录,那么删除它将是一件很痛苦的事。

上文中的数据流文件我们都是以文本文档举的例子,而数据流文件是不局限于文本文档的,任何文件都可以作为数据流文件,包括可执行程序,图片,声音等等。

这就至少造成两个隐患:一是黑客入侵后可能将黑客工具通过数据流隐藏起来,当然也有病毒发作后将病毒文件进行隐藏的;二是通过某些途径,让数据流文件可以自动执行,起到隐藏木马的效果。

说了那么多,黑客到底是如何利用NTFS数据流进行攻击的呢?接着往下看。

利用NTFS数据流进行攻击
NTFS数据流原理看似很复杂,但是利用起来却很简单,这里我们要用到一款使用率极高的软件Winrar,用它将NTFS数据流打造成最恐怖的黑客武器。

首先创建一个文件夹test,将我们准备好的木马程序muma.exe放到这个文件夹中。

进入“命令提示符”,输入命令“type muma.exe:muma.exe”,这样就为muma.exe创建了一个数据流文件,完成后将test文件夹中的muma.exe删除。

返回到上一级目录,在test文件夹上单击右键,在出现的菜单中选择“添加到test.rar”。

小贴士:如果没有该选项,表示你没有安装Winrar。

双击刚才创建的test.rar,点击Winrar工具栏上的“添加”按钮,浏览选中test文件夹。

在出现的“压缩文件名和参数”面板中切换到“高级”选项卡,选中其中的“保存文件数据流”选项,点击“确定”即可。

Winrar可以保存数据流
在Winrar中选中test文件夹,点击Winrar工具栏上的“自解压格式”按钮。

在“自解压格式”标签的“自解压模块”中选中“Default.SFX”,然后点击“高级自解压选项”按钮。

出现高级自解压面板后,在其“常规”标签的“解压后运行”中填入“test:muma.exe”。

切换到“模式”标签,勾选其中的“全部隐藏”。

全部设置完成后点击“确定”,这样就创建了一个极为隐蔽的自解压木马,甚至可以躲过杀毒软件的查杀,当用户双击这个自解压文件后,就会运行里面的数据流木马。

数据流木马运行设置
NTFS数据流木马的查杀
到目前为止,很多杀毒软件仍然不能较好地查杀本机上的NTFS数据流文件和利用数据流制作的木马,不过在查杀NTFS数据流文件方面做的比较好的杀毒软件还是有的,例如卡巴斯基,McAfee等。

如果你装的不是这些杀毒软件,也没有关系,我们可以使用一些专业的NTFS数据流检查工具,找出隐藏在系统中的恶意文件。

专业检测NTFS数据流文件的工具有Sfind.exe、Streams.exe、lads.exe等,这里我们以lads.exe为例进行介绍。

lads.exe是一个命令下的工具,需要在“命令提示符”中使用。

在“命令提示符”中运行lads.exe,程序会自动检测当前目录中的NTFS数据流文件,如果要检测子目录中的数据流文件,可以在lads.exe运行的同时添加一个参数“/s”,这样就可以检测到子目录中的数据流文件了。

对指定文件夹进行检测时,可以使用“lads.exe 文件夹路径”命令。

用lads.exe检测数据流
对于上文中介绍的那种利用NTFS数据流制作的木马自解压文件,也是可以防范的。

首先当我们下载到
一个自解压文件时,不要双击运行,可以在自解压文件上点击鼠标右键,选择“用Winrar打开”,如果发现其中的文件夹是空的,那么就要留个心眼了,很可能这就是一个数据流木马陷阱。

其次,不管杀毒软件是不是能查杀NTFS数据流木马,木马程序运行后,在内存中还是会还原出来的,一般的杀毒软件都带有内存监控功能,可以将木马程序在内存中拦截下来。

因此,勤升级杀毒软件也是防范NTFS数据流木马比较有效的办法。

相关文档
最新文档