第3章 网络防御技术

121
1 第 3 第 第第第第第第 第第第第 : 第第第 2013 第 8 第 10

Upload: dean-jordan

Post on 03-Jan-2016

63 views

Category:

Documents


9 download

DESCRIPTION

第3章 网络防御技术. 指导教师 : 杨建国. 2013年8月10日. 第3章 网络防御技术. 3 .1 安全架构 3 .2 密码技术 3 .3 防火墙技术 3 .4 杀毒技术 3.5 入侵检测技术 3.6 身份认证技术 3.7 VPN技术 3.8 反侦查技术 3.9 蜜罐技术. 3 . 10 可信计算 3 . 11 访问控制机制 3 . 12 计算机取证 3 . 13 数据备份与恢复 3.14 服务器安全防御 3.15 内网安全管理 3.16 PKI网络安全协议 3.17 信息安全评估 3.18 网络安全方案设计. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第3章 网络防御技术

1

华东理工大学计算机科学与工程系

第 3 章网络防御技术

指导教师 : 杨建国

2013年 8月 10日

Page 2: 第3章 网络防御技术

2

华东理工大学计算机科学与工程系

3.1 安全架构3.2 密码技术3.3 防火墙技术3.4 杀毒技术3.5 入侵检测技术3.6 身份认证技术3.7 VPN技术3.8 反侦查技术3.9 蜜罐技术

第 3 章 网络防御技术 3.10 可信计算

3.11 访问控制机制3.12 计算机取证3.13 数据备份与恢复3.14 服务器安全防御3.15 内网安全管理3.16 PKI网络安全协议3.17 信息安全评估3.18 网络安全方案设计

Page 3: 第3章 网络防御技术

3

华东理工大学计算机科学与工程系

3.13 数据备份与恢复

Page 4: 第3章 网络防御技术

4

华东理工大学计算机科学与工程系

数据恢复技术

信息安全专业

Page 5: 第3章 网络防御技术

5

华东理工大学计算机科学与工程系

一、硬盘基础知识

硬盘,是指采用金属或玻璃等硬物质为盘体,上面均匀涂满磁性介质用以记录信息的存储媒介。

硬盘具有高速随机读写的特点,容量大,成本低,关机后仍能保持数据,且稳定性好。因此成为计算机必备的主要存储器。

Page 6: 第3章 网络防御技术

6

华东理工大学计算机科学与工程系

本章主要学习内容

硬盘的发展硬盘的物理结构硬盘的逻辑结构

Page 7: 第3章 网络防御技术

7

华东理工大学计算机科学与工程系

1、硬盘的发展

计算机的作用就是存储和计算。数据是信息的表达方式,数据的安全非常重要。

存储方式经由早期的打孔机、磁带机,现在普遍使用硬盘机,今后还向光和半导体,甚至生物方面发展。

温彻斯特硬盘技术具有部件全部密封、内部磁片固定并高速旋转、磁片表面光滑、磁头运动悬浮等特点。

Page 8: 第3章 网络防御技术

8

华东理工大学计算机科学与工程系

2、硬盘的物理结构

磁盘的内部由磁片、磁头及定位系统、电动机和电子线路组成。

磁盘数据的存储实际上是根据电磁转换原理而实现的。

Page 9: 第3章 网络防御技术

9

华东理工大学计算机科学与工程系

磁盘数据组织图示

软盘划分了 18个扇面,而硬盘通常有 63个扇面。现代硬盘的扇区已不再等角度划分了。

最外圈的磁道记为 0磁道。

Page 10: 第3章 网络防御技术

10

华东理工大学计算机科学与工程系

3、硬盘的逻辑结构

要组织磁盘上存储的数据,使得可以方便的存储和访问,就要实现数据的定位。

数据的定位主要有两种方式: CHS地址 LBA线性地址

由于硬盘技术和操作系统及存储结构等因素,硬盘容量在不同的发展时期有着不同的硬盘容量限制。

Page 11: 第3章 网络防御技术

11

华东理工大学计算机科学与工程系

CHS地址

早期硬盘存储空间采用 3维地址结构描述: C= Cylinder(柱面。若干盘体重叠,相同的磁道( track上)构成的一个立面体)

H= Head(磁头。一张盘有两面( side),每面一个磁头) S= Sector(扇区。盘体上的圆形轨迹为磁道,把磁道等分为若干存储区域)

磁盘的容量=柱面总数×磁头总数×每道扇区总数×每扇区容量( 512byte)

Page 12: 第3章 网络防御技术

12

华东理工大学计算机科学与工程系

LBA地址

LBA是逻辑块地址的简称,它是一种线性地址结构,它其实是由 CHS计算的扇区编号顺序编址,即 0柱 0面 1扇区为 LBA 0扇区。

现在的硬盘厂家为了保持兼容性,仍然提供了虚拟的 CHS参数,可在 BIOS设置中看到。

对硬盘的数据访问是靠系统 调用 INT 13H 中断程序实现的,它将欲访问的数据地址传递给硬盘接口电路( ATA 接口)完成读写操作。

Page 13: 第3章 网络防御技术

13

华东理工大学计算机科学与工程系

4、硬盘容量限制

528MB的限制:早期的硬盘的 CHS参数被限制为:磁头数最大 16,柱面数最大 1024,扇区最大 63,每扇区字节数为 512字节。因此 1024×16×63×512B≈528MB

8GB容量限制:将柱面数增加到 16384 ,其他不变,共计 24bit,则硬盘容量最大为:16384×16×63×512B≈8.4GB

Page 14: 第3章 网络防御技术

14

华东理工大学计算机科学与工程系

硬盘容量限制

32GB容量限制:硬盘采用了虚拟 CHS值,使得柱面数为 65535 ,其他不变,共计 26bit,这样,磁盘的总容量最大为:65535×16×63×512B≈32GB

137G容量限制:由于普遍使用了 LBA寻址模式和虚拟 CHS参数,将扇区数进一步增加为 255,共计 28位,将其乘积作为 LBA值。这样系统使用 28位的 LBA参数,约计 137GB。

Page 15: 第3章 网络防御技术

15

华东理工大学计算机科学与工程系

二、硬盘存储结构

操作系统 中数据通常以文件形式存放,所以文件是进行逻辑管理的基本 单位。那么文件是如何在磁盘上被组织管理的 呢?

管理组织 文件存取的系统称为 文件系统。 我们把磁盘划分为多个分区,每个分区可以使用不同的文件系统。 我们将学习分区 管理方式。

Page 16: 第3章 网络防御技术

16

华东理工大学计算机科学与工程系

本章主要学习内容

硬盘总体存储结构主引导扇区主引导记录(MBR)硬盘分区表(DPT) 扩展分区及虚拟MBR

重建分区表 MBR、逻辑锁、0磁道的损坏与修复

Page 17: 第3章 网络防御技术

17

华东理工大学计算机科学与工程系

1、常用编辑软件

硬盘存取数据的最小单位是扇区,硬盘以扇区为单位来分区,组织数据,在操作系统 中不能直接对扇区进行访问。

要对硬盘的底层单位(扇区)进行查看和编辑,就需要专用的工具软件,可 完成这项任务的工具有 很多,推荐使用的是: Diskedit( DOS) WinHex(Windows)

Page 18: 第3章 网络防御技术

18

华东理工大学计算机科学与工程系

磁盘编辑工具介 绍

Diskedit是 Norton 公司的 DOS工具 包中的一个最有用的磁盘编辑工具,由于 开发较早,它只能运行在 DOS 下,支持 FAT16、 FAT12 文件系统, 但不能对大于 8GB的空间进行操作。

Diskedit是 DOS 下功能最强大的磁盘编辑器,能 够编辑物理 /逻辑盘,能按照不同的界面来显示扇区内容,另带有计算器、 ASCII 码表等实用工具。

WinHex是目前使用最多的一款工具软件,它的 功能非常强大,有 完善的分区管理和 文件管理功能,甚至可以克隆磁盘,支持大硬盘和 巨型文件。

WinHex是Win32 下最强的十六进制编辑工具,它可以编辑磁盘和内存,可自动分析分区信息,支持对FAT、 NTFS、 EXT等常见文件系统的分 析计算, 支持对文件的分割、合并和比较,也能够安全擦除文件。

Page 19: 第3章 网络防御技术

19

华东理工大学计算机科学与工程系

2、硬盘总体存储结构

我们在新购置一块硬盘后所做的第一件事情就是分区,将硬盘分割为多个独立的空间。这些空间是如何被标记并且被管理的 呢?

