引导区与引导区病毒
该部分为恶意代码检测课程的笔记备份。
相关概念
引导型病毒
指寄生在磁盘引导区或主引导区的计算机病毒。此种病毒利用系统引导时,不对主引导区的内容正确与否进行判别的缺点,在引导型系统的过程中侵入系统,驻留内存,监视系统运行,待机传染和破坏。按照引导型病毒在硬盘上的寄生位置又可细分为主引导记录病毒和分区引导记录病毒。
BIOS自检 -> 硬盘主引导程序(MBR)-> 活动分区引导程序(DBR)-> 操作系统引导(NTLDR)-> 操作系统内核启动 -> 驱动程序及服务 -> 系统自启动程序
BIOS
- 基本输入输出系统,在主板BIOS Flash(或ROM)芯片。最底层、最直接的硬件设置和控制
- 检测系统中的一些关键设备是否存在和能否正常工作,并将控制权交给后续引导程序
- 显卡及相关设备初始化
- 显示系统BIOS启动画面,类型、序列号、版本号
- 检测CPU类型、工作频率、内存容量、即插即用设备
- 根据用户指定启动顺序启动
硬盘主引导程序
- 所在位置:MBR,Master Boot Record,硬盘第一扇区
- 主要功能:通过主分区表中定位活动分区
- 装载活动分区的引导程序,并移交控制权
活动分区引导程序
- 所在位置:DBR,或称OBR,或称分区引导记录(PBR)
操作系统引导(NTLDR为例)
- 讲处理器从16位内存模式拓展为32(64)位内存模式
- 启动小型文件系统驱动,识别FAT32/NTFS
- 读取boot.ini,进行操作系统选择
- 检测和配置硬件
系统内核加载
- NTOSKRNL.EXE以及硬件抽象层HAL.dll
- 读取加载指定驱动
Windows系统装载
登录阶段
登录之后:启动用户环境下的自启动项程序
系统引导与恶意软件关系
- 恶意软件在植入系统后,如何获取控制权
- 在计算机系统引导阶段获取控制权:BootKit、CIH病毒
- 在操作系统启动阶段获取控制权:最常见的恶意软件启动方法
- 在应用程序执行阶段获取控制权:文件感染型病毒启动方法
8086 处理器
实模式
- 复位或加电时实模式启动
- 寻址方式:20位寻址(段+偏移),1M空间。
- 不能对内存进行分页管理
- 不支持优先级,所有指令相当于工作在特权级(优先级0)
- 切换到保护模式:通过在实模式下初始化控制寄存器,GDTR,LDTR等管理寄存器以及页表,然后再置位CR0寄存器的保护模式使能位(PE:Protected-Mode ENable,第0位)
保护模式
- 常态工作模式
- 支持32位寻址,物理寻址空间4G
- 支持内存分页机制
- 支持优先级机制,根据任务特性进行运行运行环境隔离
虚拟8086模式
- 保护模式下兼容8086程序
- 以任务的形式在保护模式上执行
- 只会任务切换和内存分页
Windows内存和管理
4G空间:2G用户进程,2G系统空间
用户区:每个进程真正独立的可用内存空间,进程中的绝大部分数据保存在这一区域
内核区的所有数据:所用进程共享,操作系统代码驻地,被操作系统保护,用户模式代码无法直接访问和操作
Windows虚拟地址空间与物理地址:两级页表映射,页目录索引(10 bits),页表索引(10 bits),字节索引(12 bits)
磁盘的物理与逻辑结构
物理结构
外部结构:并口(PATA)、串口(SATA)
机械硬盘串口快于并口
内部结构:磁盘盘片、读写磁头、盘片主轴、控制电机、磁头控制装置
逻辑结构
CHS参数寻址:柱面,磁头,扇区
老式硬盘:磁道扇区数相等
当前硬盘:等密度结构,采用LBA寻址(线性逻辑块寻址),以扇区为单位进行线性寻址
总体结构:主引导扇区、基本分区、拓展分区(逻辑驱动器)
主引导扇区:0磁头0柱面1扇区,包括硬盘主引导记录MBR、分区表DPT
MBR结构
整体结构
| 偏移 | 含义 |
|---|---|
| 0到0x1BD | MBR代码 |
| 0x1BE到0x1FD | 分区信息 |
| 0x1FE到0x1FE | 结束标志 |
分区信息
| 偏移 | 长度 | 含义 |
|---|---|---|
| 00H | 1 | 引导标识,分区状态:00表示非活动分区;80表示活动分区 |
| 01H | 1 | 分区起始磁头好(HEAD),用到全部8位 |
| 02H | 2 | 分区起始扇区号(SECTOR),占据02H的位0-5;起始磁柱号(CYLINDER),占据02H的位6-7和03H的全部8位 |
| 04H | 1 | 文件系统标志位 |
| 05H | 1 | 分区结束磁头号,用到全部8位 |
| 06H | 2 | 分区结束扇区号(SECTOR),占据06H的位0-5;该分区的结束磁柱号(CYLINDER),占据06H的位6-7和07H的全部8位 |
| 08H | 4 | 分区起始相对扇区号 |
| 0CH | 4 | 分区总扇区数 |
FAT32文件系统

