首页
社区
课程
招聘
[分享]Windows内核框架介绍
发表于: 2026-3-8 14:30 657

[分享]Windows内核框架介绍

2026-3-8 14:30
657

前言

Windows 内核开发中,"Kernel Framework(内核框架)" 通常指: 微软为驱动开发提供的一套接口模型或子系统, 这些框架封装了底层复杂的 WDM(Windows Driver Model) 机制, 使驱动更容易编写, 并针对不同类型的设备或功能提供专用接口.

在内核的学习中不可避免会接触到, 若能系统学习每一个框架的搭建于原理将对开发内核起到很大帮助, 本文将按常用顺序顺序依次介绍每个框架:

一、文件系统相关框架

1.Minifilter (常用!!!)

用于文件系统过滤

典型用途:

  • 文件隐藏: 可以隐藏文件或目录, 例如: 用户执行->Minifilter拦截->结果:用户看不到该文件(类似 Rootkit 技术)
  • 文件重定向: 可以把一个文件访问 重定向到另一个文件
  • 文件完整性保护: 可以保护某些文件
  • 文件内容监控: 可以监控读取的数据
  • U盘控制: 禁止复制到U盘
    等等...

特点:

  • 统一文件过滤接口
  • 替代旧的 Legacy FS Filter
  • 通过 IRP / Fast I/O / Callback 处理

经典监控函数:

  • CreateFile
  • ReadFile
  • WriteFile
  • DeleteFile
  • SetInformation

Minifilter 可以在 文件读写前后拦截数据, 因此可以实现例如:

  • 文件读取时自动解密
  • 文件写入时自动加密

常应用于透明加密系统:

1
2
3
4
5
6
7
用户读取文件
   
Minifilter
   
解密数据
   
用户获得明文

2. Legacy File System Filter

老式文件过滤驱动
特点:

  • 直接 Hook 文件系统 IRP
  • 没有统一框架
  • 容易蓝屏

现在基本被 Minifilter 取代

二、网络相关框架

1. WFP (Windows Filtering Platform) (常用!!!)(上上篇博客已介绍部分)

网络过滤框架
可拦截: 应用层 / 传输层 / 网络层 / MAC层
典型用途: 防火墙 / 网络监控 / 网络拦截

核心函数有:

  • FwpmEngineOpen
  • FwpmCalloutAdd
  • FwpsCalloutRegister

2. NDIS (Network Driver Interface Specification)

网络驱动框架
常用于: 网卡驱动 / 网络过滤 / 网络虚拟设备

常有类型有:

  • Miniport: 网卡驱动
  • Protocol: 网络协议
  • Filter: 网络过滤

核心函数有:

  • NdisFRegisterFilterDriver
  • FilterSendNetBufferLists
  • FilterReceiveNetBufferLists

三、设备驱动框架

1. WDF (Windows Driver Framework) (常用!!!)

微软新的驱动框架, 用于创建驱动
分为:

  • KMDF: 内核驱动框架 (Kernel Mode Driver Framework)
  • UMDF: 用户驱动框架 (User Mode Driver Framework)

四、进程 / 对象监控框架

1. OB Callback (Object Manager Callback) (常用!!!)

对象访问过滤框架
可以拦截: 进程句柄 / 线程句柄
常用于: 反作弊 / 防止打开进程 / 防调试

可监控对象:

  • PsProcessType
  • PsThreadType

2. Process / Thread Notify

进程线程创建通知

常用于:

  • 进程监控
  • DLL加载监控

常用接口:

  • PsSetCreateProcessNotifyRoutine
  • PsSetCreateThreadNotifyRoutine
  • PsSetLoadImageNotifyRoutine

五、注册表框架

1. Registry Callback

注册表操作监控
常用于: 杀毒 / 安全软件 / 注册表保护

可拦截:

  • RegCreateKey
  • RegSetValue
  • RegDeleteKey

六、文件系统通知框架

1. File System Notify

监控文件系统挂载
常用于: 检测 NTFS / FAT 加载

七、内存管理相关

1. Section / Image Notify

监控模块加载
常用于: DLL加载 / EXE加载 / 驱动加载

八、图形 / 输入框架

1. Win32k Filter / Input Filter

监控键盘鼠标过滤

九、存储驱动框架

1. Storage Filter Driver

磁盘过滤驱动
常用于: BitLocker / 磁盘加密

十、虚拟化框架

1. Hypervisor / Hyper-V Interface

虚拟化扩展框架
常用于: 虚拟机 / 安全隔离 / 反作弊

十一、内核调试 / ETW

1. ETW (Event Tracing for Windows)

系统事件追踪框架
常用于: 系统监控 / 性能分析 / 安全检测

总结

微软提供的框架也是十分全面, 许多框架笔者还尚未涉及全面, 后续也会持续完善更新笔记, 并且笔者后续也会按照此帖对常用内核框架进行学习

以上资料为笔者为系统学习内核收集而来, 如有错漏请留言, 欢迎讨论


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2026-3-9 09:51 被mb_binusgki编辑 ,原因: 补充内容
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回