一种基于硬件虚拟化的计算机模块化实时取证系统及其方法,包括初始化驱动、系统控制中心、系统支持模块组和取证功能模块组;本方法基于硬件虚拟化技术,在操作系统运行时通过初始化驱动搭建轻量化虚拟机,并在系统控制中心提供硬件虚拟化平台的支持和所有子模块的管理;系统支持模块组为取证模块组提供所有基础功能的支持;本方法规范了取证功能模块组的接口,支持模块的复用和扩展,使取证工具能够关注核心功能,减少大量重复工作;本发明专利技术不修改目标操作系统的任何代码,性能损耗低,内存占用少,建立了一个安全可信的实时取证基础平台,为各类基于虚拟化的取证工具的实现提供了便利。
【技术实现步骤摘要】
【专利摘要】一种基于硬件虚拟化的计算机模块化实时取证系统及其方法,包括初始化驱动、系统控制中心、系统支持模块组和取证功能模块组;本方法基于硬件虚拟化技术,在操作系统运行时通过初始化驱动搭建轻量化虚拟机,并在系统控制中心提供硬件虚拟化平台的支持和所有子模块的管理;系统支持模块组为取证模块组提供所有基础功能的支持;本方法规范了取证功能模块组的接口,支持模块的复用和扩展,使取证工具能够关注核心功能,减少大量重复工作;本专利技术不修改目标操作系统的任何代码,性能损耗低,内存占用少,建立了一个安全可信的实时取证基础平台,为各类基于虚拟化的取证工具的实现提供了便利。【专利说明】
本专利技术涉及的是一种计算机取证领域的方法,尤其是一种基于硬件虚拟化的计算机模块化实时取证系统及其方法。
技术介绍
计算机取证的目的是将犯罪者留在计算机的痕迹作为有效证据提供给法庭,打击计算机和网络犯罪。其中一个难点问题是在发生计算机入侵时,如何第一时间获取入侵证据,找到犯罪程序或犯罪者。当前的取证方法主要是基于先获取再分析的方式,即先获取内存镜像,再从镜像信息中重建入侵事件,设法取得证据。这种方法的缺陷之一是内存获取需要大量时间和空间,为保证内存快照的一致性还需停止目标机器的运行,即产生较长的停机时间影响重要机器的正常运行。分析阶段要处理一份完整的内存镜像,也是非常复杂的。另外,由于内存的易失性,无法保证镜像中恰好包含入侵证据,镜像获取和分析的耗时性又导致频繁的基于镜像的证据获取方法难以实施。基于上述原因,当前多数在内核中发生的入侵行为是无法被重建的。硬件虚拟化技术首次在IBM System/370中提出,它的特性保证了运行环境的一致性,即计算机软件在硬件虚拟机下的行为和在机器上直接运行保持一致;保证了 VMM能够完全控制虚拟机的资源,包括内存、寄存器、I/O、中断和指令的执行;并保证了高效性,即普通指令的运行不受VMM干扰,能够全速运行。目前在x86架构下支持硬件虚拟化的技术有INTEL的Intel VT-x(2005)和AMD的AMD-V (2006),都已经广泛运用在各类个人电脑和服务器中。大多数商用虚拟化软件如Linux KVM> Microsoft Hyper-V> Xen> VMware等都已支持了该项技术。轻量化虚拟机技术利用了硬件虚拟化提供的便利,可以使用少量代码即可实现一个完整的虚拟化平台。由于轻量化虚拟机精简的代码量,完整性检查可以更加迅速和完全的进行,这保证了虚拟机监视器的安全性。ST King在2006IEEE S&P会议上提出了在运行的操作系统下动态部署一个轻量化虚拟机的方法,证明了轻量化虚拟机具有能够在运行时部署的灵活性和对目标系统的透明性。
技术实现思路
本专利技术针对现有技术的不足,旨在提供一种基于硬件虚拟化的计算机模块化实时取证系统及其方法,实现了一个轻量化的虚拟机监视器,使取证工具可以直接利用硬件虚拟化技术带来的便利和灵活性,在入侵事件发生时,提供工具进行迅速分析和获取实时证据。本方法能够在支持硬件虚拟化技术的平台上部署,在操作系统运行时构建,而无需停止或重启目标操作系统,无需修改任何操作系统内核代码,具有很高的透明性。本方法利用硬件虚拟机技术,使用信号处理功能、接收外部控制命令、控制客户虚拟机内存和数字证据获取功能,并能够忽略无关的虚拟机管理逻辑,复用已有的取证模块功能,实现重要实时证据的获取。本专利技术的技术方案是:一种基于硬件虚拟化的模块化计算机取证系统,包括初始化驱动、系统控制中心、系统支持模块组和取证功能模块组;取证系统为各取证工具的实现提供便利,各取证工具即为取证功能模块组的各模块,由系统控制中心统一管理,其中,取证系统的基础支持功能可以通过增加系统支持模块或修改现有的系统支持模块实现扩展。所述初始化驱动用于在运行的操作系统中部署和卸载取证平台,并在初始化过程完成后将控制权交给系统控制中心;所述系统控制中心提供硬件虚拟化平台支持,控制初始化过程和卸载过程,以及对硬件虚拟化平台截获的目标操作系统的事件进行预处理、并提供给取证功能模块组;所述系统支持t吴块组基于系统控制中心实现系统的基础功能,包括为SMP系统提供多核间的信号传播功能的信号模块、外部控制模块、监视目标操作系统的内存行为的内存虚拟化模块、和实时获得操作系统中的重要证据的虚拟机内省模块;所述取证功能模块组由若干个取证模块组成,为所需监视的事件提供事件响应接口来跟踪系统状态和收集证据,并在取证平台的支持下完成初始化、卸载和外部控制。进一步的,所述系统支持模块组和取证功能模块组中每个模块需要实现或部分实现4组接口,分别是初始化接口、事件响应接口、控制接口、和卸载接口 ;所述4组接口由系统控制中心统一管理,具体管理方法如下:(I)系统控制中心管理各模块的初始化接口,控制各模块的初始化顺序,即初始化驱动时,先初始化系统控制中心、再初始化系统支持模块组、最后初始化取证功能模块,控制初始化的单线程性;(2)系统控制中心管理各模块的控制接口,将控制接口注册到外部控制模块中,接受外部控制模块的控制;(3)系统控制中心管理各模块的事件响应接口,将事件响应接口注册到各目标操作系统的事件处理函数中;(4)系统控制中心管理各模块的卸载接口,控制各模块的卸载顺序,即卸载时,先卸载取证功能模块、再卸载系统支持模块组、最后系统控制中心将CPU控制权限交还目标操作系统。本专利技术还提供一种基于硬件虚拟化的模块化计算机取证方法,具体步骤如下:步骤一、启动阶段,初始化驱动向目标操作系统请求分配内存,逐CPU开启虚拟机模式,配置硬件相关的虚拟机控制数据结构,即复制当前操作系统的各寄存器和运行状态配置到虚拟机中;原CPU控制权限转由系统控制中心接管;步骤二、运行阶段,支持硬件虚拟化的硬件平台根据系统控制中心的配置自动截获虚拟机中产生的硬件事件,即控制流陷入虚拟机监视器;事件由系统控制中心预处理后,继续被分派给对应注册的取证功能模块处理,最后再返回客户虚拟机;对于硬件事件,所述系统控制中心预处理的具体步骤如下:系统中各模块通过系统控制中心配置硬件虚拟化的硬件数据结构,保证只有取证平台关心的事件才会触发虚拟机的陷入;(I)当目标操作系统的控制流陷入到虚拟机监视器时,系统控制中心首先将硬件事件注册成逻辑事件;(2)系统控制中心首先判断步骤(I)中所述逻辑事件是否为虚拟机异常及错误事件,若是,则强制关闭发生错误的功能,如果强制关闭的功能无法恢复,则向串口报告错误信息;若不是,则进入步骤(3);(3)系统控制中心将逻辑事件分发到对应注册的取证功能模块的事件响应处理接口中处理;对于外部控制事件,所述系统控制中心预处理的具体步骤如下:系统控制中心将外部控制事件分发到外部控制模块,外部控制模块解密外部控制事件中的控制信息,若符合定义好的格式,则转发到对应注册的取证功能模块的控制接口中处理;若不符合定义好的格式,则丢弃,不产生任何行为;所述取证功能模块处理,具体为:调用内存虚拟化模块接口监视目标操作系统的内存行为,调用信号模块将控制信息传播给其他CPU,使用虚拟机自省模块实时获得操作系统中的重要证据,或者调用其他取证模块提供的接口获得对应功能;步骤三、卸载阶段,本文档来自技高网...
【技术保护点】
一种基于硬件虚拟化的模块化计算机取证系统,其特征在于:包括初始化驱动、系统控制中心、系统支持模块组和取证功能模块组;取证系统为各取证工具的实现提供便利,各取证工具即为取证功能模块组的各模块,由系统控制中心统一管理,其中,取证系统的基础支持功能可以通过增加系统支持模块或修改现有的系统支持模块实现扩展;所述初始化驱动用于在运行的操作系统中部署和卸载取证平台,并在初始化过程完成后将控制权交给系统控制中心;所述系统控制中心提供硬件虚拟化平台支持,控制初始化过程和卸载过程,以及对硬件虚拟化平台截获的目标操作系统的事件进行预处理、并提供给取证功能模块组;所述系统支持模块组基于系统控制中心实现系统的基础功能,包括为SMP系统提供多核间的信号传播功能的信号模块、外部控制模块、监视目标操作系统的内存行为的内存虚拟化模块、和实时获得操作系统中的重要证据的虚拟机内省模块;所述取证功能模块组由若干个取证模块组成,为所需监视的事件提供事件响应接口来跟踪系统状态和收集证据,并在取证平台的支持下完成初始化、卸载和外部控制。
【技术特征摘要】
【专利技术属性】
技术研发人员:伏晓,程盈心,骆斌,杨瑞,阮豪,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。