摘要

虚拟化技术已被广泛用于恶意软件分析系统,而虚拟机检测技术作为一种反分析技术,对恶意软件作者和安全研究人员都有重要意义。为了描述和探索虚拟机检测方法,给出了虚拟机检测的基本思想并介绍了几种已有检测方法,考虑到检测方法的通用性,提出了基于CPU缓存(Cache)操作模式差异的虚拟机检测方法,通过比较启用CPU缓存和禁用CPU缓存时的指令执行效率来判断当前环境是否为虚拟环境。通过实验发现在真机环境中禁用CPU缓存对指令执行效率有显著影响,而在虚拟环境中禁用CPU缓存对指令执行效率没有显著影响。实验结果表明,利用CPU缓存操作模式在真机环境与虚拟环境中的差异来检测虚拟机是可行的。