主引导扇区位于整个硬盘的最前端, 0柱面(道)0磁头(面) 1扇区,也就是 LBA 0扇区。它占用一个扇区,里面包含 MBR(主引导记录)和磁盘分区表( DPT)两大部分。

Page 20: 第3章 网络防御技术

20

华东理工大学计算机科学与工程系

3、硬盘总体存储结构

在主引导扇区的后面是 62个保留扇区,是未用的空白区域。

从第 63个扇区开始( 0柱 1面 1扇)后面的所有空间开始用于分区使用。

整个硬盘的总体结构由主引导扇区、各个分区和未划分空间(如果存在)组成。

Page 21: 第3章 网络防御技术

21

华东理工大学计算机科学与工程系

硬盘总体存储结构概览

操作系统对各分区分配盘符

分区 1 分区 2 未划分空间

62 个保留扇区

主引导扇区

硬盘总存储空间

Page 22: 第3章 网络防御技术

22

华东理工大学计算机科学与工程系

4、 FAT16分区内结构概览

在分区内部,以常用的 FAT 文件系统为 例,从头依次是引导扇区、 FAT1、 FAT2、根目录区和数据区。

FAT1FAT2 根目录 数据区

引导扇区

保留区FAT 分区

Page 23: 第3章 网络防御技术

23

华东理工大学计算机科学与工程系

5、主引导扇区

主引导扇区位于整个硬盘的第一个扇区,也是计算机 启动时首先读入的扇区。它负责完成计算机的 引导工作,然后 将控制权交给操作系统。

它由以下几个部分组成:

偏移 占用字节 说明0H~1BDH 446 主引导记录(MBR)1BEH~1FDH 64 硬盘分区表( DPT)1FEH~1FFH 2 结束标识,总是 55H AAH

Page 24: 第3章 网络防御技术

24

华东理工大学计算机科学与工程系

MBR

DPT

结束标志

主引导扇区图示

Page 25: 第3章 网络防御技术

25

华东理工大学计算机科学与工程系

6、主引导记录MBR

主引导记录所执行的任务是: 依次读取硬盘分区表,寻找激活分区的标志 80H 将激活分区的引导扇区送到内存 0000:7C00H 处 判断是否有分区结束标志 55H AAH 若前面的步骤出错,则显示出错信息 若一切顺利,则跳转至内存 0000:7C00H 处,执行系统引导程序。

MBR通常是固定的,但也可以修改它。

Page 26: 第3章 网络防御技术

26

华东理工大学计算机科学与工程系

7、硬盘分区表DPT

硬盘分区表共计 64 字节,分 4 项,每项 16 字节,即最多可以表示 4个分区,称为主分区。

4个分区不能满足我们的需要。我们采用了扩展分区的技术,使得若干分区组成一个链表,占用一个分区项,称为扩展分区。

在 DOS和Windows系统 中,分区表通常只占用了两项:主分区和扩展分区。

Page 27: 第3章 网络防御技术

27

华东理工大学计算机科学与工程系

主分区表中标明了第一项主分区和第二项扩展分区的起始地址和容量。

扩展分区的起始地址非常重要,扩展分区重各逻辑分区的位置计算均是 依照它来进行的。

一般硬盘分区组织情况

分区 1 分区 2 分区 3 分区 4

主分区 扩展分区

逻辑分区

分区 5

Page 28: 第3章 网络防御技术

28

华东理工大学计算机科学与工程系

分区表项的含义

偏移 长度 字段名及含义0 1 字节 激活分区标志,用于引导操作系统, 值为 80H表示激活。1 1 字节 起始磁头号(分区表中仍习惯使用最大 255磁头, 63扇区

)2 1 字节 起始扇区号。(只用了 0 ~ 5位,第 6、 7位作为柱面号

高位)3 1 字节 起始柱面号,共 10位, 1024个柱面。4 1 字节 分区类型标志。5 1 字节 结束磁头号。6 1 字节 结束扇区号。(只用了 0 ~ 5位,第 6、 7位作为柱面号

高位)7 1 字节 结束柱面号。 CHS 共参数用了 24位,只能管理 8GB空间8 4 字节 起始 LBA号。当硬盘大于 8GB空间时,则采用 LBA 寻址

方式12 4 字节 占用 LBA扇区数。

Page 29: 第3章 网络防御技术

29

华东理工大学计算机科学与工程系

常见分区类型

标志值 类型说明 标志值 类型说明01 FAT 12 0F Extended >8GB

04 FAT 16 <32MB 17 Hidden NTFS

05 Extended 1B Hidden FAT 32

06 FAT 16 64 Novell Netware

07 HPFS / NTFS 82 Linux swap

0B FAT 32 83 Linux

0C FAT 32 >8GB 85 Linux extended

0E FAT 16 ( VFAT) A6 Open BSD

Page 30: 第3章 网络防御技术

30

华东理工大学计算机科学与工程系

8、扩展分区

在一个磁盘中主分区必须有一个,扩展分区至多有一个。

扩展分区实际上并不是一个真正的分区,它标明了逻辑分区链表的起始位置和容量。

扩展分区中的起始扇区实际上也是一张分区表,称为扩展分区表。它的引导记录位置全置 0或 FFH,未用,只包含 DPT和结束标记,因此,又称为虚拟MBR。

Page 31: 第3章 网络防御技术

31

华东理工大学计算机科学与工程系

9、虚拟MBR

每个逻辑分区都有一张虚拟MBR,其中的分区表项只有两项,其中第一项标记了本逻辑分区的信息,第二项标明在分区链表中下一个分区的虚拟MBR信息。

位于扩展分区链表中的最后一个分区只使用了一个分区项用于标记本逻辑分区信息。

扩展分区的总容量应等于所包含的逻辑分区的容量之和。

Page 32: 第3章 网络防御技术

32

华东理工大学计算机科学与工程系

扩展分区组织图

C 盘 D 盘 E 盘 F 盘

本分区下一分区

未用未用

本分区下一分区

未用未用

本分区未用未用未用

扩展分区中的虚拟 MBR 链表D E F

MBR 扇区 62 个保留扇区

Page 33: 第3章 网络防御技术

33

华东理工大学计算机科学与工程系

10、重建分区表

当主引导扇区的分区表被破坏时,如果没有备份,则需手工重 建分区表。重建时需逐次搜寻分区信息,搜索时注意以下几点: 硬盘分区以扇区为单位,但使用分区工具分区时通常以柱面为边界划分。

引导扇区均位于某柱面的 0(或 1)磁头, 1扇区,且都具有结束标志“ 55 AA”。

一个柱面包含 255磁头×63扇= 16065扇区,每扇区512 字节,计 8225280 字节。

Page 34: 第3章 网络防御技术

34

华东理工大学计算机科学与工程系

11、MBR损坏与修复

如果安装了多重引导程序、系统还 原程序或是 中了引导型病毒,则 MBR内容会被修改。

DOS和Windows系统 都提供一个命令来修复MBR。是: fdisk /mbr

当然,最好是将整个主引导扇区进行备份,在需要的时候还原。使用winhex工具, 既可以备份在保留扇区中,也可以备份为文件。

Page 35: 第3章 网络防御技术

35

华东理工大学计算机科学与工程系

12、逻辑锁故障与修复

逻辑锁故障的原理是 将分区链表通过修改链接成环形,导致系统 启动检查分区表时陷入死循环。

不管使用硬盘、光盘、软盘或是其他媒介启动计算机, 只要遍历分区表,则都会死锁。

要修复,只有使用特制的启动程序 启动,将分区表备份再清零。然后正常启动,用工具 修复分区表。

Page 36: 第3章 网络防御技术

36

华东理工大学计算机科学与工程系

13、 0磁道损坏与修复

0磁道是硬盘最前方的磁道,主引导扇区、第一个分区均位于 0磁道,如果 0磁道损坏,则无法启动系统。

只要检查主引导扇区未损坏,则可以通过手工修改分区位置来避开对 0磁道的使用。

修改分区表后再重新格式化分区,但使用分区工具的时候会提示分区表有错误,千万不要使用自动纠正功能。

Page 37: 第3章 网络防御技术

37

华东理工大学计算机科学与工程系

思考

1. 主引导扇区后面有 62个保留扇区,你认为为什么要这样做?(可能的原因)

2. 小于 137GB的硬盘采用 28位 LBA地址,如果硬盘容量发展到大于 2TB( 32位)的时候在分区表中可以如何表示?谈谈你的看法。

3. 如果前两个分区出现了交叉重叠的情况,可能会导致什么样的后果?

Page 38: 第3章 网络防御技术

38

