关键词:
程序分析
动态分析
恶意代码
系统内核
硬件虚拟化
摘要:
各种高级恶意代码在网络空间中不断出现,具有分析对抗能力强、恶意行为更隐蔽等新特点,对各类信息系统的安全性产生严重威胁。为深度了解恶意代码及相关攻击活动,需研究更实用和高效的分析方法,以提高对威胁的分析能力和响应速度。针对二进制程序分析,尽管已有较多的研究成果,但随着软硬件技术的发展,仍面临实用性和灵活性较低、性能和资源开销较高、难以适应新的应用场景等问题。因此在已有工作的基础上,本文以动态细粒度程序分析为目标,将操作系统和虚拟机监视器进行深度融合,提出一种新的二进制程序动态分析方法。该方法充分利用硬件虚拟化新特性对目标程序的执行进行动态拦截,能够更便捷地对用户模式应用程序进行自动化分析,并采用新的动态分析相关内存管理方案,以提高细粒度分析的效率和分析代码构建的灵活性;同时综合程序执行和指令分析进行分离的策略,进一步降低分析过程对目标程序运行时的性能影响。本文在Windows平台上设计了该方法的原型并实现相应的分析框架,采用基准程序和实际应用程序进行大量实验,验证了该方法的可行性和高效性,并通过数据流分析案例进一步展示了框架在实际分析中具有较高的应用价值。