为保护操作系统内核的完整性,提出了一种基于硬件虚拟化技术的保护方案.该方法对关键寄存器、代码指针表、函数代码等恶意代码攻击的关键点进行识别和放入保护区,利用硬件虚拟化的自动陷入机制检测对保护区的非法篡改.同时,利用单步执行技术和事件转发技术保障OS其它操作的兼容性.另外,通过保护页的合并减少保护区的长度以提高异常处理的效率.最后,实现了一个采用该技术的原型工具——HV_KDAP,该工具检测了主流的9款Rootkit样本,实验结果证实其增加的负载为12.7％.该工具还可以抑制内核本地权限提升的攻击,以及用于内核攻击的取证.