华东理工大学计算机科学与工程系

三、 FAT 文件系统

计算机 除了硬件以外,还必须有软件系统 才可以运行,这就是操作系统。不同的操作系统可以 支持一个或多个文件系统。

FAT 文件系统是 我们常用的文件系统, 广泛用于个人计算机 平台上,现在许多移动存储媒体都支持FAT 文件系统 格式。

Page 39: 第3章 网络防御技术

39

华东理工大学计算机科学与工程系

本章主要学习内容

FAT文件系统简介 簇的概念 FAT文件系统 引导扇区 FAT表 簇到扇区的转换 文件目录表FDT

FAT32长文件名结构 FAT系统数据 恢复

Page 40: 第3章 网络防御技术

40

华东理工大学计算机科学与工程系

1、 FAT文件系统简介

FAT 文件系统是一种用于个 人计算机 小型操作系统的文件管理方 案,最初由 IBM 公司用于 DOS操作系统。

FAT 文件系统结构 较简单,管理方便, 但不具备用于商业系统的安全性、容 错性、保密性等特点。

FAT12用于软盘, FAT16用于早期操作系统, FAT32用于现代操作系统。

Page 41: 第3章 网络防御技术

41

华东理工大学计算机科学与工程系

FAT32分区内结构概览 在 FAT32分区内部,由保留扇区、 FAT表和数据区三个部分组成。 保留扇区是指分区内 FAT表之前的扇区,也包括引导扇区。 FAT表通常有两份,系统 会同时写入两份,但只会读取第一份的内容。 分区格式化后,首先会创建根目录,因此根目录通常位于数据区首端,也就是标记为 0 簇的位置。

FAT1FAT2

根目录

数据区

引导扇区

保留区FAT32 分区

Page 42: 第3章 网络防御技术

42

华东理工大学计算机科学与工程系

2、簇

在 FAT 文件系统 中,存储文件的基本单位是簇。一个簇由 1 ~ 128个扇区组成,但必须是 2的 n 次方倍。

软盘的一个簇由一个扇区组成,硬盘分区的簇通常由 8个扇区组成,计 4KB。

在一个分区中的簇大小是固定的,其大小在引导扇区的 BPB( BIOS参数块)中给出。

Page 43: 第3章 网络防御技术

43

华东理工大学计算机科学与工程系

3、簇大小

操作系统以 簇为单位给文件分配空间,通常每个文件会浪费掉 0.5 簇空间。

如果把簇空间设置的大些,则会造成浪费空间较多,如果簇空间过小,则会造成 FAT表增大,使得 链表加长,同样会浪费空间,而且使访问速度降低。

簇大小一般由格式化程序 自动指定,在 32位系统中一般为 4KB ~ 16KB。

Page 44: 第3章 网络防御技术

44

华东理工大学计算机科学与工程系

4、 FAT引导扇区结构

FAT 文件系统的 引导扇区也只有一个扇区,它是由格式化工具生成的。它通常在系统安 装时生成,位于该分区的最前端。

软盘没有分区表,整个软盘被视为一个分区,软盘的第一个扇区就是系统 引导扇区。

引导扇区主要包含 BPB( BIOS参数块)、 DOS引导记录和结束标识等组成部分。

Page 45: 第3章 网络防御技术

45

华东理工大学计算机科学与工程系

FAT32引导扇区图示跳转指令,跳至引

导程序处执行

定义了该分区的重要参数信息

根据分区参数执行系统引导功能

引导扇区结束标志55H AAH

Page 46: 第3章 网络防御技术

46

华东理工大学计算机科学与工程系

5、 FAT引导扇区分析

引导扇区的头 3个字节是跳转指令,如 EB 58 则表示跳至当前偏移 58H 处指令执行。

FAT 引导扇区的 BPB部分从偏移 3 开始,存放了关于该分区的重要信息,如大小、位置、卷标等。该部分在格式化时产生。

接下来是引导记录程序( DBR),它在安装系统的时候产生,内容随系统不同而 变化。

最后两个字节是引导扇区结束标记。

Page 47: 第3章 网络防御技术

47

华东理工大学计算机科学与工程系

FAT32的 BPB参数描述 -1

偏移 长度 描 述

0H 3B 跳转指令,跳至后面引导记录开始处( FAT32 从 5AH 处开始)

3H 8B 文件系统和 版本的 OEM 标志(MSDOS 5.0或MSWIN4.1)

0BH 2B 每扇区字节数(通常为 200H)

0DH 1B 每簇扇区数(值为 2的 N 次方,通常小于 64)

0EH 2B 保留扇区数(本分区中 FAT表之前的扇区总数,通常 FAT16为 1, FAT32为 20H或 24H)

10H 1B FAT表个数(通常为 2)

11H 2B FAT16系统为根目录最大项, FAT32系统为 0

13H 2B 小卷(<32MB)的分区扇区总数,大硬盘为 0

15H 1B 介质描述,恒为 F8

16H 2B 在小卷中为每 FAT 占用扇区数,大硬盘为 0

18H 2B 每磁道扇区数(通常为 3FH, 63)

1AH 2B 磁头数(通常为 FFH, 255)

1CH 4B 隐含扇区数(本分区前的扇区总数,也就是本分区的起始逻辑扇区号)

20H 4B 大卷的本分区占用扇区数

24H 4B 大卷的每 FAT 占用扇区数

28H 2B 延迟标记(通常为 0)

Page 48: 第3章 网络防御技术

48

华东理工大学计算机科学与工程系

FAT32的 BPB参数描述 -2

偏移 长度 描 述

2AH 2B 版本(通常为 0)

2CH 4B 根目录起始簇号(通常为 02)

30H 2B FS信息扇区,即 BOOT扇区占用扇区数(通常为 1)

32H 2B 备份引导扇区的位置

34H 12B 保留未用(全为 0)

40H 1B 磁片的 BIOS 驱动信息(软盘从 0 开始,硬盘从 80H 开始)

41H 1B 未用

42H 1B 扩展引导标记(通常为 29H)

43H 4B 卷序列号(由格式化程序随机 产生)

47H 12B 卷标(如果没有设定卷标,则为“ NO NAME”)

52H 8B 文件系统 名称的文本标识,如: FAT32

5AH 420B DBR 引导程序( FAT32通常从此处开始)

1FEH 2B 结束标识 “ 55H AAH”

FAT16 与 FAT32 分区的 BPB 参数在前 24H 字节内的定义是相同的,后面则不同。详细的 BPB 参数分析参考教材。

Page 49: 第3章 网络防御技术

49

华东理工大学计算机科学与工程系

6、起始簇位置

FAT12和 16 文件系统的 起始簇位于数据区,即在FDT(文件根目录表)之后。首簇在该分区中的相对扇区位置为:保留扇区数+FAT表扇区数×2+FDT

FAT32 文件系统 没有专门的目录表区,根目录的起始簇号在 BPB 中给出,因此首簇在分区中相对扇区位置为:保留扇区数+FAT表扇区数×2( 2 份 FAT表)

Page 50: 第3章 网络防御技术

50

华东理工大学计算机科学与工程系

7、引导扇区编辑实验1. 使用磁盘编辑工具打 开非系统分区, 将引导扇区

复制(即备份)一份到后一个扇区中。2. 修改其 BPB参数中的序列号( 43H ~ 46H)和

卷标( 47H ~ 51H)3. 保存退出,然后打开该分区,观察修改结果。4. 再次使用磁盘编辑工具, 将该分区的引导扇区中的 BPB参数部分清零。

5. 保存退出,再次打开该分区,观察修改结果。6. 使用磁盘编辑工具 将该引导扇区还原。

Page 51: 第3章 网络防御技术

51

华东理工大学计算机科学与工程系

8、 FAT(文件分配表)结构

文件存储的逻辑结构有三种:连续结构、链表结构和索引结构。

FAT系统采用 链表存储结构,表中的每一项就对应着相应簇的使用情况。

第 0、 1 项为保留项,真正计数 从第 2 项开始。所以 FAT表的第 2 项就对应第 0 簇。

FAT表有 12位、 16位和 32位三种,即每项占用字节数为 1.5 字节、 2 字节和 4 字节。

Page 52: 第3章 网络防御技术

52

华东理工大学计算机科学与工程系

9、 FAT分区容量限制

Win95 及以前的系统 只支持 16位 FAT表,共可管理 216-2≈64K个簇。若以簇大小 4KB计算,可 管理 256MB的空间。若簇最大以 32KB计算, 则可最多管理 2GB空间。