注意:FAT32分区第一个扇区是引导扇区,但是硬盘第一个扇区不是引导扇区。
结构

DBR:该分区的引导程序,在DBR的结尾部分会有一些重要的保留扇区(这些保留扇区属于DBR,图中未画出)
FAT1:FAT的首要文件分配表
FAT2:文件分配表的备份
DATA:数据区(最小单位为簇(cluster),一般2个扇区为1簇,是微软规定的一种磁盘存储单位,与Linux的block概念类似,FAT32最大簇为64K)
DBR
经由FORMAT高级格式化写到该扇区的内容为称为DOS的引导记录(DBR),其主要功能是完成DOS系统的自举。
| 偏移 | 长度 | 含义 |
|---|---|---|
| 0000H | 2 | 跳转指令,将当前执行流程跳转到引导程序处。对应汇编 "JUMP 58H; NOP" |
| 0002H | 8 | OEM代号,由创建该文件系统的厂商规定 |
| 00A0H | 79 | BPB(BIOS Paramter Block),从DBR的第12个字节开始共占用79字节,记录了文件系统的重要信息 |
| 00EFH | - | DBR引导程序 |
| - | 4 | DBR结束标记 |
BPB参数
| 偏移 | 字节 | 含义 |
|---|---|---|
| BH | 2 | 每扇区的字节个数 |
| DH | 1 | 每簇扇区数 |
| EH | 2 | 保留的扇区个数 |
| 10H | 1 | FAT个数 |
| 11H | 2 | 不使用(根目录数量,FAT32已突破此限制,已无效,一般为0) |
| 13H | 2 | 不使用(扇区总数,小于32M时才使用) |
| 15H | 1 | 存储介质描述符 |
| 16H | 2 | 不使用(FAT占的扇区数,小于32M时才使用) |
| 18H | 2 | 每磁道扇区个数 |
| 1AH | 2 | 磁头数 |
| 1CH | 4 | 隐藏扇区 |
| 20H | 4 | 扇区总数(大于32M时使用) |
| 24H | 4 | FAT占的扇区数(大于32M时使用) |
| 28H | 2 | 扩展标记 |
| 2AH | 2 | 版本,一般为0 |
| 2CH | 4 | 根目录的首簇号 |
| 30H | 2 | 文件系统整体信息扇区号 |
| 32H | 2 | DBR备份所在的扇区号 |
| 34H | 12 | 保留,固定为0 |
| 40H | 1 | BIOS驱动器号 |
| 41H | 1 | 不使用,一般为0 |
| 42H | 1 | 扩展引导标记 |
| 43H | 4 | 卷序列号 |
| 47H | 11 | 卷标 |
| 52H | 8 | 文件系统类型名,固定为”FAT32 ” |
引导区病毒
引导区病毒:通过感染磁盘上的引导记录(BR)或改写磁盘分区表(FAT)来感染系统。开机即可启动的病毒,先于操作系统而加载。
实例:Petya是2016年被发现的加密ransomware,其主要特点是通过感染Windows系统的MBR来加密硬盘上的文件系统并且组织Windows系统引导,进而勒索比特币。

浙公网安备 33010602011771号