
书: https://pan.baidu.com/s/1XqKbodMZYD_Bu2f_E1ghxw?pwd=y5p9
笔记如下:
- “Windows内核是‘混合内核’架构,兼具微内核的模块化和宏内核的性能。”
 - “NT内核的核心组件:执行体(Executive)、内核(Kernel)、硬件抽象层(HAL)、设备驱动。”
 - “驱动开发环境(WDK)必备:
Visual Studio+Windows Driver Kit,调试需WinDbg双机联调。” - “驱动程序类型:
WDM(传统)、KMDF(内核模式驱动框架)、UMDF(用户模式驱动框架)。” DriverEntry是驱动入口点,Unload例程处理卸载逻辑,IRP(I/O请求包)是通信核心。”- “设备对象栈(Device Stack):
IoCreateDevice创建设备,IoAttachDeviceToDeviceStack挂载过滤驱动。” - “内存管理:内核态分页池(
ExAllocatePoolWithTag)与非分页池,ProbeForRead/Write验证用户缓冲区。” - “同步机制:自旋锁(
KeAcquireSpinLock)用于高速场景,互斥体(KeWaitForMutexObject)避免忙等待。” - “IRP处理流程:
IoCallDriver派发请求,IoCompleteRequest完成处理,IoSetCompletionRoutine设置回调。” - “
DKOM(直接内核对象修改)攻击原理:篡改EPROCESS链表隐藏进程,需CR0写保护位关闭。” - “回调机制:
PsSetCreateProcessNotifyRoutine监控进程创建,CmRegisterCallback拦截注册表操作。” - “
MiniFilter文件过滤驱动框架:FltRegisterFilter注册,FltCreateFile安全操作文件。” - “
APC(异步过程调用)和DPC(延迟过程调用)实现异步内核任务,优先级高于线程调度。” - “
ETW(事件跟踪Windows)内核日志:EtwRegister提供者,EtwWrite记录事件,WPP扩展跟踪。” - “
PatchGuard保护内核代码完整性,绕过需硬件虚拟化(如Hyper-V)或未公开漏洞。” - “
WDF(Windows驱动框架)抽象硬件交互,Wdm.h和Ntddk.h是底层API头文件。” - “安全开发原则:验证所有用户输入(
__try/__except),避免BSOD(蓝屏死机)。” - “
VSM(虚拟安全模式)隔离敏感操作,Secure Kernel保护凭证和加密密钥。” - “调试技巧:
!process查看进程,!thread分析线程,!irp追踪I/O请求。” - “内核编程铁律:‘永远假设代码运行在最高权限,任何错误都会导致系统崩溃’。”