Win95 OSR2 (Win97 )及以后系统还 支持 32位FAT表,若以簇大小 4KB计算,理 论上可支持达 4G×4KB≈16TB的空间。

Page 53: 第3章 网络防御技术

53

华东理工大学计算机科学与工程系

10、 FAT项描述

32位 FAT表中每项占 4 字节,第 0 项固定为0FFFFFF8H,第 1 项所有位为全 1,真正的文件分配从第 2 项开始。 16位 FAT表的第 0 项为FFF8H。

系统在 建立文件时,在目录表中给出了该文件的起始簇号,而 FAT表中该簇项记录着链表中下一簇的簇号,一直到结束标志为止。

要求能分析 FAT表结构,遍历文件位置。

Page 54: 第3章 网络防御技术

54

华东理工大学计算机科学与工程系

FAT系统 簇号标记说明

FAT12 FAT16 FAT32 值含义

0 0 0 未用的空簇(可分配)

1~FEFH 1~FFEFH 1~0FFF FFEFH 已分配文件的簇,标识下一簇的簇号

FF0H~FF6H

FFF0~FFF6H 0FFF FFF0H ~ 0FFF FFF6H 系统保 留簇(未用)

FF7H FFF7H 0FFF FFF7H 坏簇

FF8H~FFFH

FFF8H~FFFFH 0FFF FFF8H ~ 0FFF FFFFH 文件最后一簇(末簇)

FAT32 的 FAT 表起始部分片断

Page 55: 第3章 网络防御技术

55

华东理工大学计算机科学与工程系

11、簇到扇区的转换

FAT表中第 0和 1 项为 FAT表起始标记,记录是从第 2 项开始的。而数据区中的第 0和 1 簇却是不会保留的,因此 FAT表中的第 2 项对应着数据区的第 0 簇,以此类推。

对文件的簇的访问最终要化为扇区位置,一个已知簇所对应的本分区中扇区位置为:首簇扇区位置+(簇号- 2)×每簇扇区数

Page 56: 第3章 网络防御技术

56

华东理工大学计算机科学与工程系

12、文件目录表( FDT)

FAT12和 FAT16 文件系统的 FDT结构是相同的,每项占 32 字节,它记录了该文件的名称、属性、时间、大小、起始簇号等信息。

FAT32 文件系统的 FDT作了扩充,以适应更大的簇号和长文件名。

FAT12和 FAT16有专门的根目录区,位于数据区之前,因此限制了根目录中文件个数。

FAT32 将根目录合并到数据区中了,不单独划区域,因此理论上无限制。

Page 57: 第3章 网络防御技术

57

华东理工大学计算机科学与工程系

13、 FDT概览

一个普通的目录项如下所示,每两行 32 字节,记录了一个文件的信息,为一个目录项。这里共有 4 项,除了第二项为长文件名外,记录了 3个文件的信息。

Page 58: 第3章 网络防御技术

58

华东理工大学计算机科学与工程系

FAT32目录项结构 -1

偏 移 数 据 含 义00H ~07H

主文件名,如果不到 8个字节,后面用空格填充。其中首字节为 0H时表示为空目录项,为 E5H时表示文件被删除,为 05时表示实际该字节值为 E5H。

08H ~0AH

文件扩展名。

0BH 文件属性,各位分别代表不同属性,可以叠加 。B7、 B6:未用;B5:归档位;B4:子目录(代表该文件是一个目录或称文件夹);B3:卷标(根目录下才有,也视为文件);B2:系统位 ;B1:隐藏位;B0:只读位。

0CH 保留未用。( 0CH ~ 15H在 FAT16系统 中均保留未用)0EH ~0FH

文件创建时间(格式同修改时间)。

Page 59: 第3章 网络防御技术

59

华东理工大学计算机科学与工程系

偏 移 数 据 含 义10H ~11H

文件最后访问日期(格式同修改日期)。

12H ~13H

文件创建日期(格式同修改日期)。

14H ~15H

文件起始簇号的高 16位。

16H ~17H

文件最后修改时间,其中高 5位代表小时,中 6位代表分钟,低 5位代表以2s为增量的秒。

18H ~19H

文件最后修改日期,其中高 7位代表从 1980 起始的年份偏移,中 4位代表月份,低 5位代表天。

1AH ~1BH

文件起始簇号的低 16位。

1CH ~1FH

文件的长度(字节)。 注 1 :文件名和扩展名始终为大写字符,如果手工改为小写字符,则无法打开文件。 注 2 :文件属性的卷标和子目录位不可随意叠加,否则文件便不能在目录中列出。

FAT32目录项结构 -2

Page 60: 第3章 网络防御技术

60

华东理工大学计算机科学与工程系

14、树形目录结构

目录也是一个文件,不过比较特殊,里面存放的是目录信息表。

除根目录外,每个子目录的目录表中头两项都是“ .”和“ ..”。( ASCII 码为 2EH)

“.”指向该目录本身,“ ..”指向该目录的上级目录(父目录)。因此,我们在命令行中使用目录切换命令“ cd..”时,便可退到上层目录。

Page 61: 第3章 网络防御技术

61

华东理工大学计算机科学与工程系

15、 FAT32 长文件名 FAT32的长文件名使得文件名的长度可达 255 字节,而且支持几乎所有的除” */<>?\| 之外的 Unicode 字符集。

长文件名仍然存储在目录表中,也是以 32 字节为单位。它放在文件的真正目录项的前方,如有多个子项则呈倒序排列。

每个子项的首字节为子项的序号, 0 ~ 5位用于表示序号。如果是最后一项,则首字节第 6位置 1。

为了区别是长文件名而非目录项,在其每个子项偏移 0BH 处的文件属性字段,其值固定为 0FH,表示为无法识别的文件,即长文件名。

每个子项的偏移 0DH 处,为目录项的标号,同一个文件的长文件名子项的标号是一致的。

偏移 1AH和 1BH 处值恒为 00 00。 除开以上字段外,其他的部分则为长文件名的 Unicode 格式编码,一个字符占用 2 字节。

Page 62: 第3章 网络防御技术

62

华东理工大学计算机科学与工程系

16、目录项编辑实验

1. 打开某磁盘,在根目录下创建一个文件,取名ABC.TXT,随意输入内容后保存。然后用Winhex软件打开该分区,找到根目录位置中的该文件目录项。

2. 将文件名改为小写的 abc.txt,保存后,在我的电脑中打开该文件,观察效果并思考原因。

3. 同样在根目录下创建一个文件 123.TXT,用Winhex软件找到该文件的目录项,将属性字节改为 3FH,保存后,在我的电脑中查找该文件,观察效果并总结。

4. 将 123.TXT的属性值还原,根据目录项的起始簇字段在FAT表中找到该簇项,然后在数据区中找到对应扇区。

Page 63: 第3章 网络防御技术

63

华东理工大学计算机科学与工程系

17、文件恢复注意事项

如果某文件被删除,而该分区又被写入了新文件,则误删文件的目录项和簇位置可能被覆盖,导致文件无法被恢复。因此在文件被误删除后是禁止往该分区写入任何信息的。

恢复文件时,为了避免恢复错误带来的影响,应当将恢复的数据写入到其他盘的新文件中,即尽量不对原数据造成影响。

有的情况下数据是不可能恢复的,如数据被覆盖、低级格式化、磁盘该位置物理损坏等。

Page 64: 第3章 网络防御技术

64

华东理工大学计算机科学与工程系

18、误删除文件的恢复 FAT系统在 删除文件的时候,并未将数据区中的文件内容清空。只是将该文件目录项的首字节改为 E5H,然后将该文件在 FAT表中的簇链全部清 0,标记为可分配。

如果我们记得误删文件的目录位置和名称,就可以用磁盘编辑工具打 开该目录,找到该文件的目录项,取得文件的起始簇号和文件大小。

根据文件大小计算 出所占簇数。如果只有一个簇,则可直接打开该簇扇区,将数据复制到新文件中。

如果有多个簇,则要到 FAT表中观察可能的簇链(即附近标记为 0的簇项),然后转到扇区检查数据内容是否一致,将内容复制出来。

如果文件内容不连续,则可将各部分单独恢复,最后合并。

Page 65: 第3章 网络防御技术

65

华东理工大学计算机科学与工程系

19、其他情况数据恢复

如果是引导扇区被破坏,则可通过备份的引导扇区进行恢复(通常位于第 6扇区)。如果连备份区也损坏,则可手工重 建 BPB参数。

如果 FAT表被破坏,则可根据 FAT表的起始标记,找到 FAT2,计算 出 FAT1的大小和位置,恢复FAT1。如果连 FAT2一块被破坏了,则只有当作磁盘被误格式化处理,使用数据 恢复软件将分区内的文件恢复。

