计算机内存数据准确采集系统及获取方法技术方案

技术编号:6801980 阅读:294 留言:0更新日期:2012-04-11 18:40
一种计算机应用技术领域的计算机内存数据准确采集系统,该系统包括:后启动虚拟机模块和虚拟化内存获取模块。本发明专利技术基于硬件虚拟化技术,在操作系统和应用程序运行时动态加载虚拟机监控器,在物理机器正在运行时被转换为虚拟机主机处的虚拟机不致招致显著停机时间,通过控制虚拟机物理内存到真实物理内存的映射和权限管理完成对正在改写内存区域的识别和读取相应位置原来内存数据;可以准确获取指定时刻计算机内存中的数据并且对内存的改动较小且与已有操作系统和应用程序耦合度极低;可以在操作系统和应用程序运行时动态卸载虚拟机监控器,使得之前处于虚拟机主机处的虚拟机在运行时被转换为物理机器继续运行并不致招致显著的停机时间。

【技术实现步骤摘要】

本专利技术涉及的是一种计算机应用
的系统及方法,具体是一种。
技术介绍
内存数据的获取常被用于软件调试和计算机取证过程中,已有内存数据的获取方法很难在获取大量数据时确保准确性。现有的获取方法分为软件获取和硬件获取两种,软件获取内存数据又可进一步分为基于虚拟机(Virtual Machine, VM)获取和本地获取两种手段。本地获取指在目标操作系统(Operating System,OS)内通过运行第三方用户态应用程序(User-mode Application)或加载内核模块(Kernel Module)的方法来完成计算机内存数据的获取。经过对现有的技术检索发现,中国专利文献号CN100414554.记载了一种“用于计算机的电子数据取证方法和系统”,该技术包括实时取证过程,也就是在目标机器运行时获取其中选定的内存数据并进而筛选出可能存在的证据,然而由于当前操作系统为多进程操作系统,内存数据在获取过程中会发生改变,因此包括该专利在内的本地获取内存数据方法均不能保证获得结果的准确率。一种有效的改进是在内存获取过程中暂停目标机器的运行,在2009年3月份 Computing in Science and Engineering 期干丨J Volume 7 Issue 2 中发表了一篇名为 Live Analysis progress and Challenges的论文,其中明确提到很难用软件手段实现理想的暂停目标机器运行的手段,因此这种改进出现的可能性极低。另一种软件获取手段一基于虚拟机获取内存内容可以准确获取目标机器的内存数据,这种方法在2007年 11 月 29 日的 ICISC 2007会议中,Asynchronous Pseudo Physical Memory Snapshot and Forensics on Paravirtualized VMM Using Split Kernel Module 提到通过构建虚拟机来获取预先装入虚拟机中的目标系统的物理内存数据。而在2008年 5 ^ 22 H ^ SADFE2008Towards the Virtual Memory Space Reconstruction for Windows Live Forensic Purposes论文提出了一种利用虚拟机准确获取装入虚拟机中的目标系统的虚拟内存数据方法,进而可以分辨和准确获取属于特定进程的内存内容。然而这种方法为了达到准确获取内存数据的目的,要求把目标系统装载入如VMWare Workstation, Xen或者KVM这样的虚拟机内,这就要求必须重新目标系统甚至于重新安装目标系统,从而导致完全摧毁目标机器的内存数据,从而在很多场合下不适用。对于现有的基于硬件的内存获取技术,中国专利文献号CN101419536B记载了 “一种计算机内存数据获取方法与系统”,其通过IEEE 1394接口模拟移动硬盘登录到待取证计算机并使待取证计算机开放DMA功能;进而完成内存的读取。其缺点是需要引入专门的硬件设备并且在2007年的Blackhat会议上Rutkowska Joanna的论文Beyond the CPU Defeating hardware based RAM acquisition中指出可以通过重新配置1/0映射内存的方法来欺骗外接设备看到的内存区域,从而使得基于硬件的内存获取技术失效。
技术实现思路
本专利技术针对现有技术存在的上述不足,提供一种,基于硬件虚拟化技术,在操作系统和应用程序运行时动态构建虚拟机监控器,从而可在物理机器正在运行时被转换为虚拟机主机处的虚拟机(以下称为构建虚拟机)而不致招致显著的停机时间(仅需毫秒级停机时间),进而通过控制虚拟机物理内存到真实物理内存的映射和权限管理完成对正在改写内存区域的识别和读取相应和邻近或非邻近位置原始内存数据。这种方法或系统可以准确获取指定时刻计算机内存中的数据并且对内存的改动较小且与已有操作系统和应用程序耦合度极低。而在获取内存内容任务完成或需要卸载虚拟机监控器时,本专利技术描述的系统及方法可以在操作系统和应用程序运行时动态卸载虚拟机监控器,使得之前处于虚拟机主机处的虚拟机在运行时被转换为物理机器(以下称为卸载虚拟机)继续运行,同样不致招致显著的停机时间(仅需毫秒级停机时间)。本专利技术不创建任何物理机器卷磁盘的快照的同时,由于将本地物理机器在运行时转化为虚拟机,因此本专利技术无需现有技术所述任何有关快照相关的传输。本专利技术是通过以下技术方案实现的本专利技术涉及一种计算机内存数据准确采集系统,包括后启动虚拟机模块和虚拟化内存获取模块,其中虚拟化内存获取模块访问目标操作系统获得内存设备信息,后启动虚拟机模块与硬件系统相连接并在操作系统启动中或完成后驱动支持硬件虚拟化技术的硬件平台完成构建后启动虚拟机监控器和虚拟机或卸载已构建的后启动虚拟机监控器和虚拟机、加载或卸载虚拟化内存获取模块并驱动CPU拦截虚拟机内发生的虚拟机监控器指定的虚拟机事件、异常以及中断,后启动虚拟机模块与虚拟化内存获取系统相连接并传输内存获取控制指令和虚拟机中内存内容信息,虚拟化内存获取模块与后启动虚拟机模块相连接并接受内存获取控制指令和虚拟机中内存内容信息。所述的后启动虚拟机模块包括虚拟机创建卸载子模块、虚拟机事件拦截处理子模块,其中虚拟机创建和卸载子模块驱动支持硬件虚拟化技术的硬件平台完成构建后启动虚拟机监控器和虚拟机或卸载已构建的后启动虚拟机监控器和虚拟机,以及加载/卸载虚拟化内存获取模块,虚拟机事件拦截处理子模块接收并处理硬件拦截到的虚拟机内发生的虚拟机监控器指定的虚拟机事件、异常以及中断并传输截获的内存获取控制指令和虚拟机中内存内容到虚拟化内存获取模块所述的虚拟化内存获取模块包括内存获取控制子模块、内存内容获取子模块、结果输出子模块,其中内存获取控制子模块负责监听用户指令,反馈内存获取状态。内存内容获取子模块用于接收虚拟机中内存内容信息并控制虚拟机物理内存到真实物理内存的映射和权限管理。结果输出子模块利用操作系统提供的函数或自身实现的功能负责将接收到的内存数据保存到包括内存、硬盘、外接硬盘、闪存、网络和远程设备等外部设备。本专利技术涉及上述系统的信息获取方法,通过后启动虚拟机模块构建后启动虚拟机监控器和虚拟机,将目标操作系统所在的物理机器在运行时转换为虚拟机主机处的虚拟机并提供虚拟机事件、异常以及中断拦截监测功能,虚拟化内存获取模块控制虚拟机物理内存到真实物理内存的映射和权限管理毫秒级暂停的完成对正在改写内存区域的识别和准确获得相应和邻近或非邻近位置原始内存数据。所述信息获取方法的具体过程为在操作系统启动过程中或完成后,通过加载驱动的方法由后启动虚拟机模块构建后启动虚拟机监控器和虚拟机并由虚拟化内存获取模块对本地系统内存信息进行登记并在需要准确获取计算机内存数据的时刻,客户发出内存获取指令,虚拟化内存获取模块在收到由后启动虚拟机模块转交的指令后开始获得相应位置原来内存数据并输出到外部设备或指定内存区域中。在获取内存内容任务完成或需要卸载虚拟化内存获取模块时,后启动虚拟机模块依次卸载已构建的后启动虚拟机监控器和虚拟机并卸载已加载的虚拟化内存获取模块,将目标操作系统所在的虚拟机在运行时本文档来自技高网
...

【技术保护点】
1.一种计算机内存数据准确采集系统,其特征在于,包括:后启动虚拟机模块和虚拟化内存获取模块,其中:虚拟化内存获取模块访问目标操作系统获得内存设备信息,后启动虚拟机模块与硬件系统相连接并驱动支持硬件虚拟化技术的硬件平台完成构建或卸载后启动虚拟机监控器和虚拟机、加载或卸载虚拟化内存获取模块并驱动CPU拦截虚拟机内发生的虚拟机监控器指定的虚拟机事件、异常以及中断,后启动虚拟机模块与虚拟化内存获取模块相连接并传输内存获取控制指令和虚拟机中内存内容信息,虚拟化内存获取模块与后启动虚拟机模块相连接并接受内存获取控制指令和虚拟机中内存内容信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:于淼戚正伟管海兵
申请(专利权)人:上海交通大学
类型:发明
国别省市:31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1