一种新的恶意软件行为分析系统的设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一种新的恶意软件行为分析系统的设计与实现凌冲余忠慧孙乐昌刘京菊张亮(解放军电子工程学院合肥230037)摘要:基于虚拟化技术的恶意软件行为分析是近年来出现的分析恶意软件的方法。该方法利用虚拟化平台良好的隔离性和控制力对恶意软件的运行时行为进行分析,但存在两方面的不足:一方面,现有虚拟机监视器(VirtualMachineMonitor,VMM)的设计初衷是提高虚拟化系统的通用性和高效性,并没有充分考虑虚拟化系统的透明性,导致现有的VMM很容易被恶意软件的环境感知测试所发现;另一方面,源代码较为庞大和复杂,提供了很多恶意软件行为分析不需要的功能,带来了更多的“边缘效应”和漏洞。为此,提出一种基于硬件辅助虚拟化技术的恶意软件行为分析系统——THVA。THVA是一个利用了安全虚拟机(SVM)、二级页表(NPT)、外部设备访问保护(EAP)和虚拟机自省等多种虚拟化技术完成的、专门针对恶意软件行为分析的微型VMM。实验结果表明,THVA在虚拟机自省、行为监控和反恶意软件检测方面表现良好,并通过安全模式转换技术将自身性能提高了18.2%左右。关键词:硬件辅助虚拟化;恶意软件行为分析;虚拟机自省;二级页表;外部设备访问保护中图法分类号:TP309.5文献标识码:ADesignandachievementofmalwareanalysissystembasedonHardware-assistedVirtualizationMonitorLINGChongYUZhong-huiSUNLe-changLIUJing-juZHANGLiang(ElectronicEngineeringInstitute,PLA,Hefei230037,China)Abstract:MalwareanalysisbasedonHardware-assistedVirtualizationMonitorhasbeenrecentlypresently,whichutilizethestrongisolationandtheabilitytocontrolGuestOSofvirtualizationplatformtoanalyzethemalwareruntimebehavior.Buttherearetwoshortages:oneisthatthedesignmotiveofVMMisnotfortransparencybutforfunctionalityandperformance,whichinduceVMMtobedetectedbymalware’svirtualizationenvironmentdetection;anotheristhatVMM’scodearetoolargeandcomplex,andpartoftheirfunctionisunnecessary.Thesefeaturesbringmore“side-effects”andvulnerabilities.Therefore,amalwareanalysissystembasedonHardware-assistedVirtualizationMonitor—THVAispresented.THVAisthinVMM,whichonlyabout6000linescode,utilizingtheSVM,NPT,EAPandvirtualmachineintrospectiontechnologiestoachieve,andspecialformalwareanalysis.TheresultofexperimentsshowsthatTHVAisgoodforvirtualmachineintrospection,behaviormonitorandanti-detection,etc.Inaddition,THVAutilizestheSecurityModeTransitiontechnologytoenhancetheperformanceitselfforabout18.2%.Keywords:Hardware-assistedVirtualizationMonitor;malwareanalysis;virtualmachineintrospection;NPT;EAP1引言恶意软件行为分析是指计算机安全研究人员分析恶意软件在操作系统中的执行流程,及其对操作系统资源的影响。通过对恶意软件的行为分析,安全研究人员可以找出针对性的方法修复和保护操作系统。目前,恶意软件行为分析系统主要分为两种:一种是传统的恶意软件行为分析系统,即行为分析系统与恶意软件运行于同一操作系统中,不仅无法确保所提取恶意软件信息的可靠性,其自身也容易受到恶意软件的攻击;另一种是基于虚拟化技术的恶意软件行为分析系统,目前的XEN和VMware等商用虚拟机软件已经被运用到这一领域[1]。但是,这种行为分析系统也同样存在问题——商业虚拟机的设计初衷与恶意软件行为分析系统的设计要求相违背,严重影响了基于虚拟化技术的恶意软件行为分析系统的安全性。本文第二节详细叙述了当前主流恶意软件行为分析技术的缺点。在此基础之上,在第三节提出了一种基于硬件辅助虚拟化技术的恶意软件行为分析系统——THVA,并在第四节完成了THVA的原始实现。最后,通过实验结果证明了THVA较之当前大多数恶意软件行为分析系统,具有更好的可靠性、可信性和高效性。2当前恶意软件行为分析技术及其缺点当前恶意软件分析技术包括了传统恶意软件行为分析技术和基于虚拟化技术的恶意软件行为分析技术。传统的恶意软件行为分析技术包括:反汇编技术、调试技术和黑盒测试技术。其中,反汇编技术是一种代码静态分析技术,它对于现在恶意软件常用到的封包技术和动态代码转译技术是失效的。调试技术可以用来分析恶意软件的每一条指令,但在分析恶意软件的同时容易被恶意软件所感知,恶意软件可以在感知后采用if/then分支选择技术执行虚假行为,使得调试技术对于恶意软件行为分析的结果变得毫无意义。黑盒测试技术并不存在上述缺点,但是这种技术所提供的恶意软件行为分析结果往往是不完整的,影响了恶意软件分析的可信性。基于虚拟化技术的恶意软件行为分析技术利用虚拟机监视器(VMM)和虚拟机(VM)之间强大的隔离性作为安全保证,通过VMM对于VM的系统控制权优势对运行在VM中的恶意软件行为进行监控。这种方法比传统恶意软件行为分析技术更加可靠和可信。现在的商用虚拟机软件XEN和VMware等已经被用来进行相关实验和应用。但是,随着恶意软件的不断发展,该技术遇到了很多问题。针对基于虚拟化技术的恶意软件行为分析技术的出现,目前的很多恶意软件被加入了环境感知功能[2]。环境感知功能是指恶意软件在运行核心代码前会进行一系列的操作系统环境测试,通过测试结果决定其下一步行为。如果恶意软件发现自己处于虚拟化环境中,会选择终止运行、主动攻击VMM甚至利用计算机网络逃离VM。由于商业虚拟机软件(即商用VMM)的设计目的是解决如何在同一物理硬件上运行多个操作系统和如何最大化硬件资源使用效率,并没有充分考虑虚拟机软件的透明性,所以导致现在的商用虚拟机软件很容易被恶意软件的环境感知测试所发现。例如,XEN-PV采用的是软件虚拟化技术,它必须对中断描述表(IDT)进行重定位。恶意软件执行SIDT指令从中断描述表寄存器(IDTR)中获得当前操作系统IDT的内存地址,通过检查该内存地址是否高于一定的地址值来判断自己是否处于虚拟化环境。VMware和VirtualPC同样可以通过这种方法被检测到。XEN-HVM虚拟机软件采用的是硬件辅助虚拟化技术,这种技术相比软件虚拟化技术具有更好的透明性。但是,为了提高处理器的效率,XEN引进了一种被修改过的软件内存管理单元框架,恶意软件可以通过扫描CPUID空间中XEN的特征值来判断自己是否处于虚拟化环境中[3]。另外,商用虚拟机软件需要保证软件功能的完整性和通用性,直接导致了其源代码非常庞大和复杂。仅仅设备虚拟化模块的代码就达数百万行之多。但是,恶意软件行为分析系统并不需要所有的虚拟化功能,过多不必要的虚拟化功能所产生的“边缘效应”[2]只能为恶意软件感知虚拟化环境提供更多的机会。商用虚拟机软件庞大而复杂的代码带来的另一个不利因素是增加了软件漏洞的出现机率,根据文献[4]所述,每1000行软件源代码大约会出现6到16个漏洞。恶意软件利用这些漏洞不仅可以攻击VMM,甚至可以获得VMM的权限直接控制VM。通过分析可以看到,当前恶意软件分析技术主要存在三个缺点:(1)透明性较差,容易被恶意软件所发现;(2)代码不够精简,提供的功能很多是恶意软件行为分析系统不需要的,容易引发“边缘效应”和出现软件漏洞;(3)部分分析方法对恶意软件失效,这一点主要针对传统恶意软件行为分析技术。为此,提出了一种新的基于硬件辅助虚拟化技术的恶意软件行为分析系统——THVA。THVA克服了上述恶意软件行为分析技术中的缺点,完成了以下功能:(1)THVA使用虚拟机自省技术定位行为分析目标,通过提取操作系统资源的不同级别的语义对目标进行不同粒度的行为监视,并采用当前最先进的硬件辅助内存虚拟化技术保护THVA在物理内存中的可执行文件;(2)THVA是一个微型的VMM,去掉了商用虚拟机软件中不必要的功能(如设备虚拟化等),大大精简了源代码。THVA的实现主要集中在处理器虚拟化、内存虚拟化和虚拟机自省三个方面,源代码不足6000行,从而有效降低了出现软件漏洞的可能性,同时减少了“边缘效应”,提高了自身透明性;(3)THVA使用一种安全模式转换技术提高了虚拟机的性能。实验表明,该技术可以将THVA的性能提高大约18.2%。3系统设计3.1SVMTHVA是一个利用硬件辅助虚拟化技术开发的微型VMM。由于AMD硬件厂商在硬件辅助虚拟化技术领域一直处于领先地位,所以THVA采用的是AMD推出的硬件辅助虚拟化技术——安全虚拟机(SVM)技术。SVM分为两种运行模式[5]:主机模式(CPU的控制权交给VMM)和客户机模式(CPU的控制权交给虚拟机中的操作系统)。运行在虚拟机中的操作系统也成为GuestOS。从主机模式到客户机模式的转换称为虚拟机迁入(VMEntry),从客户机模式到主机模式的转换称为虚拟机退出(#VMExit)。SVM增加了新的指令集:VMRUN、VMSAVE、VMLOAD、VMMCALL、INVLPGA、SKINIT等。其中,VMRUN指令用来执行VMEntry工作,VMMCAL指令用来执行#VMExit工作。SVM还增加了一个数据结构叫做VMCB(VirtualMachineControlBlocks),用来控制虚拟机中存储客户机模式下GuestOS的状态和控制操作系统的执行过程。VMSAVE指令和VMLOAD指令用来访问VMCB。2008年,SVM又加入了NPT(NestedPageTable)技术和EAP(ExternalAccessProtection)技术。前者是为了帮助VMM实现内存虚拟化,后者是为了控制外部设备的DMA(DirectMemoryAccess)访问。3.2系统设计THVA的设计目的是构造一个透明的、精简的和安全的恶意软件行为分析系统。出于这些考虑,在设计和实现过程中并没有选择XEN、VMware和VirtualPC等商用软件,而是选择SVM作为基础平台重新构造了一个专门针对恶意软件分析的微型VMM。THVA由五个模块组成:初始化模块、内存保护模块、虚拟机自省模块、THVA行为监视模块和模式转换模块。如图1所示。加加加加加加执行VMRUN指令加加加加加加THVA加加加加加加加GuestOS加加加加加VM加加加加加加加加加加加加加加VM加加加加#VMExit加加加加加加加加THVA加加加加加加加VM加加加加加加加加加加加加VMCALL加加加加加加加加THVA初始化VM加加图1THVA的系统设计示意图初始化模块:完成THVA加载到操作系统之前准备工作,包括判断处理器是否支持SVM技术,设置与

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功