主页 | 文件 | 属性 | 概念 | 词汇

# 文件 - $Secure (9)

前一页 后一页

## 概述

在NTFS v1.2里,每个文件都有一个安全描述符（$SECURITY_DESCRIPTOR） 属性。 它无法读取和检查每个文件的存取，而且它们大多数是一样的。NTFSv3.0引入了一个新的元数据文件$Secure。

安全标识符，在标准信息（$STANDARD_INFORMATION）里的一个新区域，是一个进入$Secure的索引。这里的$SDS是一个数据流，$SII 和$SDH是 两个索引，这个数据流拥有一个在卷上每个安全描述符（$SECURITY_DESCRIPTOR） 属性的拷贝，而这两个索引可交叉参考每件事。

## 属性

类型 | 描述 | 名称
--- | --- | ---
0x10 | $STANDARD_INFORMATION |
0x30 | $FILE_NAME | $Secure
0x80 | $DATA | $SDS
0x90 | $INDEX_ROOT | $SDH
0x90 | $INDEX_ROOT | $SII
0xA0 | $INDEX_ALLOCATION | $SDH
0xA0 | $INDEX_ALLOCATION | $SII
0xB0 | $BITMAP | $SDH
0xB0 | $BITMAP | $SII

## 文件结构

### $SDS数据流

这个安全描述符流（$SDS）包含一个卷上所有安全描述符的列表。 每一项都填到一个16字节边界并有一个用于索引的无用信息。

偏移量 | 大小 | 描述
--- | --- | ---
0x00 | 4 | 安全描述符的无用信息
0x04 | 4 | 安全标识符
0x08 | 8 | 文件中的项的偏移量
0x10 | 4 | 项的大小
0x04 | V | 自相关的安全描述符
V+0x04 | P16 | 填料

        由安全标识符分类
        自相关？ == 2 * SID
        一般是一个大文件，不是所有都用
        这里也许有丢失的入口--测试
        开始是标识部分的大模块，然后是垃圾，然后是另一个256KB的模块

### $SDH索引

安全描述符无用信息索引

偏移量 | 大小 | 值 | 描述
--- | --- | --- | ---
~ | ~ | ~ | 标准索引标题
0x00 | 2 | 0x18 | 到数据的偏移量
0x02 | 2 | 0x14 | 数据的大小
0x04 | 4 | 0x00 | 填料
0x08 | 2 | 0x30 | 索引项的大小
0x0A | 2 | 0x08 | 索引键的大小
0x0C | 2 |  | 标记
0x0E | 2 | 0x00 | 填料
0x10 | 4 |  | 键 | 安全描述符的无用信息
0x14 | 4 |  | 键 | 安全描述符
0x18 | 4 |  | 数据 | 安全描述符的无用信息
0x1C | 4 |  | 数据 | 安全描述符
0x20 | 8 |  | 数据 | 到安全描述符的偏移量 (在 $SDS里)
0x28 | 4 |  | 数据 | 安全描述符的大小 (在 $SDS里)
0x2C | P8 |  | 数据 | 填料

        最后一个填料一般是4个字节，并总是表示为
        Unicode 标准编码字串"II".

### $SII索引

        安全标识符索引($SII)

偏移量 | 大小 | 值 | 描述
--- | --- | --- | ---
~ | ~ | ~ | 标准索引标题
0x00 | 2 | 0x14 | 到数据的偏移量
0x02 | 2 | 0x14 | 数据的大小
0x04 | 4 | 0x00 | 填料
0x08 | 2 | 0x28 | 索引项的大小
0x0A | 2 | 0x04 | 索引键的大小
0x0C | 2 |  | 标记
0x0E | 2 | 0x00 | 填料
0x10 | 4 |  | 键 | 安全标识符
0x14 | 4 |  | 数据 | 安全描述符的无用信息
0x18 | 4 |  | 数据 | 安全描述符
0x1C | 8 |  | 数据 | 到安全描述符的偏移量(在 $SDS里)
0x24 | 4 |  | 数据 | 安全描述符的大小 (在 $SDS里)

        文件由无用信息分类。
        安全描述符存储在$SDS数据流里。
        偏移量很特别（64比特不是8字节排列）

## 注意

### 问题

- 为什么一些文件还有安全描述符属性（$SECURITY_DESCRIPTOR Attribute）？
- 安全无用信息是怎么产生的？

Online 中文在线 Validate HTML Validate CSS $Id: secure.html,v 1.12 2001/07/11 11:04:05 flatcap Exp $