专利名称:一种虚拟启动智能修复的计算机动态仿真方法
技术领域:
本发明涉及一种计算机动态仿真取证的方法,更具体地说,涉及一种虚拟启动智能修复的计算机动态仿真方法。
背景技术:
根据计算机取证状态的不同,一般将计算机取证分为动态的在线取证和静态的事后取证。传统的静态取证方式立足于对计算机相关存储设备中的电子数据的离线解读和分析。需要电子数据的既定写存和较好的数据存储环境。如果数据未能写入相关存储设备或取证条件不理想的情况下,静态取证的效果将大打折扣。譬如,对运行中的计算机信息系统先实施关机操作再进行事后的静态取证就会造成取证目标主机中一些重要的即时数据的丢失。即时数据大多是明文数据,其中可能含有各种密文的解密口令、各类程序的操作运行记录、虚拟内存的写入记录、网络即时通讯数据记录等信息,这些信息最终并不会被写入计算机系统的存储设备中,其会随着系统的运行终结而自行消失。在很多时候,获得这些即时数据可以使取证事半功倍,因而其重要性也越来越受到司法机关的重视.但获得这些数据需要取证的在线进行和动态的研判分析与收集保全,采用静态事后取证无法满足即时数据获取的需要。此外,静态取证获取的数据是计算机系统运行的各类结果数据.对于各类电子数据如何形成、获取的各类电子数据间有何关联、用户事前进行了何种操作、数据变化的原因等问题若采用事后静态取证的方法,从结果数据中很难推定这些数据产生、改变、灭失的原因。再有,静态取证难以重现电子数据先在运行环境,面对海量的电子数据,静态取证的准确度、取证的效率受到很大影响。为满足取证动态分析的实际需要、弥补静态事后取证之不足。随着计算机仿真技术、磁盘重新定向技术、ShadoW等计算机技术的研究应用,计算机动态仿真取证应用的技术条件已经具备。计算机动态仿真目前广泛应用于各种司法取证当中,运用动态仿真可以重现仿真目标的原来状态,司法人员可以在模拟重现的环境中进行操作,展开高速有效的取证工作。然而,在一些情况(如虚拟环境组件或其系统信息数据库内容不正确等),虚拟环境往往会创建失败,无法模拟重现原来的状态,直接导致仿真失败。如中国发明专利申请200910194667.9提供了一种计算机虚拟化取证的实现方法,通过在取证专用计算机系统中以虚拟化的方式启动,获得了被取证计算机系统启动后一样的操作界面和环境,不会改写存储设备的原始数据,确保取证过程中不会对被取证存储设备上的文件进行修改,在虚拟化的环境中进行取证操作时,看到的不再仅仅是计算机存储介质上的文件和数据,还可以看到操作系统运行环境和用户环境,操作起来也更加方便,实现本发明的目的。但上述发明申请公开的技术方案无法解决由于虚拟环境的启动内容不正确,而造成的仿真失败。如目标操作系统的物理盘/镜像内的启动内容不正确等,仿真就会失败,无法进行模拟重现。现有技术还未有有效的途径用于解决上述问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种克服由于虚拟环境的启动内容不正确,而造成的仿真失败,无法进行模拟重现的问题,实现虚拟启动智能修复的计算机动态仿真方法。本发明所述的方法对于现在有技术存在的问题,不但可以产生实质的效果,能够全面解决问题,而且在支持的广度上有着显著得扩大。其支持的对象包括但不限于:Windows2000,WindowsXP (x86,x64),ffindows2003 (x86,x64),Windows Vista (x86,x64),Windows2008 (x86, x64), Windows7 (x86, x64), Windows8 (x86, x64),各版本 Linux,基于X86架构的Macintosh, Unix操作系统。本发明的技术方案如下:一种虚拟启动智能修复的计算机动态仿真方法,包括步骤:I)定义正常目标的启动内容,对正常工作的虚拟机的各类启动加载内容创建数据库表;定义从正常目标获取到的启动内容,对正常目标的启动内容进行扫描,如果扫描到的内容为欲仿真对象启动所需的内容,则记录,否则忽略;2)根据步骤I)的正常目标的启动内容,通过虚拟重构技术,把存在于欲仿真对象的虚拟存在的目标重构为虚拟容器;3)定义虚拟容器内的启动内容,对步骤2)得到的虚拟容器内的各类启动加载内容创建数据库表;定义虚拟容器内保留的启动内容;对虚拟容器内的启动内容进行扫描,如果扫描到的内容为欲仿真对象启动所需的内容,则记录,否则忽略;4)定义启动内容的配置痕迹,根据步骤3)的虚拟容器内保留的启动内容确定欲仿真对象的需要修改或替换的启动内容,并记录;5)扫描步骤3)的虚拟容器内的启动内容、步骤4)的启动内容的配置痕迹,对欲仿真对象的各虚拟容器内保留的启动内容进行逐一修改或替换;6)通过虚拟析构技术,把欲仿真对象的虚拟存在的虚拟容器从本地操作系统上删除;7)再次对欲仿真对象进行仿真,,即为虚拟环境的虚拟启动修复完全。作为优选,如果步骤3)得到的虚拟容器内保留的启动内容为空,则通过虚拟析构技术,把欲仿真对象的虚拟存在的虚拟容器从本地操作系统上删除,仿真结束。作为优选,所述的正常目标的启动内容、从正常目标获取到的启动内容、虚拟容器内的启动内容、虚拟容器内保留的启动内容、启动内容的配置痕迹为自增长的数据表空间。作为优选,步骤I)所述的对正常目标的启动内容进行扫描、步骤3)所述的对虚拟容器内的启动内容进行扫描、步骤5)所述的扫描步骤3)的虚拟容器内的启动内容、步骤4)的启动内容的配置痕迹,扫描方式为使用SCAN算法对自增长的数据表空间进行逐楼扫描。作为优选,步骤2)所述的虚拟容器为物理上在本地操作系统的有效数据区。作为优选,步骤5)中,对欲仿真对象的各虚拟容器内保留的启动内容进行修改或替换的操作前,对当前操作进行合法性验证,如果操作合法,则进行当前操作,否则忽略。作为优选,所述的合法性验证具体为将启动内容的配置痕迹与虚拟容器内的启动内容的启动内容标识符、数据内容进行匹配,匹配一致则通过合法性验证,否则验证失败,修改或替换的操作被忽略。作为优选,步骤5)中,对欲仿真对象的各虚拟容器内保留的启动内容进行修改或替换,对于操作系统默认限制修改的内容,先提升操作权限或更改内容的保护属性,再进行修改或替换。作为优选,步骤I)、步骤3)所述的正常工作的虚拟机的各类启动加载内容包括:系统启动执7TT文件,系统启动base,系统启动控制,系统引导项。作为优选,步骤4)所述的启动内容的配置痕迹包括:用户要修改的系统启动执行文件,用户要修改的系统启动base,用户要修改的系统启动控制,用户要修改的系统引导项。本发明的有益效果如下:本发明所述的方法可自动迅速解决动态仿真Windows操作系统、Linux操作系统、基于X86架构的苹果机操作系统、Unix操作系统等虚拟环境启动失败,导致无法模拟重现系统原来的状态的情况,确保了司法人员的有效顺利工作。本发明所述的方法可极大提高司法人员的工作效率,可避免因仿真取证失败而无法进行有效司法工作导致司法延误及其它后果。将大幅度降低工作成本,减轻工作压力,提高工作能力,必定拥有广阔的应用及市场前景。
图1是本发明的流程示意图。
具体实施例方式以下结合附图及实施例对本发明进行进一步的详细说明。一种虚拟启动智能修复的计算机动态仿真方法,包括步骤:I)定义正常目标的启动内容,对正常工作的虚拟机的各类启动加载内容创建数据库表;定义从正常目标获取到的启动内容,对正常目标的启动内容进行扫描,如果扫描到的内容为欲仿真对象启动所需的内容,则记录,否则忽略;2)根据步骤I)的正常目标的启动内容,通过虚拟重构技术,把存在于欲仿真对象的虚拟存在的目标重构为虚拟容器;3)定义虚拟容器内的启动内容,对步骤2)得到的虚拟容器内的各类启动加载内容创建数据库表;定义虚拟容器内保留的启动内容;对虚拟容器内的启动内容进行扫描,如果扫描到的内容为欲仿真对象启动所需的内容,则记录,否则忽略;4)定义启动内容的配置痕迹,根据步骤3)的虚拟容器内保留的启动内容确定欲仿真对象的需要修改或替换的启动内容,并记录;5)扫描步骤3)的虚拟容器内的启动内容、步骤4)的启动内容的配置痕迹,对欲仿真对象的各虚拟容器内保留的启动内容进行逐一修改或替换;6)通过虚拟析构技术,把欲仿真对象的虚拟存在的虚拟容器从本地操作系统上删除;7)再次对欲仿真对象进行仿真,,即为虚拟环境的虚拟启动修复完全。如果步骤3)得到的虚拟容器内保留的启动内容为空,则通过虚拟析构技术,把欲仿真对象的虚拟存在的虚拟容器从本地操作系统上删除,仿真结束。所述的正常目标的启动内容、从正常目标获取到的启动内容、虚拟容器内的启动内容、虚拟容器内保留的启动内容、启动内容的配置痕迹为自增长的数据表空间。步骤I)所述的对正常目标的启动内容进行扫描、步骤3)所述的对虚拟容器内的启动内容进行扫描、步骤5)所述的扫描步骤3)的虚拟容器内的启动内容、步骤4)的启动内容的配置痕迹,扫描方式为使用SCAN算法对自增长的数据表空间进行逐楼扫描。步骤2)所述的虚拟容器为物理上在本地操作系统的有效数据区。虚拟重构技术可以利用现有技术的软件(如VMMount)把数据虚拟成一个分区(如虚拟成盘符为Z的分区)。步骤I)、步骤3)所述的正常工作的虚拟机的各类启动加载内容包括:系统启动执7TT文件,系统启动base,系统启动控制,系统引导项。步骤4)所述的启动内容的配置痕迹包括:用户要修改的系统启动执行文件,用户要修改的系统启动base,用户要修改的系统启动控制,用户要修改的系统引导项。步骤5)中,对欲仿真对象的各虚拟容器内保留的启动内容进行修改或替换的操作前,对当前操作进行合法性验证,如果操作合法,则进行当前操作,否则忽略。所述的合法性验证具体为将启动内容的配置痕迹与虚拟容器内的启动内容的启动内容标识符、数据内容进行匹配,匹配一致则通过合法性验证,否则验证失败,修改或替换的操作被忽略。
步骤5)中,对欲仿真对象的各虚拟容器内保留的启动内容进行修改或替换,对于操作系统默认限制修改的内容,先提升操作权限或更改内容的保护属性,再进行修改或替换。步骤6)中的虚拟析构技术可以利用现有技术的软件(如VMMount)把虚拟容器删除(如把虚拟成盘符为Z的分区删除)。实施例如图1所示,本发明所述的方法步骤如下:1、定义正常目标的启动内容:Sl={il, i2, i3,…,in}S2={il, i2, i3,…,in}S3={il, i2, i3,…,in}Sn={il, i2, i3,…,in}定义从正常目标获取到的启动内容:Dl={il, i2, i3,…,in}D2={il, i2, i3,…,in}D3={il, i2, i3,…,in}Dn={il, i2, i3,…,in}预先分别对正常工作的虚拟机的启动内容每“楼层”创建自增长空间等待操作。SI, S2, S3,...,Sn为正常目标的各类启动内容。D1,D2,D3,...,Dn为使用电梯算法(即SCAN算法)“逐楼扫描”从正常目标的各类启动内容获取到的符合条件的、保存在每“楼层”相应自增长空间的信息。其中Dl e S1,D2 e S2,D3 e S3,Dn e Sn。所述的电梯算法,又称SCAN算法,是一种公平算法,对自增长的数据库表空间从请求起始地址开始,逐楼往上扫描。在C、C++、java中均有公开的实现方法,本发明不再赘述。所述的条件为欲仿真对象启动所需的内容的标识符,符合条件即正常目标的各类启动内容的标识符与欲仿真对象启动所需的内容的标识符能够互相匹配,则获取符合条件的启动内容。S1,S2,S3,...,Sn的信息有的为启动内容,有的为非启动内容。正常工作的虚拟机的启动内容具体包括:系统启动执行文件,系统启动base,系统启动控制,系统引导项等。集合里的元素为其子项。2、通过虚拟重构技术,把存在于被仿真目标的虚拟存在的目标重构为一个虚拟容器。虚拟容器在物理上相当于本地操作系统的一个有效数据区,对其的任何操作就像操作本地的数据一样,系统的任何API对其都有效,包括文件创建、读写、删除等操作。但虚拟容器的重构、析构及读写却不会对本地或连接至本地的远程内容造成任何影响。3、定义虚拟容器内的启动内容:VSl={il,i2, i3,…,in}VS2={il, i2, i3,…,in}VS3= {il, i2, i3,…,in}VSn={il, i2, i3,…,in}定义虚拟容器内保留的启动内容:VDl={il, i2, i3,…,in}VD2={il, i2, i3,…,in}VD3={il, i2, i3,…,in}VDn={il, i2, i3,…,in}预先分别对步骤2得到的虚拟容器内的启动内容每“楼层”创建自增长空间等待操作。VDl, VD2,VD3,...VDn为使用电梯算法“逐楼扫描” VS1、Dl, VS2、D2,VS3、D3,..^VSruDn,每“楼层元素”要保留的内容要具体根据其属性保留条件,对于条件是命中另保留的则另保留在“楼层”相应自增长空间,对于条件是命中不另保留的则略过。其中VDl e VSl,VD2 e VS2,VD3 e VS3,VDn e VSn0这里的扫描辐射到启动内容项名称,或其显示,或其描述为空的情况,这些情况的命中、非命中、另保留及略过都会在算法内处理。所述的条件为欲仿真对象启动所需的内容的标识符,符合条件即虚拟容器内的各启动内容的标识符与欲仿真对象启动所需的内容的标识符能够互相匹配,则获取符合条件的启动内容。4、定义启动内容的配置痕迹:Tl={tl, t2, t3,…,tn}T2={tl, t2, t3,…,tn}T3= {tl, t2, t3,…,tn}Tn= {tl, t2, t3,…,tn}把步骤3的VDl,VD2,VD3,...,VDn通过UI形式反馈给仿真操作者,UI显示包括启动内容名称、启动内容说明描述等,并提供3个选择:选择1、“计算机动态仿真虚拟启动智能修复”自动为仿真用户配置这些启动内容,然后保留操作痕迹;选择2、仿真用户可以手动对Π显示的启动内容进行配置,然后操作痕迹被自动保留;
选择3、不进行任何操作。这里要特别提到的是,无论是自动还是手动,操作痕迹都会被进行全法性验证,验证是否合法有效,是否对被仿真目标的虚拟存在造成损坏,也就是说有些痕迹若是必须的则会保留不是则不会被保留。验证过程对仿真用户是完全透明的。合法性验证具体为将启动内容的配置痕迹与虚拟容器内的启动内容的启动内容标识符、数据内容(数据内容在各种系统中的格式固定,此处不再赘述。)进行匹配,匹配一致则通过合法性验证,否则验证失败,修改或替换的操作被忽略。配置痕迹:用户要修改的系统启动执行文件,用户要修改的系统启动base,用户要修改的系统启动控制,用户要修改的系统引导项。集合里的元素为其子项。5、“电梯扫描” VS1、T1,VS2、T2,VS3、T3,...VSn、Tn,根据启动内容配置痕迹对VS1,VS2,VS3,...,VSn进行操作,落在条件区间则操作,在条件区间之外则不操作。对于在条件区间内需要进行操作而由于系统属性等原因无法进行的情况,则通过特殊途径强制进行,所有必要的操作都要保证进行“计算机动态仿真虚拟启动智能修复”功能才会生效。所述的条件区间为启动内容的配置痕迹的启动内容标识符、数据内容。落在条件区间内,即将启动内容的配置痕迹与虚拟容器内的启动内容的启动内容标识符、数据内容进行匹配,而且匹配一致。所述的需要进行操作而由于系统属性等原因无法进行的情况,如当前用户权限不够,或者文件为只读属性。欲对其进行修改或替换,可以先提升操作权限或更改内容的保护属性,再进行修改或替换。6、通过虚拟析构技术,把被仿真目标的虚拟存在的虚拟容器从本地操作系统上安全删除,前面已经提到过,对虚拟容器的任何操作都不会对本地或连接至本地的其它内容造成任何影响。7、所有步骤正确无误完毕后,重新对被仿真对象进行仿真,就可以解决虚拟启动带来的情况成功进入虚拟环境进行相关取证操作。上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。
权利要求
1.一种虚拟启动智能修复的计算机动态仿真方法,其特征在于,包括步骤: 1)定义正常目标的启动内容,对正常工作的虚拟机的各类启动加载内容创建数据库表;定义从正常目标获取到的启动内容,对正常目标的启动内容进行扫描,如果扫描到的内容为欲仿真对象启动所需的内容,则记录,否则忽略; 2)根据步骤I)的正常目标的启动内容,通过虚拟重构技术,把存在于欲仿真对象的虚拟存在的目标重构为虚拟容器; 3)定义虚拟容 器内的启动内容,对步骤2)得到的虚拟容器内的各类启动加载内容创建数据库表;定义虚拟容器内保留的启动内容;对虚拟容器内的启动内容进行扫描,如果扫描到的内容为欲仿真对象启动所需的内容,则记录,否则忽略; 4)定义启动内容的配置痕迹,根据步骤3)的虚拟容器内保留的启动内容确定欲仿真对象的需要修改或替换的启动内容,并记录; 5)扫描步骤3)的虚拟容器内的启动内容、步骤4)的启动内容的配置痕迹,对欲仿真对象的各虚拟容器内保留的启动内容进行逐一修改或替换; 6)通过虚拟析构技术,把欲仿真对象的虚拟存在的虚拟容器从本地操作系统上删除; 7)再次对欲仿真对象进行仿真,,即为虚拟环境的虚拟启动修复完全。
2.根据权利要求1所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,如果步骤3)得到的虚拟容器内保留的启动内容为空,则通过虚拟析构技术,把欲仿真对象的虚拟存在的虚拟容器从本地操作系统上删除,仿真结束。
3.根据权利要求1或2所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,所述的正常目标的启动内容、从正常目标获取到的启动内容、虚拟容器内的启动内容、虚拟容器内保留的启动内容、启动内容的配置痕迹为自增长的数据表空间。
4.根据权利要求3所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,步骤I)所述的对正常目标的启动内容进行扫描、步骤3)所述的对虚拟容器内的启动内容进行扫描、步骤5)所述的扫描步骤3)的虚拟容器内的启动内容、步骤4)的启动内容的配置痕迹,扫描方式为使用SCAN算法对自增长的数据表空间进行逐楼扫描。
5.根据权利要求1或2所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,步骤2)所述的虚拟容器为物理上在本地操作系统的有效数据区。
6.根据权利要求1或2所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,步骤5)中,对欲仿真对象的各虚拟容器内保留的启动内容进行修改或替换的操作前,对当前操作进行合法性验证,如果操作合法,则进行当前操作,否则忽略。
7.根据权利要求6所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,所述的合法性验证具体为将启动内容的配置痕迹与虚拟容器内的启动内容的启动内容标识符、数据内容进行匹配,匹配一致则通过合法性验证,否则验证失败,修改或替换的操作被忽略。
8.根据权利要求1或2所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,步骤5)中,对欲仿真对象的各虚拟容器内保留的启动内容进行修改或替换,对于操作系统默认限制修改的内容,先提升操作权限或更改内容的保护属性,再进行修改或替换。
9.根据权利要求1或2所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,步骤1)、步骤3)所述的正常工作的虚拟机的各类启动加载内容包括:系统启动执行文件,系统启动base,系统启动控制,系统引导项。
10.根据权利要求1或2所述的虚拟启动智能修复的计算机动态仿真方法,其特征在于,步骤4)所述的启动内容的配置痕迹包括:用户要修改的系统启动执行文件,用户要修改的系统启动base,用户要修 改的系统启动控制,用户要修改的系统引导项。
全文摘要
本发明涉及一种虚拟启动智能修复的计算机动态仿真方法,克服由于虚拟环境的启动内容不正确,而造成的仿真失败,无法进行模拟重现的问题,实现虚拟启动智能修复。本发明所述的方法可自动迅速解决动态仿真Windows操作系统、Linux操作系统、基于X86架构的苹果机操作系统、Unix操作系统等虚拟环境启动失败,导致无法模拟重现系统原来的状态的情况,确保了司法人员的有效顺利工作。本发明所述的方法可极大提高司法人员的工作效率,可避免因仿真取证失败而无法进行有效司法工作导致司法延误及其它后果。将大幅度降低工作成本,减轻工作压力,提高工作能力,必定拥有广阔的应用及市场前景。
文档编号G06F9/455GK103092672SQ20121048519
公开日2013年5月8日 申请日期2012年11月23日 优先权日2012年11月23日
发明者叶伟, 黄志炜, 魏鹏 申请人:厦门美亚中敏电子科技有限公司