操作系统虚拟仿真取证技术研究

2017-03-21 08:24张旭
电脑知识与技术 2016年33期
关键词:操作系统虚拟仿真技术研究

张旭

摘要:该文介绍了一种操作系统虚拟仿真取证的方法,然后具体描述了该方法在计算机取证过程中所采取的具体步骤,提出了对待取证的操作系统磁盘进行虚拟仿真的解决方案并对方案进行了探讨。最后给出了操作系统虚拟仿真取证方法完整的系统设计模型,针对该模型详细地讨论了在一种写保护条件下操作系统虚拟仿真取证系统的设计流程。采用了该文中的操作系统虚拟仿真取证的方法,使用物理磁盘或者磁盘镜像,通过在VMware以只读方式仿真启动操作系统,在仿真操作系统中可以查看物理磁盘或者磁盘镜像原始操作系统中的内容,以达到不用损坏物理磁盘或者磁盘镜像来取证的目的,操作简单,应用范围广泛。

关键词:操作系统;虚拟仿真;取证;技术研究

中图分类号:TP391 文献标识码:A 文章编號:1009-3044(2016)33-0264-03

1 背景

待取证操作系统中的各类数据是重要的证据来源,能较全面的对原始证据进行取证。计算机虚拟技术是通过软件来模拟计算机硬件的技术。目前,物理计算机的计算量、存储量有了非常大的进步。计算机上安装了虚拟机之后可以在一台机器上模拟出多台机器的效果,能完成架设多计算机服务程序、隐蔽网络访问等需求,因此,越来越多的数据以及服务被存储和移植到了虚拟计算机上。随之带来的针对虚拟机的数据恢复与取证需要在虚拟机上对物理磁盘或者磁盘镜像磁盘进行系统仿真取证。本文描述的一种操作系统虚拟仿真取证方法克服了上述现有技术的缺点,提供了一种解决虚拟操作环境下针对物理磁盘或者磁盘镜像的操作系统仿真问题、采用直接从某个磁盘分区或者整个磁盘来创建一个VMware的虚拟机的方法达到对物理磁盘或者磁盘镜像的仿真取证的操作系统虚拟仿真取证的方法。

2 操作系统虚拟仿真取证方法总体设计

2.1 系统模型设计

2.2 系统实施流程

为了能够更清楚地描述本操作系统虚拟仿真取证方法的技术内容,下面结合具体实施例来作进一步的描述。本操作系统虚拟仿真取证方法详细分析了使用物理磁盘或者磁盘镜像,通过在VMware以只读方式仿真启动操作系统,在仿真操作系统中可以查看物理磁盘或者磁盘镜像原始操作系统中的内容,以达到不用损坏物理磁盘或者磁盘镜像来取证的目的。

首先将虚拟操作环境下虚拟机中待系统虚拟仿真取证的磁盘文件格式挂载到服务主机上;在一种优选的实施方式中,待系统虚拟仿真取证的磁盘文件可以是物理磁盘或者磁盘镜像;其中,物理磁盘可以是各种类型的物理磁盘,包括SATA、IDE、SSD等各种常见物理硬盘,其支持以USB接口的形式加载物理磁盘;磁盘镜像则是支持常见的img、dd等磁盘镜像格式,其支持以文件的形式加载磁盘镜像。物理磁盘或者磁盘镜像支持常见的Windows和Linux操作系统类型。

然后,在虚拟机关机的状态下获取虚拟机的静态信息;在一种优选的实施方式中,所述的静态信息包含操作系统信息,虚拟机文件系统内容、文件格式、文件结构、分区信息、文件表、残存文件。能将文件系统以图形用户界面的方式展现给取证人员。支持特定目录下的特定文件的搜索,将搜索出来的文件进行加密,可采用MD5摘要算法或其他算法,加密后的文件不可再改动,具有不可抵赖性,最后以电子证据的形式保存到数据库中。

在一种优选的实施方式中,选取VMware虚拟机为例,研究在虚拟操作环境中的勘查取证分析。VMware虚拟机的虚拟磁盘格式为VMDK文件,通过对VMDK文件格式的深入分析,将虚拟磁盘模拟为物理设备,实现了对虚拟磁盘的挂载,获取到虚拟磁盘的文件系统。

首先,使用vmware-amount工具将物理磁盘或者磁盘镜像挂载到本机操作系统环境下,对于vmware-amount工具以及其他vmware系统的工具集,由于操作系统的不同会导致这些可运行程序所存储的位置不同,通过调用Windows操作系统WMI的方法获取到准确的vmware工具集可运行程序位置。

将虚拟磁盘挂载的过程中会判断该虚拟机是否存在快照,如果存在则说明该虚拟机先前被启动过,否则未被启动过。如果这个磁盘镜像已经在之前被启动,可以采用从上次离开的地方继续工作,亦可从头开始工作。将整个物理磁盘或者磁盘镜像以文件的形式读入到内存中后,一般在磁盘文件的二进制字节的头部会发现物理磁盘或者磁盘镜像对应的mbr文件结构。

mbr指的是主启动扇区,如果物理磁盘或者磁盘镜像受到破损或者其他外部原因无法正常读取mbr文件,我们可采用预先定制的mbr文件结构来重构受损的物理磁盘或者磁盘镜像主启动扇区头,针对不同的操作系统预先定制有不同的主启动扇区头结构。

