论文部分内容阅读
随着信息化的发展,恶意代码潜入用户主机,制造恶意行为、窃取用户隐私,所带来的危害日益严重。此外,其自身行为日益隐蔽,对恶意代码的检测造成一定的阻碍。传统基于主机的检测系统,运行在受保护系统内部,检测结果易受恶意代码的篡改。动态污点跟踪技术能够有效检测恶意行为,但其基于模拟器QEMU实现,需要跟踪整个系统级的指令流,性能开销庞大,不能用于在线检测。基于虚拟机架构的恶意行为跟踪系统,将检测系统部署于虚拟化架构中的特权域,在外部对每个受保护系统提供安全检测。该架构通过语义还原技术获取和传统检测技术相同的视图,且弥补了传统检测技术的不足。同时,系统设计并实现按需跟踪技术,动态将客户操作系统在虚拟机和模拟器之间迁移。在截获到污点数据处理的指令时,将客户操作系统动态迁移到模拟器中运行,在传播过程结束后,将客户操作系统从模拟器中迁移到虚拟机内继续运行。该技术避免对系统运行阶段内,出现次数繁多、不会造成任何威胁的指令的跟踪,从而使得污点跟踪的性能开销大大减少。基于虚拟机架构的恶意行为跟踪系统同时实现基于数据流的跟踪方式,用于保护用户隐私数据。测试结果表明,系统能够同时对Windows和Linux两种系统进行恶意代码检测,弥补普通检测软件只能用于特定操作系统的缺陷。通过交叉视图对比方式,系统检测出隐藏进程的rootkits。利用动态污点跟踪技术,系统能检测出利用栈溢出、缓冲区溢出进行攻击的蠕虫。以隐私数据作为污点时,系统能够跟踪其传播的详细信息,保护用户隐私数据。系统在没有污点开销时,对比运行在Xen上的Linux系统,平均性能损失在10%以内。动态迁移虚拟机进入模拟器带来的性能开销(上下文切换),对比Xen上的Linux系统,平均性能损失在15%以内。污点跟踪执行时间少,平摊性能开销对系统不会造成太大影响,从而能够达到在线检测的目标。