发明名称 一种基于硬件虚拟化的模块化计算机取证系统及其方法
摘要 一种基于硬件虚拟化的计算机模块化实时取证系统及其方法,包括初始化驱动、系统控制中心、系统支持模块组和取证功能模块组;本方法基于硬件虚拟化技术,在操作系统运行时通过初始化驱动搭建轻量化虚拟机,并在系统控制中心提供硬件虚拟化平台的支持和所有子模块的管理;系统支持模块组为取证模块组提供所有基础功能的支持;本方法规范了取证功能模块组的接口,支持模块的复用和扩展,使取证工具能够关注核心功能,减少大量重复工作;本发明不修改目标操作系统的任何代码,性能损耗低,内存占用少,建立了一个安全可信的实时取证基础平台,为各类基于虚拟化的取证工具的实现提供了便利。
申请公布号 CN104021063B 申请公布日期 2015.03.11
申请号 CN201410202898.0 申请日期 2014.05.14
申请人 南京大学 发明人 伏晓;程盈心;骆斌;杨瑞;阮豪
分类号 G06F11/30(2006.01)I;G06F9/455(2006.01)I 主分类号 G06F11/30(2006.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 陈琛
主权项 一种基于硬件虚拟化的模块化计算机取证系统的取证方法,其特征在于:包括初始化驱动、系统控制中心、系统支持模块组和取证功能模块组;取证系统为各取证工具的实现提供便利,各取证工具即为取证功能模块组的各模块,由系统控制中心统一管理,其中,取证系统的基础支持功能可以通过增加系统支持模块或修改现有的系统支持模块实现扩展;所述初始化驱动用于在运行的操作系统中部署和卸载取证平台,并在初始化过程完成后将控制权交给系统控制中心;所述系统控制中心提供硬件虚拟化平台支持,控制初始化过程和卸载过程,以及对硬件虚拟化平台截获的目标操作系统的事件进行预处理、并提供给取证功能模块组;所述系统支持模块组基于系统控制中心实现系统的基础功能,包括为SMP系统提供多核间的信号传播功能的信号模块、外部控制模块、监视目标操作系统的内存行为的内存虚拟化模块、和实时获得操作系统中的重要证据的虚拟机内省模块;所述取证功能模块组由若干个取证模块组成,为所需监视的事件提供事件响应接口来跟踪系统状态和收集证据,并在取证平台的支持下完成初始化、卸载和外部控制;具体步骤如下:步骤一、启动阶段,初始化驱动向目标操作系统请求分配内存,逐CPU开启虚拟机模式,配置硬件相关的虚拟机控制数据结构,即复制当前操作系统的各寄存器和运行状态配置到虚拟机中;原CPU控制权限转由系统控制中心接管;步骤二、运行阶段,支持硬件虚拟化的硬件平台根据系统控制中心的配置自动截获虚拟机中产生的硬件事件,即控制流陷入虚拟机监视器;事件由系统控制中心预处理后,继续被分派给对应注册的取证功能模块处理,最后再返回客户虚拟机;对于硬件事件,所述系统控制中心预处理的具体步骤如下:系统中各模块通过系统控制中心配置硬件虚拟化的硬件数据结构,保证只有取证平台关心的事件才会触发虚拟机的陷入;(1)当目标操作系统的控制流陷入到虚拟机监视器时,系统控制中心首先将硬件事件注册成逻辑事件;(2)系统控制中心首先判断步骤(1)中所述逻辑事件是否为虚拟机异常及错误事件,若是,则强制关闭发生错误的功能,如果强制关闭的功能无法恢复,则向串口报告错误信息;若不是,则进入步骤(3);(3)系统控制中心将逻辑事件分发到对应注册的取证功能模块的事件响应处理接口中处理;其中,由硬件事件注册后的外部控制事件,预处理的具体步骤如下:系统控制中心将外部控制事件分发到外部控制模块,外部控制模块解密外部控制事件中的控制信息,若符合定义好的格式,则转发到对应注册的取证功能模块的控制接口中处理;若不符合定义好的格式,则丢弃,不产生任何行为;所述取证功能模块处理,具体为:调用内存虚拟化模块接口监视目标操作系统的内存行为,调用信号模块将控制信息传播给其他CPU,使用虚拟机自省模块实时获得操作系统中的重要证据,或者调用其他取证模块提供的接口获得对应功能;步骤三、卸载阶段,初始化驱动通知系统控制中心卸载,系统控制中心先卸载取证功能模块、再卸载系统支持模块组,然后将CPU控制权限交还目标操作系统,最后初始化驱动归还步骤一中分配的内存,并完成卸载。
地址 210093 江苏省南京市鼓楼区汉口路22号