Page 66: 第3章 网络防御技术

66

华东理工大学计算机科学与工程系

四、 NTFS 文件系统

NTFS 文件系统是 微软针对商用和服务器市场推出的专用文件系统。相 对于 FAT系统,它具有 较高的读写效率和一系列安全特性。

NTFS 文件系统用于 Windows NT 4.1操作系统,Windows 2000和Widnows 2003等操作系统,以及Windows XP及以后的操作系统。其 他的操作系统 则不被支持。

Page 67: 第3章 网络防御技术

67

华东理工大学计算机科学与工程系

本章主要学习内容

NTFS文件系统介 绍 NTFS引导扇区主控文件表(MFT)与元数据文件 文件记录项常用文件属性 NTFS目录结构 NTFS中数据恢复

Page 68: 第3章 网络防御技术

68

华东理工大学计算机科学与工程系

1、NTFS的新特性

使用原子事物技术使其具有可恢复性。具备用户的访问控制能力。使用基于公钥技术的加密文件系统。 支持文件的压缩,节约磁盘空间。磁盘配额能对用户使用空间进行限制。采用索引表的文件结构提高了读写效率。

Page 69: 第3章 网络防御技术

69

华东理工大学计算机科学与工程系

2、NTFS 卷概念

NTFS以卷管理空间, 卷是建立在磁盘分区之上的,当格式化一个分区为 NTFS分区时,就创建了一个卷。

一个简单卷就是一个分区,而一个动态卷可以容纳多个分区,甚至跨磁盘,这使得 NTFS可以支持海量的存储空间。

NTFS同样使用簇来分配文件存储,簇又称为卷因子,通常包含 8个扇区( 4KB)。

Page 70: 第3章 网络防御技术

70

华东理工大学计算机科学与工程系

3、NTFS分区结构概览

NTFS 卷中将所有信息都以文件形式组织管理, 包括引导区域和MFT等分区结构信息,其结构如下图所示,其中只有 BOOT区域是固定位置的。

MFT 数据区 数据区

BOOT 区域 MFT 前几个重要文件备份

NTFS 分区结构示意图

Page 71: 第3章 网络防御技术

71

华东理工大学计算机科学与工程系

4、 LCN和 VCN

LCN(逻辑簇号)是 NTFS 整个卷中对簇的顺序编号,第 0 簇对应着逻辑 0扇区。

VCN(虚拟簇号)是文件被分割为多个部分时的簇编号,也是以 0为起始。

因此,将 LCN转换为扇区号的时候非常简单,直接将 LCN×每簇扇区数即可得到。

Page 72: 第3章 网络防御技术

72

华东理工大学计算机科学与工程系

5、文件索引表

每个文件都有一张索引表,记录了 VCN与 LCN的对应关系。通 过索引表结构,可以定位文件的存储位置。

采用索引表结构可以随机快速的访问文件的各个部分。

VCN LCN

0 101

1 102

2 106

… …

Page 73: 第3章 网络防御技术

73

华东理工大学计算机科学与工程系

6、NTFS引导扇区

分区的首扇区是引导扇区,它和后面的 15个扇区( NTLDR区域)合起来构成 BOOT区域,也就是BOOT 元文件。

NTFS分区的引导扇区同 FAT分区的引导扇区在结构上非常相似,同样包含 BPB, DBR和结束标志三个部分,只是在 BPB参数上有部分不同,原 FAT分区参数项为 0。

Page 74: 第3章 网络防御技术

74

华东理工大学计算机科学与工程系

NTFS分区引导扇区图示

NTFS 的 BPB

NTFS 的 DBR

Page 75: 第3章 网络防御技术

75

华东理工大学计算机科学与工程系

7、NTFS分区的 BPB部分描述偏移 长度 描 述

00H 3B 跳转指令( EBH 52H 90H),跳至 54H 处 DBR部分

03H 8B 文件系统和 版本的 OEM 标志( NTFS)

0BH 2B 每扇区字节数(通常为 200H)

0DH 1B 每簇扇区数(值为 2的 N 次方,通常为 8)

15H 1B 介质描述,恒为 F8

18H 2B 每磁道扇区数(通常为 3FH, 63)

1AH 2B 磁头数(通常为 FFH, 255)

1CH 4B 隐含扇区数(本分区前的扇区总数,也就是本分区的起始逻辑扇区号)

24H 4B NTFS 未使用,总为 80H 00H 80H 00H

28H 8B 扇区总数

30H 8B $MFT的起始逻辑簇号

38H 8B $MFTMirr的起始逻辑簇号

40H 4B 每MFT记录簇数

44H 4B 每索引簇数

48H 8B 分区的逻辑序列号,格式化的时候随机产生

50H 4B 校验和

Page 76: 第3章 网络防御技术

76

华东理工大学计算机科学与工程系

8、主控文件表MFT

在 NTFS 中,所有的数据都存储在文件中,包括管理和描述分区结构信息的 元数据,采用这种方式使得对所有的数据容易定位和维护。

主控文件表(MFT)是 NTFS 卷结构的核心。每个文件在MFT 中都有一个文件记录项,该记录项描述了文件的所有属性,包括文件名,存储位置、存取时间、文件属性等等。

每个文件至少有一个MFT 项,如果某文件的属性很多则可能有多个MFT 项。

Page 77: 第3章 网络防御技术

77

华东理工大学计算机科学与工程系

9、元数据文件

MFT 中的文件记录项以数组方式排列,每个记录项的大小固定为 1KB( 2扇区),并从 0 开始依次编号,因此 NTFS以MFT编号来管理文件。

在MFT区域最为重要的系统 元数据文件有 16个,MFT编号为 0 ~ 15,这些元数据文件存储了NTFS的底层结构信息,其文件名都是以 $ 开始的,是不能被用户和普通程序访问的。

Page 78: 第3章 网络防御技术

78

华东理工大学计算机科学与工程系

10、元文件列表编号 元数据文件 功能或内容

0 $MFT 主控文件表本身1 $MFTMirr 主控文件表的部分镜像(通常为前 4 项)2 $LogFile 日志文件,实现了 NTFS的可恢复性和安全性3 $Volume 卷文件,标识卷名,是否格式化,是否需要修复等信息4 $AttrDef 属性定义列表文件5 $Root 根目录,存放目录和文件的索引,表示文件的逻辑层次关系6 $Bitmap 位图元文件,记录了卷中簇的分配情况7 $Boot 引导元文件,恒为 0 簇起始8 $BadClus 坏簇列表元文件9 $Secure 安全元文件,存储访问控制表(在 NTFS4及以前为磁盘配额信息)

10 $UpCase 大小写字符转换表元文件11 $ExtMD 扩展元数据目录( Extended metadata directory)

12~15

$Extended\ 扩展元数据,分别为重解析点、加密日志、配额管理、 对象 ID

16~23

为以后扩展而保留

24~? 用户文件和目录的记录编号

Page 79: 第3章 网络防御技术

79

华东理工大学计算机科学与工程系

11、MFT的文件记录项

MFT区域中的每个记录项都分为记录头和属性列表两个部分,记录头里包含了本记录项的总体情况和信息,属性列表里列出了该文件的所有属性。

不同的文件可以有不同的属性,因此,属性列表的大小是可变的,在所有属性的最后是结束标志FFFFFFFFH。

当某文件的属性表在一个基本记录项里放不下时,就会另外在MFT 中另外申请一个记录项来存储文件属性,称为扩展记录项。

Page 80: 第3章 网络防御技术

80

华东理工大学计算机科学与工程系

MFT的记录项图示

文件记录头

10H 属性

结束标志

80H 属性

B0H 属性

30H 属性

Page 81: 第3章 网络防御技术

81

华东理工大学计算机科学与工程系

12、文件记录头说明偏移 长度 含义00H 4B MFT 标志,一定为字符串“ FILE”

04H 2B 更新序列号的偏移,通常为 30H

06H 2B 更新序列号的大小与数组08H 8B 日志文件序列号 LSN

10H 2B 序列号,用于记录本文件项被使用的次数12H 2B 硬链接数,即有多少目录指向该文件,只出现在基本文件记录中14H 2B 第一个属性的偏移地址16H 2B 标志,第 0位表示是使用 / 删除,第 1位表示目录 / 文件18H 4B 记录头和属性的实际使用总长度1CH 4B 总共分配给文件记录的长度,通常为 400H

20H 8B 索引号,基本文件记录总为 0,非 0 则表示为扩展文件记录28H 2B 下一属性 ID