3 VMWare虚拟机仿真取证设计

3.1 VMX配置文件设计

由于vmware虚拟机的启动是从vmx启动生成的,根据物理磁盘或者磁盘镜像的mbr文件中的信息可以生成对应的虚拟机vmx文件。在每个虚拟机文件夹底下都能找到一个.vmx的文件。这个文件记录了该虚拟机的配置情况,可以用文本编辑器打开它,发现其实就是一个properties文件。我们针对要虚拟仿真的物理磁盘或者磁盘镜像,需要编写代码手动的生成一个vmx配置文件,添加以下新增配置内容能让虚拟仿真的物理磁盘或者磁盘镜像在虚拟机中正常的启动。

mainMem.useNamedFile="FALSE",该配置可以禁止vmem交换文件的生成。如果将该配置参数设为true,虚拟机在启动时会生成与设定内存相同大小的内存交换文件。这就如同操作系统的虚拟内存一样,虚拟机自己管理虚拟机的分页文件,这个设定在需要取证的物理磁盘或者磁盘镜像是适用的,因为物理磁盘或者磁盘镜像上可能会运行不同的虚拟机镜像,各自要相对独立。但是如果只是在个人PC机上运行一个虚拟机测试环境,则该配置会既占硬盘空间又会遇到I/O瓶颈,所以建议关闭此选项,适用操作系统的分页交换机制。

MemTrimRate=0,关闭该选项会禁止待仿真的物理磁盘或者磁盘镜像在虚拟机中启动时不会用到内存释放给主机,能使虚拟机的内存分配更快。

sched.mem.pshare.enable="FALSE",关闭该选项会使得待仿真的物理磁盘或者磁盘镜像在虚拟机中启动时共享普通内存块。

一个正常的vmx文件主要由Static Values、Drive Info和User Specified这三部分組成。

在程序中可以针对这些不同的参数含义配置不同的参数值,以便在待仿真的物理磁盘或者磁盘镜像中设置相应的虚拟机参数。VMWare虚拟操作环境下的vmx文件生成后,下一步即可以生成可以由VMWare Workstation或者VMWare Player该类虚拟机工具启动运行的vmdk虚拟磁盘文件。vmdk虚拟磁盘文件通常由Disk Descriptor File和Disk Data Base两部分组成。

3.2 VMWare虚拟机仿真启动

根据挂载的虚拟磁盘的mbr文件生成了包含上述配置属性的虚拟机启动配置文件.vmx文件,在最后的生成阶段,可以选择只生成vmx文件,通过手动启动vmx文件来达到虚拟仿真物理磁盘或者磁盘镜像的功能。也可以直接调用操作系统注册表查询接口自动获取到VMware Workstation在系统中安装的位置、路径等其他配置,然后直接调用WMI接口启动已生成好的vmx虚拟机文件,以达到对物理磁盘或者磁盘镜像仿真取证的目的。

最后根据输入的系统仿真参数,通常包括仿真操作系统类型、仿真系统启动时间、仿真系统内存大小和选择是从物理磁盘或者磁盘镜像中启动仿真系统等参数生成对应该的vmdk文件,根据原始物理磁盘或者磁盘镜像中的mbr文件中指定的二进制字段会生成对应的仿真操作系统注册表文件,根据对应的注册表文件和vmdk文件从VMWare Workstation中启动虚拟操作环境下的仿真系统,以达到对待取证物理磁盘或者磁盘镜像的系统仿真取证。

4 结束语

本文提供一种针对桌面操作系统虚拟仿真取证的有效实现方法,通过在取证专用计算机系统中以虚拟仿真化的方式启动待取证的操作系统,获得了被取证计算机系统启动后一样的操作系统界面和环境,同时不会改写被取证操作系统中的原始数据,确保取证过程中不会对被取证操作系统中的文件进行修改,在虚拟仿真化的环境中进行取证操作时,看到的不再仅仅是计算机存储介质上的文件和数据,还可以看到被取证操作系统运行环境和用户环境,操作起来也更加方便,有效地实现了对待取证的计算机操作系统进行仿真取证的同时不破坏待取证的计算机操作系统中的原始数据的取证目的,对于现阶段公安一线实战针对计算机操作系统的无损磁盘或镜像取证提供了一种简便实用的虚拟仿真取证方法。

参考文献:

[1] 黄志炜. 计算机犯罪仿真取证重现技术的研究与系统实现[D]. 厦门: 厦门大学, 2013.

[2] 宋铮. 虚拟计算取证技术研究[D]. 上海: 上海交通大学, 2011.

[3] 周刚. 云计算机环境中面向取证的现场迁移技术研究[D]. 武汉: 科中科技大学, 2011.

[4] 张俊, 麦永浩. 云计算机环境下仿真计算机取证研究[D]. 武汉: 湖北警官学院, 2011.

[5] 钟琳. 虚拟机取证系统的研究与设计[D]. 福州: 福州大学, 2010.

[6] 张瑜, 刘庆中, 李涛, 等. 内存取证研究与进展[D]. 海口: 海南师范大学, 2015.

猜你喜欢
操作系统虚拟仿真技术研究
虚实结合和科教融合的计算机实验教学体系