Windows内核编程(【美】帕维尔·约西福维奇(PavelYosifovich))

书: https://pan.baidu.com/s/1XqKbodMZYD_Bu2f_E1ghxw?pwd=y5p9
笔记如下:

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

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注