2AH 2B Windows XP 中使用,边界2CH 4B MFT记录编号(从 0号起始)30H - 更新序列号和更新序列数组

Page 82: 第3章 网络防御技术

82

华东理工大学计算机科学与工程系

13、文件属性

在一个 NTFS 卷中文件所有的信息,包括文件数据在内,都被认为是文件的属性,而构成该属性的实际数据则被称为“流”。

不同的文件拥有的属性不一样,有的属性也会在同一记录项中多次出现,比如文件名属性。

每个属性的头 4个字节表示属性类型,接下来的 4个字节表示本属性大小,根据这个信息,我们可以遍历文件的属性列表。

MFT 中的各属性的大小均以 8 字节为边界。

Page 83: 第3章 网络防御技术

83

华东理工大学计算机科学与工程系

NTFS 卷文件属性说明

属性类型 属性名 属性描述10H $STANDARD_INFOMATION 标准信息:文件传统属性,时间属性,硬链接等20H $ATTRIBUTE_LIST 属性列表:描述扩展文件记录项中属性的信息30H $FILE_NAME 文件名:用 Unicode 字符表示的文件名40H $OBJECT_ID 对象 ID:具有 64 字节的标识符,提供 API 调用访问50H $SECURITY_DESCRIPTOR 安全描述符:文件的访问控制,现在移到 $Secure 中了60H $VOLUME_NAME 卷名(卷标识):仅存在于 $Volume 元文件中70H $VOLUME_INFOMATION 卷信息:仅存在于 $Volume 元文件中80H $DATA 数据:文件的实际数据内容90H $INDEX_ROOT 索引根:文件目录的根节点A0H $INDEX_ALLOCATION 索引分配:文件目录表的子节点B0H $BITMAP 位图:分配空间的使用情况C0H $REPARSE_POINT 重解析点,实现卷、目录和应用程序 之间的连接D0H $EA_INFOMATION 扩充信息属性E0H $EA 扩充信息

1000H $LOGGED_UTILITY_STREAM EFS 加密属性:存储合法用户列表、密钥等

Page 84: 第3章 网络防御技术

84

华东理工大学计算机科学与工程系

14、属性头

每个属性又分为属性头和属性内容两部分,属性头给出了该属性的结构信息。

有的属性内容存储在记录项中(如文件名),称为常驻属性。有的属性内容很大, 需要在MFT外另外开辟空间存储(如文件数据),则称为非常驻属性。

有的属性在属性头之后列出了属性名,而有的则没有。

Page 85: 第3章 网络防御技术

85

华东理工大学计算机科学与工程系

15、常驻属性头结构偏移 大小 含义00H 4B 属性类型04H 4B 属性大小(包括属性头和属性内容)08H 1B 是否常驻( 00=常驻; 01=非常驻)09H 1B 属性名长度( 0表示无属性名,非 0表示属性名的字符个数)0AH 2B 属性名的起始偏移(如果有的话),通常为 18H

0CH 2B 压缩( 0001H)、加密( 4000H)、稀疏 (8000H) 标志0EH 2B 属性 ID

10H 4B 属性内容的长度14H 2B 属性内容的起始偏移(如果没有属性名,则为 18H)16H 1B 索引标志17H 1B 无意义,通常为 0

18H - 该属性的内容,或属性名(如果有属性名的话)

Page 86: 第3章 网络防御技术

86

华东理工大学计算机科学与工程系

16、非常驻属性头结构偏移 大小 含义00H 4B 属性类型04H 4B 属性大小(包括属性头和属性内容)08H 1B 是否常驻( 00=常驻; 01=非常驻)09H 1B 属性名长度( 0表示无属性名,非 0表示属性名的字符个数)0AH 2B 属性名的起始偏移(如果有的话),通常为 18H

0CH 2B 压缩( 0001H)、加密( 4000H)、稀疏 (8000H) 标志0EH 2B 属性 ID

10H 8B 起始 VCN

18H 8B 结束 VCN

20H 2B 数据运行(即非常驻区域,等同于数据区)的信息的偏移地址22H 2B 压缩单位大小, 0表示未压缩24H 4B 无意义28H 8B 属性分配大小,是该属性所占的所有簇空间的大小30H 8B 属性真实大小,即实际占用空间38H 8B 最初的属性大小(似乎和属性真实大小相同)40H - 属性的运行信息(记录了属性内容的位置和大小),或者为属性名(如果有的话)

Page 87: 第3章 网络防御技术

87

华东理工大学计算机科学与工程系

17、 10H属性内容结构偏移 大小 含义~ ~ 属性头

00H 8B 文件建立时间,用 64位来表示日期和时间,用Windows的时间 API 函数取得08H 8B 文件最后修改时间10H 8B MFT 修改时间18H 8B 文件最后访问时间20H 4B 传统文件属性。 01=只读文件, 02=隐含文件, 04=系统 文件, 20H=档案

文件,40H=设备文件, 80H=常规文件, 100H=临时文件, 200H=稀疏文件,400H=重解析点文件, 800H=压缩文件, 1000H=脱机文件, 4000H=加密文件

24H 4B 最大版本数,为 0 则表示没有版本28H 4B 版本数,如果偏移 24H 处为 0 则此处也为 0

2CH 4B 分类 ID(一个双向的类索引)30H 4B Windows 2000以后才有,所有者 ID,用于访问磁盘配额 $Quota 中索引关键字34H 4B Windows 2000以后才有,安全 ID,用于访问安全元文件 $Secure 中索引关键

字38H 8B Windows 2000以后才有,配额管理, 配额占用情况,为 0表示未使用配额40H 8B Windows 2000以后才有,更新序列号,是进入元数据文件 $UsnJrnl的索引关键

Page 88: 第3章 网络防御技术

88

华东理工大学计算机科学与工程系

18、 20H属性内容结构 20H属性包括一系列不同长度的记录,用于描述其他属性的类型和位置。

有几种情况可能会需要 20H属性:有很多硬链接(多个文件名);有很多运行碎片;有很多命名流(如数据流)。

偏移 大小 含义~ ~ 属性头

00H 4B 属性类型04H 2B 记录长度06H 1B 属性名长度(字符个数),为 0 则表示没有属性名07H 1B 属性名的偏移(如果没有属性名,则指向属性内容)08H 8B 起始 VCN(属性是常驻时总为 0)10H 8B 属性在扩展文件记录的索引号(参考 MFT头中的索引号字段,偏移 20H)18H 2B 属性 ID(似乎总为 0)1AH - Unicode属性名(如果有的话)

Page 89: 第3章 网络防御技术

89

华东理工大学计算机科学与工程系

19、 30H属性介绍

30H属性用于存储文件名,它总是常驻属性,可容纳 255个 Unicode 字符的文件名长度。

NTFS通过为一个文件创建多个文件名的方式实现了 POSIX式的硬链接,每个文件名属性都有它自己的详细资料和父目录。

当一个硬链接文件被删除时,就从 MFT记录中删掉这个文件名,当最后一个硬链接也删除时,文件就真正的删除了。

NTFS 针对不同的操作系统提 出了三种文件名命名空间,其字符集从小到大依次为:DOS、WIN32、 POSIX。

Page 90: 第3章 网络防御技术

90

华东理工大学计算机科学与工程系

30H属性内容结构

偏移 大小 含义~ ~ 属性头

00H 8B 父目录的文件参考号(MFT头的记录编号,偏移 2CH)08H 8B 文件创建时间10H 8B 文件修改时间18H 8B MFT 修改时间20H 8B 文件最后访问时间28H 8B 文件分配大小30H 8B 文件实际大小38H 4B 标志(传统文件属性)3CH 4B $EA(扩充属性)使用的空间,或 $REPARSE_POINT(重解析点属性)的类型40H 1B 文件名长度(字符数 L)41H 1B 文件名命名空间( 0= POSIX, 1=WIN32, 2=DOS, 3=WIN32 & DOS)42H L×2 Unicode 文件名

Page 91: 第3章 网络防御技术

91

华东理工大学计算机科学与工程系

20、 80H属性介绍

80H属性用于存储文件的数据内容信息,是非常重要和特殊的属性,它的类型可以是常驻或非常驻,有属性名或无属性名。

由于信息在记录和传送的时候均以二进制格式顺序实现,因此我们用“流”来描述这种数据特征。

当文件的数据流很少的时候,其内容可以直接存储在80H属性中,成为常驻属性。当文件内容较大的时 候,其内容存放在数据运行(Data Run)中,也就是其他地方,这时 80H属性就是非常驻属性了。

