1.1 引言
硬件辅助虚拟技术,顾名思义就是硬件支持虚拟化,一般特指CPU的虚拟化。物理CPU虚拟出一个虚拟CPU给客户机使用,并且提供特权级保护支持,虚拟机软件不必关心指令的解析以及特权指令造成的安全问题。这种技术方便了虚拟机的开发,同时也提升了虚拟机的性能。
硬件虚拟化技术除了可以提高虚拟机性能外还有很多其它的用途,例如软件加密与保护,还可以被恶意程序利用。在2006年8月3日的拉斯韦加斯的黑帽大会上,COSEINC的安全研究员JoannaRutkowska演示了一个叫做BluePill的恶意程序,该程序使用硬件虚拟化技术侵入Windows操作系统底层并完美地隐藏起来,所有的AntiRootkit工具均无法检测其存在。
硬件虚拟化技术还可以应用到调试与反调试领域。很多恶意程序都有反调试功能,而基于硬件虚拟化技术的调试器作为VMM,可以优于操作系统响应并拦截调试异常,完美地将自己隐藏起来,被调试的代码很难进行反调试。难以被检测是基于硬件虚拟化技术的调试器最主要的优点。
![](https://img-my.csdn.net/uploads/201209/20/1348118713_1371.png)
图1-1传统内核调试器、虚拟化调试器与操作系统层次对比
2010