该技能介绍 Windows 内核内部机制与安全机制,重点服务于游戏保护与底层安全研究。内容按用途可分为若干部分。
内核核心概念:涉及 EPROCESS/ETHREAD、KTHREAD/KAPC、MMVAD/VAD 树节点、PEB/TEB、DRIVER_OBJECT、DEVICE_OBJECT、IRP,以及 SSDT、IDT、GDT、PspCidTable、PiDDBCacheTable/MmUnloadedDrivers/PoolBigPageTable 等表结构。还包括用户态内核符号遍历方法:加载本地 ntoskrnl 镜像,使用 dbghelp 与符号服务器解析导出符号 RVA 和类型信息,并构建结构感知字段查找(直接查询字段偏移、枚举结构成员、跨结构搜索字段名),符号路径可配置以支持离线或私有符号库。
安全特性:PatchGuard(内核补丁保护,周期性校验,检测到篡改则蓝屏)、驱动签名强制(DSE,要求签名驱动,由 CI.dll 验证,有测试签名模式与 WHQL 认证)、基于虚拟化的安全(VBS,用 Windows 虚拟机监控器创建隔离执行环境,划分为 VTL0 普通世界与 VTL1 安全世界,含内存保护特性、VTL 分离与 VBS enclaves)、HVCI(内存完整性,限制 W→X 转换,通过代码完整性策略与 EPT/SLAT 强制)、Secure Boot(UEFI 启动验证、启动加载器链校验、内核签名检查、DBX 禁止签名)。
内核回调:包括进程回调(PsSetCreateProcessNotifyRoutine 系列)、线程回调、镜像加载回调、对象回调(ObRegisterCallbacks,句柄创建/复制)、APC 与执行上下文(KeInitializeApc、KeInsertQueueApc、KeStackAttachProcess、RtlWalkFrameChain)、注册表回调(CmRegisterCallback)以及微过滤器回调(FltRegisterFilter)。
驱动开发:给出 DriverEntry 基本结构示例与通信方式(IOCTL、直接 I/O、缓冲 I/O、共享内存)。
易受攻击驱动利用:列出常见漏洞类型(任意读写原语、IOCTL 处理漏洞、池溢出、释放后使用),并点名若干已知易受攻击驱动(gdrv.sys、iqvw64e.sys、MsIo64.sys、Mhyprot2.sys、dbutil_2_3.sys、RTCore64.sys、Capcom.sys)及利用步骤(加载已签名易受攻击驱动、触发漏洞、获得内核读写、禁用 DSE 或加载未签名驱动、执行任意内核代码)。
PatchGuard 绕过思路:基于定时、上下文操纵(异常处理、DPC、线程上下文篡改)、基于虚拟机监控器(EPT 操纵、内存虚拟化、拦截 PG 检查)。
ETW:介绍提供者/消费者模型、内核关键提供者、ThreatIntel ETW 提供者(Microsoft-Windows-Threat-Intelligence,PPL 及以上可用,事件含 NtReadVirtualMemory 等,被 EDR 与反作弊用于检测对受保护进程的内存访问),以及常见 ETW 绕过模式(patch ntdll!EtwEventWrite、patch nt!EtwpEventWriteFull、NtSetInformationThread(ThreadHideFromDebugger)、遍历 EtwRegistration 列表移除注册、基于 EPT 的保护)。
池分配与取证:PiDDBCacheTable、MmUnloadedDrivers、PoolBigPageTable 的作用与检测价值,池标签取证(ExAllocatePoolWithTag/ExAllocatePool2、pooltag.txt、PoolMon、!poolfind)。
其他技术:SSDT 挂钩(遗留)、IRP 挂钩、内存操作(物理内存 MmMapIoSpace/MmCopyMemory/\Device\PhysicalMemory;虚拟内存 ZwReadVirtualMemory 等;MDL 操作)。
研究工具:WinDbg、Process Hacker/System Informer、OpenArk、WinArk、KDU、OSR Driver Loader、DriverView、Process Monitor、API Monitor、ETW 消费者。
EFI/启动时威胁:EFI 驱动交叉引用、启动时访问(EFI 运行时服务、DXE 阶段、内核前执行、Secure Boot 为主要缓解)、内存访问(GetVariable/SetVariable、EFI 内存映射、物理内存访问、ACPI 表注入)。
虚拟机监控器开发:类型 1 与类型 2 虚拟机监控器、硬件虚拟化平台(Intel VT-x、AMD-V/SVM、ARM 虚拟化扩展)、VMCS 核心概念(访客/宿主状态区、控制字段、导致 VM exit 的事件)、EPT(SLAT、两级地址转换、EPT 层级、PTE)、VM exit 与 VMCALL、嵌套虚拟化、AMD-V 的 VMCB/NPT/SVM 操作、用例(内存隐藏、系统调用拦截、安全监控、反作弊规避、基于 EPT 的内存保护与自省)。
Windows Hypervisor Platform (WHP) API:用户态虚拟机监控器接口(WHvCreatePartition、WHvSetupPartition、WHvCreateVirtualProcessor、WHvMapGpaRange、WHvRunVirtualProcessor、WHvGetVirtualProcessorRegisters/Set),支持从用户态进行虚拟机监控器辅助分析、按页陷阱处理、VM exit 原因与确定性执行,前提是启用相应 Windows 功能并具备 VT-x 或 AMD-V 支持,且与 Hyper-V 共存但与部分第三方虚拟机监控器冲突。
基于虚拟机监控器的防御:概念上从高于访客内核的权限级别强制执行保护,Windows 对应 VBS、Android 对应 AVF、Apple 对应安全执行环境;EPT 钩子作为防御原语,通过修改 EPT 权限而非补丁访客内核,让特定内存访问触发 EPT violation → VM exit,由虚拟机监控器检查并决定允许、拒绝或记录。
适用场景与限制:该资料面向游戏保护与底层安全研究,涉及反作弊检测与规避、驱动研究、虚拟机监控器开发与防御。原文未提供具体收费标准、价格、平台支持范围、安装命令与使用步骤等细节,这些信息暂未提供。