Page 92: 第3章 网络防御技术

92

华东理工大学计算机科学与工程系

21、 80H属性数据流介绍

无属性名的流称为主流,是记录了文件的数据内容,而有属性名的流称为辅流,记录了文件内容的相关信息。

系统 中除了未命名属性流外还有如下几种流: ^EDocumentSummaryInformation:类别(非常驻) ^ESebiesnrMkudrfcoIaamtykdDa:来源、标题、主题等(非常驻) ^ESummaryInformation:关键字、备注、修订版本等(非常驻) {4c8cc155-6c1e-11d1-8e41-00c04fb9386d}:无内容(常驻) $MountMgrDatabaseDataStream:只存在于重解析点 $Bad:坏簇数据流,只存在于 $BadClus 元文件中 $SDS:安全描述流,只存在于 $Secure 元文件中 $J、 $Max:只存在于 $Extend\$UsnJrnl 加密日志元文件中

Page 93: 第3章 网络防御技术

93

华东理工大学计算机科学与工程系

22、 80H属性运行信息介绍 NTFS采用索引表方式记录文件分配的信息,但当文件很大时, 索引表

也很长,因此对索引信息的存储采取了压缩方式,即将连续分配的存储空间按照起始 LCN和占用簇数进行统计。

VCN LCN

0 100H

1 101H

2 102H

3 103H

4 150H

5 151H

6 152H

起始 LCN 占用簇数100H 4

150H 3

索引表经过压缩后的所需空间大大减少,由原来的 7 项变为 2 项,其中起始 VCN 在属性头中已给出,故不再需要。

压缩后未压缩

Page 94: 第3章 网络防御技术

94

华东理工大学计算机科学与工程系

23、 80H属性数据运行列表

非常驻属性头的偏移 20H 处给出了数据运行信息的偏移地址,它位于 80H属性最后面,由若干运行项组成,每个运行项依次排列,整个末尾以 00表示结束。

每个运行项分为三个字段,其含义如下:偏移 大小 描述00H 1 高 4位为描述起始的 LCN 所需字节数( L)

低 4位为表示连续占用簇数所需的字节数( N)如果该字节为 00H,则表示运行表结束

01H N 该运行连续占用的簇数N+1 L 第一个运行项表示为起始 LCN,第二个及以后的

运行项则是以补码表示距离第一个运行项的偏移簇号

Page 95: 第3章 网络防御技术

95

华东理工大学计算机科学与工程系

24、 80H属性运行信息实例

下面看一个实际的例子,该 80H属性有两个运行项

21 04 00 01 11 03 50 00

占用簇数 起始 LCN 结束标记

第二项

占用簇数

此处加上第一项的起始 LCN ,实为第 150H 簇

第一项

Page 96: 第3章 网络防御技术

96

华东理工大学计算机科学与工程系

访问文件数据内容实验

我们可以通过文件目录来定位文件,但如果文件被删除了就不行了,因此通常采用在MFT 里搜寻文件名的方式来定位文件,MFT的起始位置在 PBP 中给出。

在MFT 中搜寻文件名,注意采用 unicode编码,找到字符串后要从三个方面确认是否就是要找的文件记录项: 该字符串是否是文件名(是否在 30H属性中?) 其父目录文件参考号是否正确(是否是正确的位置?) 该文件记录项是否是正在使用(是否已删除?)

观察其 80属性,如果是常驻属性,就可直接看到其数据内容,如果是非常驻属性,则通过其运行信息定位扇区,找到在磁盘上的位置。

根据文件的大小,将文件内容复制出,写入到另一分区的新文件中。

Page 97: 第3章 网络防御技术

97

华东理工大学计算机科学与工程系

25、 90H属性介绍

90H属性是 $INDEX_ROOT 索引根属性,该属性是实现 NTFS的 B+ 树索引的根节点,主要用于表示文件目录、安全描述等,它总是常驻属性。

90H属性依次由属性头、索引根、索引头、以及若干索引项组成,索引项中主要给出了该文件的文件编号和 30H 文件名属性内容。

如果目录比较小,则索引项可以全部存储在索引根属性中,如果目录较大,在 90H属性中装不下时,则还会出现 A0H 索引分配属性和 B0H位图属性。

Page 98: 第3章 网络防御技术

98

华东理工大学计算机科学与工程系

90H、 A0H、 B0H属性图示

90H 属性头

90H 索引头

90H 索引项

90H 结束项

B0H 属性

90H 索引根

A0H 属性

Page 99: 第3章 网络防御技术

99

华东理工大学计算机科学与工程系

26、 90H属性索引根和索引头描述

索引根

偏移 大小 描 述00H 4B 属性类型(在目录索引中为 30H,也就是文件名属性)04H 4B 校对规则08H 4B 索引项(索引缓冲区)分配大小字节数(通常为 4KB, 8扇区

)0CH 1B 每索引缓冲区分配的簇数(通常为 1)0DH 3B 无意义,填充至 8 字节

索引头

偏移 大小 描 述00H 4B 第一个索引项的偏移(通常为 10H)04H 4B 索引项的总大小(含索引头)08H 4B 索引项的分配大小0CH 1B 标志。为 0时,表示小索引(适用于索引根),

为 1时,表示大索引(适用于索引分配)0DH 3B 无意义,填充至 8 字节

Page 100: 第3章 网络防御技术

100

华东理工大学计算机科学与工程系

27、 90H属性索引项描述

偏移 大小 描 述00H 8 该文件的MFT参考号08H 2 本索引项的大小0AH 2 索引内容(后面 30H属性内容)所占字节数

,如为 0,则表示此项为结束项0CH 2 索引标志,为 1表示这个索引项包含子节点,

为 2表示这是最后一个项0EH 2 填充 0,无意义10H N 30H属性内容(参 30H属性),以及填充的

0

10H+N

8 子节点索引所在的 VCN(有子节点时才存在)

Page 101: 第3章 网络防御技术

101

华东理工大学计算机科学与工程系

28、 A0H和 B0H属性介绍

A0H属性是 $INDEX_ALLOCATION,即索引分配属性,它存储着组成索引的 B+ 树目录所有子节点的定位信息,即包含了索引缓冲区的 VCN到 LCN 映射,它总是有属性名的非常驻属性。

A0H属性的结构与 80H属性的结构是相同的。 B0H属性是 $BITMAP位图属性,它按位来表示每个分配单元的使用情况,主要用于索引和 $MFT中。

在索引中,每个位对应着索引分配中的一个 VCN,在 $MFT中,每个位对应着一个文件记录项。

B0H属性的结构与 80H属性的结构也是相同的。

Page 102: 第3章 网络防御技术

102

华东理工大学计算机科学与工程系

29、NTFS的树形目录

NTFS采用 B+ 树结构来实现对文件的索引的, B+ 树是平衡树的一种,能使得查找一个项时所需的磁盘访问次数最少。

NTFS将目录中的文件和子目录按文件名排序,并保存在索引分配缓冲区中,通常一个索引缓冲区为 4KB大小。

索引根 结束项文件 19文件 9

文件 4文件 3文件 1 文件 12文件 10文件 5 文件 13文件 16 文件 21文件 20

LCN 116C

VCN 0 VCN 1 VCN 2

LCN 116D LCN 116E

索引缓冲区

Page 103: 第3章 网络防御技术

103

华东理工大学计算机科学与工程系

30、索引缓冲区

索引缓冲区保存在数据运行中,根据 A0H属性的运行信息可以找到它们。

一个索引缓冲区由标准索引头和若干索引项组成,索引项结构与 90H属性的索引项结构相同,标准索引头则是类似于MFT 文件记录头的结构。

NTFS 卷的引导扇区中的 BPB参数中定义了每个索引缓冲区大小,通常为 4KB( 8扇区)。

Page 104: 第3章 网络防御技术

104

华东理工大学计算机科学与工程系

索引缓冲区图示

标准索引头

索引项 1

索引项 2

索引项 3

索引项 4

Page 105: 第3章 网络防御技术

105

华东理工大学计算机科学与工程系

31、标准索引头结构表偏移 大小 描述00H 4B 标准索引头起始标志,总是“ INDX”

04H 2B 更新序列号的偏移(通常为 28H)06H 2B 更新序列号与更新数组以字为单位的大小: S

08H 8B 日志文件序列号10H 8B 本索引在索引分配中的 VCN

18H 4B 第一个索引项相对于此处的偏移(即此处的值加上 18H)1CH 4B 此索引缓冲区中的索引项总大小20H 4B 本索引缓冲区的分配大小(通常为 0FE8H)24H 1B 如果为 1,表示还有子节点25H 3B 用 0 填充28H 2B 更新序列号2AH 2S-2 更新序列数组

