其他分享
首页 > 其他分享> > 【计算机网络病毒四】文件系统之NTFS

【计算机网络病毒四】文件系统之NTFS

作者:互联网

NTFS文件系统

简介

NTFS的安全性很高,提供许多安全性能方面的选项,可以在本机也可以通过远程的方法保护文件、目录。NTFS还支持加密文件系统(EFS),可以阻止没有授权的用户访问文件。

NTFS文件系统数据存储的可靠性很强,比较适合做服务器的文件系统,因为其提供了基于原子事务(Atomic Transaction)概念的文件系统可恢复性。

将文件系统所需的全部数据,如记录卷的分配状态位图、文件、目录和系统引导程序等数据,像一般的文件一样储存在硬盘上。这些系统文件称为元文件(metafile),这些数据则称为元数据(metadata) 。

由于元文件在重要性,所以NTFS系统在该卷文件存储部分的正中央对它们进行了备份。

image-20210614133306541 image-20210614133326900

NTFS引导扇区

NTFS的第一个扇区为引导扇区,即DBR扇区。其中有NTFS分区的引导程序和一些BPB参数,系统根据这些BPB参数来得到分区的重要信息。

NTFS文件系统的DBR扇区与FAT文件系统的结构一样,也包括跳转指令、OEM代号、BPB参数、引导程序和结束标志。

BPB描述了每扇区字节数、每簇扇区数、$MFT的起始簇号、文件记录的大小描述等信息。

NTFS的DBR引导程序占用426字节(54H~1FDH),其负责完成将系统文件NTLDR装入。

MFT

16个元文件中主文件表($MFT)是一个非常重要的元文件,它由文件记录构成,每个文件记录占用2个扇区。

在$MFT中前16个文件记录总是元文件的纪录

系统通过​$MFT来确定文件在磁盘上的位置以及文件的所有属性。

镜像文件($MFTMirr),是​$MFT的一个小部分镜像,一般只镜像前四个文件记录。

文件记录由文件记录头,属性列表:属性1 、属性2……,结束标志“FFFFFFFFH”组成。

image-20210614134004007
①文件记录头
②MFT
image-20210614135858718

MFT的结构

属性

常驻没有属性名的属性头结构

image-20210614140048151

非常驻有属性名的属性头结构

image-20210614140711447

10H($STANDARD_INFORMATION)属性分析

20H($ATTRIBUTE_LIST)属性分析

image-20210614141129049

30H($FILE_NAME)属性分析

image-20210614144359543

80H($DATA)属性分析

非常驻80H属性结构

80H属性未命名数据流

image-20210614145039782

例:数据属性的Run List值为“32 0C 1B 00 00 0C”

image-20210614145109583
云文件$Root

元文件$Root是用来管理根目录的,其文件名实际上是“.”,它包含6个属性。

90H属性

MFT的结构

image-20210614145217521 image-20210614145318289
文件的定位
image-20210614145359920

启动过程简介

  1. 开机,系统BIOS加电自检
  1. 读主引导扇区(MBR)
  1. 读取活动分区
  1. 操作系统引导代码引导系统并读取操作系统初始化文件

DOS引导程序

Windows 2000/XP启动过程

  1. 预启动
  1. 进行初始化
  1. 读取Boot.INI文件
  1. 加载NtDetect.COM
  1. 选择硬件配置文件
  1. 装载内核
  1. 初始化内核
  1. 用户登录

中断

中断与计算机病毒

内存管理

内存寻址技术的演变
DOS内存布局
保护模式与虚拟内存

80x86(80386及其以后)可在实模式、保护模式和虚拟86模式下运行。

实模式就是MS-DOS的运行环境,只能利用32位寄存器的前16位,而后面的16位就浪费了。

虚拟86模式是以任务形式在保护模式上执行的,在80386上可以同时支持由多个真正的80386任务和虚拟86模式构成的任务。在虚拟86模式下,80386支持任务切换和内存分页。在Windows操作系统中,有一部分程序专门用来管理虚拟86模式的任务,称为虚拟86管理程序。

在保护模式下,支持内存分页机制,提供了对虚拟内存的良好支持。

保护模式下80386支持多任务,可以依靠硬件仅在一条指令中实现任务切换。任务环境的保护工作是由处理器自动完成的。

在保护模式下,所有的应用程序都具有权限级别PL,分为0级、1级、2级、3级,其中0级最高。

80x86的每个段描述符号中都有DPL字段,它规定了访问该段的最低特权级别,只有高于此特权级的程序有权访问它。

应用程序如果拥有第0级的权限,则可以执行任何指令并访问任何数据;如果运行在第3级,则只能执行有限指令。

在windows系统中,任何一个进程都被赋予其自己的虚拟地址空间,对于32位进程,地址空间可达4GB。但除去操作系统的空间,每个应用程序可以被分配2GB的虚拟地址。

程序的代码和数据都放在同一地址空间。

进程实际可以得到的物理内存要远小于其虚拟地址空间

Windwos使用磁盘文件做虚拟内存。

虚拟内存实现的方法:

创建新进程,分配2GB空间的虚拟内存

虚拟内存管理器将应用程序的代码映射到虚拟地址中的某个位置,并把当前所需要的代码读取到物理地址中。

如果使用DLL,DLL也被映射到进程的虚拟地址空间,在需要的时候才被读入内存。

其他项目的空间从物理内存中分配,并映射到虚拟空间中。

应用程序通过使用虚拟地址空间中的地址开始执行,然后虚拟内存管理器把每次内存访问映射到物理位置

标签:文件,NTFS,记录,扇区,文件系统,计算机网络,MFT,属性
来源: https://www.cnblogs.com/cxgang/p/15210731.html