一种基于虚拟机的安全检测系统_第1页
一种基于虚拟机的安全检测系统_第2页
一种基于虚拟机的安全检测系统_第3页
一种基于虚拟机的安全检测系统_第4页
一种基于虚拟机的安全检测系统_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种基于虚拟机的安全检测系统

1系统的安全性分析rootkit是用来隐藏自己的跟踪并保持系统访问权限的工具集。当前的Rootkit受限于两个方面:首先,Rootkit较于入侵检测系统在系统的控制程度上没有明显的优势。如果进攻者与防御者都运行在最高权限下,他们彼此之间没有优势可言,先感知到对方存在的一方将会获胜。其次,当前的Rootkit在功能性与隐蔽性上无法兼得。功能强大的恶意程序较简单的程序会留下更多的痕迹,容易被安全工具检测到。一种名为虚拟机Rootkit(VMBR,virtual-machinebasedrootkit)的恶意程序,利用虚拟机技术突破了当前恶意程序的局限。VMBR对系统具有更高的控制程度,能提供多方面的功能,并且其状态和活动对运行在目标系统中的安全检测程序来说是不可见的。VMBR在正在运行的操作系统下安装一个虚拟机监视器(VMM,virtualmachinemonitor),并将这个原有操作系统迁移到虚拟机里,而目标系统中的软件无法访问到他们的状态,因此VMBR很难被检测和移除。2系统的硬件构成VMM是运行在硬件之上或运行在操作系统之中的软件层次。VMM为使用仿真硬件的客户软件提供硬件抽象,VMM将捕获对硬件设备的访问,并利用软件方式进行仿真,使得客户操作系统与虚拟硬件的交互如同与真正的硬件交互一样。VMM通过复用计算机的硬件以支持多个操作系统运行在同一个主机上,这些操作系统相互隔离,并拥有各自的应用程序。VMM管理底层硬件的资源以及对一个或多个虚拟机进行抽象。每一个虚拟机都能运行完整的客户操作系统和客户应用程序。虚拟机(VM,virtualmachine)可分为两种类型,如图1。类型I中VMM直接运行在硬件层之上,控制着物理硬件资源,为运行在VMs中的操作系统提供虚拟接口。类型II中的虚拟化软件(如VMware)作为一个应用程序运行在操作系统中,这个操作系统被称作主机操作系统。而运行在VM中的操作系统则被称为客户操作系统。VMware作为主机系统的进程而运行并且为客户系统的I/O请求提供服务。3恶意程序的修改VMM为恶意程序提供了一个强大的平台。一个VMBR将目标系统迁移到虚拟机中,然后在VMM或另一个虚拟机中运行恶意程序,VMM将恶意程序与目标系统隔离开,这样目标系统上的安全检测软件就无法发现和修改恶意程序。同时,VMM能够掌握目标系统上的所有事件和状态,当VMBR修改这些事件和状态时,由于它完全控制了面向目标操作系统和应用程序的虚拟硬件,目标系统将无法发现这些改动。3.1vmbr的概念验证SubVirt是由微软和密歇根大学的研究人员开发的概念验证型VMBR,它依赖于商用的虚拟机软件(VMware或VirtualPC)来构建虚拟化环境,并且需要供其自身运行的主机操作系统。3.1.1选择启动并进行dmbr检测SubVirt需要运行在目标操作系统及其应用程序之下,并且将目标系统作为客户系统运行。为了达到这个目的,SubVirt必须篡改系统启动顺序,以确保SubVirt先于目标操作系统装载。如图2所示,SubVirt在注入前后的对比,灰色部分为VMBR的组件。攻击者在安装这个VMBR之前,必须先获得目标系统足够的访问权限,这样才能更改系统的启动顺序。当目标系统是Windowsxp时,SubVirt存储在第一个活动分区的开始部分,并将该区域上的原有数据重定位到磁盘的其他空闲区,然后通过修改引导记录来更改系统启动顺序。为了避免被检测磁盘引导扇区的安全软件检测到,SubVirt在系统关闭期间,大多数进程和内核子系统退出后才修改引导扇区,并且使用底层的磁盘驱动进行VMBR启动代码的复制,这样可以绕过文件系统层上的检测软件。SubVirt利用内核组件注册了一个LastChanceShutdownNotification事件处理程序,它会在系统关闭时被调用,当调用发生时,SubVirt的启动代码将被拷贝到磁盘的活动分区中。在下一次系统启动时,SubVirt将会先于目标系统载入,并安装主机系统和VMM,构建虚拟环境,然后载入目标系统,此时的目标系统已成为VM下的客户系统,处于SubVirt的控制之下。在SubVirt安装之后,由VMM控制最底层,把目标系统对虚拟磁盘的访问转换为对应的物理磁盘的访问。由于VMBR使用了与目标系统相隔离的主机系统,在此之上安装的任何恶意程序对目标系统来说都是不可见的。而恶意程序则可以对目标系统进行攻击。3.1.2系统控制板运行为了避免自身被移除,VMBR必须维持对系统的控制。只要VMBR控制着系统,它就能阻止任何修改其状态的企图。VMBR对系统失去控制的唯一时机是系统加电到VMBR加载这段时间,任何在这段时间里运行的代码都能访问到VMBR的状态。而在此时间段内运行的代码是系统的BIOS,由BIOS启动VMBR,然后VMBR取得系统控制权。但是如果BIOS通过其他媒介启动(如CD-ROM),并运行一段程序,这个程序将能访问到VMBR。因此VMBR需要减少系统电源关闭的情况,通常造成电力循环的原因是系统重启和关闭,VMBR通过重启虚拟硬件而不是底层的物理硬件来处理重启操作,这样VMBR可以保持对系统的控制权。同样,VMBR也可以利用APCI的休眠功能仿真系统关机操作,这个功能可以使硬件处于低能耗状态,如同系统关机状态一样,而实际上内存仍处于加电状态,当用户按下电源按钮时,系统从APCI的休眠状态中恢复,内存中的VMBR也重新取得系统的控制权。在以上两种情况下,即使BIOS通过其他媒介启动系统,都将处于VMBR的控制下。3.1.3增加了系统资源的外来产量(1)由于SubVirt在引导目标系统之前需要加载供自己运行的主操作系统和VMM,因此开机启动的时间要比目标系统正常启动的时间要长,并增加了系统资源的额外开销。(2)SubVirt提供给目标系统的虚拟硬件较之物理硬件有一定的性能损失,如虚拟显卡无法实现物理显卡的3D应用等。(3)SubVirt运行在X86环境下,并依赖商用的VMM,虚拟化并不完全,VMM只能捕获处于特权级别的处理器指令,无法捕获仿真非特权敏感指令(Sensitiveinstructions),如SIDT指令,利用这样的指令可以用来检测SubVirt的存在。3.2维护虚拟环境INTELVT-X与AMD-V实现了处理器对虚拟化的支持,通过新增加的指令来构建和维护虚拟环境。不同于SubVirt,硬件辅助虚拟化环境下的VMBR不需要修改引导记录更改系统的启动顺序来加载自身,得到系统的控制权,而是通过相关的CPU指令将正在运行的系统迁移到VM中,达到监视控制目标系统的目的。3.2.1虚拟机控制块AMD-V定义了一些新的CPU指令如:(1)VMRUN:实现一个客户系统(2)VMSAVE和VMLOAD:管理客户状态信息(3)#VMEXIT:退出VM返回到主机模式(4)VMMCALL:允许客户系统与VM管理程序交互还定义了一个名为虚拟机控制块(VMCB)的数据结构,处理虚拟化管理功能,该结构由两个区域构成。第一个区域为控制位区。第二个区域用来维护客户的状态。AMD-V功能启动后,具有两种模式:主机模式和客户模式。VM管理程序(Hypervisor)在主机模式,客户系统运行在客户模式。在主机模式下的Hypervisor利用VMRUN指令来实现初始化客户系统的操作,并构造相应的VMCB。在此之后,客户系统进入执行状态,直到产生了#VMEXIT事件的中断,控制权又回到Hypervisor,并处理这个中断,然后再次调用VM-RUN指令回到客户模式。客户的状态以及产生#VMEXIT事件的原因将被记录在VMCB中。整个系统就处于VMRUN与#VMEXIT不断循环的过程中。3.2.2删除驱动文件为了将正在运行的目标操作系统迁移到VM中转变成客户系统,VMBR必须负责初始化Hypervisor。VMBR以某种方式侵入到目标系统,利用驱动程序方式加载到系统内核,该驱动程序分配一个不分页的内存区域来存储Hypervisor的代码,当Hypervisor安装完毕后,驱动程序的卸载例程将卸载这个驱动并删除磁盘上的驱动文件。具体的步骤如下:(1)VMBR以驱动程序方式装载到系统内核,在内核模式下进行初始化工作。(2)开启AMD-V功能。(3)分配连续的不分页的物理内存空间存储VMCB结构。(4)在内核内存中分配不分页区域,并将Hypervisor代码复制到那里。(5)为主机模式保存区分配连续的不分页的物理内存,在VM_HSAVE_PA寄存器中存储这个区域的物理地址。(6)初始化VMCB的控制区域,设置退出客户模式返回主机VM管理模式的条件。(7)在VMBC中的客户区域保存当前操作系统完整的状态,当该系统置于客户VM中时,能够以正确的状态继续运行。(8)调用驱动程序之外的Hypervisor代码,执行VMRUN指令,将当前操作系统迁移到客户模式。(9)返回到驱动程序中,执行卸载例程卸载该驱动。经过以上的步骤VMBR达到了将目标系统迁移到客户VM中的目的,并对该系统进行控制。3.2.3硬件环境的变化(1)硬件虚拟化环境下的VMBR不需要修改引导记录更改系统启动顺序加载自身,而是在运行的系统内动态的加载RootKit程序,设置虚拟化环境,但系统关机或重启后需要重复加载的操作。(2)利用CPU对虚拟化的支持,减小了系统开销,更具可操作性。(3)对系统性能仍有影响,以及引起系统异常,可以被检测程序利用检测VMBR的存在。如观察翻译后援存储器(TLB)的变化。翻

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论