Page 106: 第3章 网络防御技术

106

华东理工大学计算机科学与工程系

32、索引缓冲区的补充说明

如目录中有文件增删或修改,则整个索引缓冲区会按顺序(文件名,增序)重写。

即使目录中有文件被删除,原分配的 VCN个数不会减少,即索引分配大小不变。

某个文件可能有多个索引项(命名空间不同)。最后一个索引项的MFT编号为 0,未包含文件的

30H属性,偏移 0C 处第一位为 1,表示结束项。 索引分配的缓冲区不管簇大小,总以 8扇区为单位分配空间。

Page 107: 第3章 网络防御技术

107

华东理工大学计算机科学与工程系

33、NTFS引导扇区恢复

NTFS的引导扇区如果遭到破坏,同样可以使用备份的引导扇区记录来恢复,只是 NTFS的备份引导扇区藏得比较隐秘。

格式化程序在 创建一个 NTFS 卷时,会将该分区的引导扇区备份到下一个物理相 连的分区的前一个扇区,假如下一个分区的情况为: 主分区:保存到下一分区起始前一个扇区。 逻辑分区:保存到下一分区的 VMBR 前一个扇区。 无:保存到此分区结束后的一个扇区。

Page 108: 第3章 网络防御技术

108

华东理工大学计算机科学与工程系

34、NTFS 删除文件的改变

在 NTFS 卷删除一个文件时,系统至 少在三个关键地方做了改变: 该文件MFT头偏移 16H 处字节,将最低位置 0。 在其父目录的 90H属性或 A0H属性中将该索引项删除掉。

在 $Bitmap位图元数据文件中把该文件所占用的簇对应位清零。

由于在 NTFS 中文件自身的信息同其目录位置信息是分开表示的,因此只能通过在MFT中搜寻文件名的方式来定位待恢复的文件。

Page 109: 第3章 网络防御技术

109

华东理工大学计算机科学与工程系

35、已删除文件的恢复

在恢复文件时,采取如下步骤: 通过目标文件的文件名( unicode编码)在MFT 中搜索到该文件记录项。

通过其父目录文件参考号判断是否选择正确。 通过其 80H属性读取数据内容,写入到另一分区的新文件中。

由于 NTFS采取的索引结构,因此只要该文件的MFT 项未被覆盖,就能够快速恢复。

Page 110: 第3章 网络防御技术

110

华东理工大学计算机科学与工程系

36、关于Unicode编码的问题在 FAT系统 中,存储文件名采用的是系统编 码,简体中文对应的是 GB2312 字符集。而长文件名则采用 Unicode 字符集,在搜索的时候应注意。在NTFS系统 中,存储文件名时均采用 Unicode 字符集。

Winhex 中搜索 Unicode 字符的时候对中文支持不好,因此会出现搜索文本时中文字符无法找到的情况,因此需要取得中文字符的 Unicode编码,然后用搜索 16 进制值的方式来查找。

微软的 GB18030 支持工具 包中的转换工具gbunicnv可以实现 GB 码同 Unicode 码的相互转换,然后取得文本内容的 Unicode编码信息。

Page 111: 第3章 网络防御技术

111

华东理工大学计算机科学与工程系

五、常用恢复工具

在数据恢复方面,为了提高工作 效率,人们开发出了许多数据恢复软件工具,它 们能快速自动地实现对数据的底层操作,特别是对分区误格式化、 FAT表被完全破坏、或者不确定文件系统 格式的情况。

常见的数据恢复工具软件 按操作对象分为分区操作、数据恢复和文件修复等几种功能类型,它们分别用在不同的场合。

Page 112: 第3章 网络防御技术

112

华东理工大学计算机科学与工程系

本章主要学习内容

分区操作工具

Page 113: 第3章 网络防御技术

113

华东理工大学计算机科学与工程系

1、分区操作工具

分区操作包括对 MBR的备份和还原操作,分区表的重建和手工编辑操作,以及分区 管理操作。

常见的分区操作工具有: DiskGenius Pqmagic KV3000 起动盘 三茗磁盘医生

Page 114: 第3章 网络防御技术

114

华东理工大学计算机科学与工程系

DiskGenius

DiskGenius是 DOS 下非常实用的分区表维护软件,界面直观方便,功能强大。它的主要 功能特点有: 中文图形操作界面,支持鼠标操作。 提供灵活的分区操作,支持编辑分区参数。 强大的分区表重 建功能,修复损坏的分区表。 能自动重建硬盘主引导记录。 能查看任意扇区,并保存至文件,支持扇区复制。 能备份硬盘分区表、各分区引导记录等关键信息。 提供硬盘表面检测功能,报告损坏的柱面。 支持 FAT分区的快速格式化、分区调整功能。

Page 115: 第3章 网络防御技术

115

华东理工大学计算机科学与工程系

PQMagic

PQMagic是老牌的快速分区工具,它已 完全替代Fdisk成为通用的分区管理软件,现在已 加入对Windows的支持。其特点是: 图形化操作界面,操作方便。 所有操作在应用之前均不改变磁盘信息。 提供丰富的分区管理功能,能设定各种分区、格式化参数。

能进行硬盘介质扫描,检查分区状况。 能在无损数据的情况下调整分区大小和位置。

Page 116: 第3章 网络防御技术

116

华东理工大学计算机科学与工程系

其他工具介 绍

KV3000本来是江民公司的著名杀毒软件,在清除CIH 病毒方面立下了汗马功劳,同时也推出了数据救护功能。它能查看和备份扇区,检查引导记录和分区表是否正常,还能够自动重建分区表,修复引导扇区信息。

三茗磁盘医生是一个非常小巧的分区修复工具,操作简单,使用方便。能帮助修复主引导记录、系统引导记录、 FAT表等系统数据,还能备 份和查看系统区数据。

Page 117: 第3章 网络防御技术

117

华东理工大学计算机科学与工程系

2、数据恢复工具

数据恢复操作主要是指将已删除了的文件、已格式化的分区、或丢失文件系统信息的磁盘的 原文件数据内容读出,尽量恢复到完整的状态。

数据恢复工具有 针对不同的文件系统的,有用于硬盘、 U盘等存储介质的、还有用于磁盘阵列的,不同的工具 恢复效果也不同。

Page 118: 第3章 网络防御技术

118

华东理工大学计算机科学与工程系

EasyRecovery

EasyRecovery是一款功能强大而 齐全的数据恢复软件,它有磁盘检测、数据恢复、文件修复等几大功能项,对于一般的数据恢复操作来说是非常全面了。

它在数据恢复方面,专门提供了误删除文件恢复、格式化分区恢复、 RAW 恢复、自定义高级恢复等选项,专门用于满足不同的数据丢失情况,提高了数据恢复的速度和命中率。 误删除文件恢复:适用于文件的数据和属性信息未被破坏的情况。 格式化分区恢复:适用于格式化后根目录信息丢失,而其他数据未被破坏的情况。

RAW 恢复:适用于整个文件系统信息 丢失,即描述文件的属性信息被破坏的情况。

自定义高级恢复:可以自行设定对磁盘或分区的恢复方式、过滤条件、以及操作选项等。

Page 119: 第3章 网络防御技术

119

华东理工大学计算机科学与工程系

FinalData

Page 120: 第3章 网络防御技术

120

华东理工大学计算机科学与工程系

关于 RAW 恢复方式 RAW 恢复方式不依赖于任何文件系统,它主要 依

赖于常见已知的文件头格式来判断文件的数据内容,比如 EXE、 JPG、 DOC等文件都有固定的文件头。

由于文件的属性信息缺失,因此不能确定文件的名称、大小、属性等信息。对占用多个簇,而且被分割存放的文件,程序一 般无法自动将其完整对接。

连续存放的文件,不仅磁盘读写效率高,而且在丢失时也容易被恢复。因此,我们要尽量保证文件存放的连续性,对磁盘做碎片整理可以使 文件连续。

Page 121: 第3章 网络防御技术

121

华东理工大学计算机科学与工程系

3、文件修复工具

文件修复操作是指文件并未丢失,而是其格式遭到破坏,或是被加密、感染病毒等,使得文件无法被正常打开。通过某种操作,使受损文件回到正常状态。

文件修复工具 按目标文件类型分为办公文档修复、图像文件修复、影音文件修复、压缩文件修复、数据库修复等,按操作方法分为文档修复工具、 杀毒工具、 解密工具等。