一种云计算环境下的取证方法及系统的制作方法

文档序号:6370382阅读:216来源:国知局
专利名称:一种云计算环境下的取证方法及系统的制作方法
技术领域
本发明属于云计算和计算机取证(computer forensics)技术领域,具体涉及一种云计算环境下的取证方法及系统。
背景技术
云计算类似于传统的C/S模式,服务接入端为Client端,而服务提供端为Server端。云取证(cloud forensics)是指在云计算环境中对于数字证据的固定、提取、分析和鉴定。主要用于捕获犯罪分子入侵云计算环境后遗留的痕迹并作为证据呈送司法部门。当前的云取证技术,分为两种第一种是以接入端取证为主。如2011年black hat大会上,斯坦福大学的 Elie Bursztein 教授提出的 OWADE 取证工具(Doing forensics in the cloudage OffADE:beyond files recovery forensic);第二种则以服务提供端取证为主。取证步骤为提取虚拟机镜像文件一镜像文件本地加载一利用取证工具进行取证。从取证角度来看,云计算存在着两大关键特性规模大和动态变化(如云的弹性扩展特性)。以上特性加大了云取证的难度,云取证至少面临以下四大问题第一个问题是云中数据物理存放地点不确定。例如,某个应用所产生的数据可能分散在一台或者多台服务器中。第二个问题是逻辑上相关的数据可能分散存放。例如,某应用同时部署在不同的服务器上,而该应用所产生的数据则可能分散在不同的服务器中。第三个问题是待取证数据的规模大,而真正与犯罪相关的信息很少,可能需要对多台VM (虚拟机)和/或物理磁盘进行分析。第四个问题是云的弹性扩展机制要求取证能及时适应系统的规模的变化,即弹性 取证。

发明内容
本发明的目的在于基于虚拟化平台,提出一种云计算环境下的取证方法及系统,化“被动取证”为“主动取证”,即系统(或应用)主动提供可能与犯罪活动相关的信息给取证部门,一旦有取证需求,取证部门不再去原系统(或应用)查找,直接在本部门即可实现取证。为实现上述目的,本发明采用如下技术方案一种云计算环境下的取证方法,其步骤包括I)云服务提供商在其虚拟服务器中设置用于取证的应用程序编程接口 ;2)云应用直接调用所述应用程序编程接口,对传输的可疑数据进行签名并生成校验值,然后将所述可疑数据传输至一取证虚拟机;3)所述取证虚拟机对所述可疑数据进行重新校验,并存储通过校验的可疑数据;4)对所述取证虚拟机中存储的可疑数据进行分析,获取数字证据。进一步地,步骤I)所述的可疑数据是指可能含有犯罪证据的定制的数据,可以是某种日志,也可以是某种内存易失性数据。云应用对于可疑数据的辨别是通过可疑数据的特征来进行,比如,为了获取某个时间点入侵云系统的犯罪记录,可将可疑数据定制为“时间特征为某年某月某日某时某分某秒”的日志记录。进一步地,步骤3)所述重新校验的方法为所述取证虚拟机重新计算所述可疑数据的校验值,如果与步骤2)生成的校验值相同,则校验通过;否则,校验不通过。进一步地,所述取证虚拟机将接收的可疑数据设定为只读,并只允许单个进程对可疑数据进行访问。进一步地,若所述取证虚拟机中发现未签名的数据,则通知取证虚拟机的管理域DomainO并报警。进一步地,取证虚拟机的管理域DomainO定时向云服务提供商发送请求(Request),云服务提供商收到请求后进行回复;若没有收到回复,DomainO报警并启动虚拟机重放器(VM Player)”,记录云服务提供商的虚拟服务器的运行信息,并在事后进行回 放取证。所记录的运行信息包括系统运行的线程、程序发起的系统调用、用户对系统的操作记录。云服务供应商收到报警之后通过VM Player回放虚拟服务器在这段时间内所运行的系统命令、用户操作记录,系统管理员根据回放记录分析用户及系统的行为,若确定有人入侵该服务器,可将回放记录作为证据进行保存。一种云计算环境下的取证系统,适用于上述方法,包括虚拟服务器、取证虚拟机和云应用,其间建立通信连接;所述虚拟服务器由云服务提供商运行,其内设置用于取证的应用程序编程接口 ;所述云应用直接调用所述应用程序编程接口,对传输的可疑数据进行签名并生成校验值,然后将所述可疑数据传输至所述取证虚拟机;所述取证虚拟机对所述可疑数据进行重新校验,并存储通过校验的可疑数据,用于获取数字证据。进一步地,所述取证系统还包括一取证虚拟机保护模块,设于虚拟监控机内,用于防止其它虚拟机加载所述取证虚拟机的磁盘并对可疑数据进行修改。下面进一步说明本发明的技术原理。本发明在原有云环境下的取证框架下,提供一个专门的取证虚拟机(ForensicVirtual Machine,FVM)。云服务提供商提供一组API (Forensic API,取证API),相应的云应用直接调用该API,将可能存在犯罪活动的可疑数据(Forensic Data)存储在专门的取证虚拟机FVM中。本发明解决了当前云取证技术中存在的下述问题I)云中数据物理存放地点不确定由于相应的云应用通过直接调用Forensic API将Forensic Data存储在FVM中,调查人员不需再关心一个或者多个云服务提供商中的数据的物理存放地址。2)逻辑上相关的数据可能分散存放由于云服务提供商中相应的云应用所产生的Forensic Data都发送给了 FVM,在FVM中可以对这些数据进行分类,能够提供完整的证据,形成完整的数据链。3)待取证数据规模大,而真正与犯罪相关的信息很少本发明通过“主动取证”,而并非当有取证需求时,才去查找可能与犯罪相关的信息。可能存在犯罪活动的“可疑数据”已经存储在专门的取证虚拟机FVM中,不再需要对云服务提供商本身进行取证。4)云的弹性扩展机制要求取证能及时适应系统的规模变化本发明中,只要相应的云应用调用了云服务提供商提供的Forensic API,云系统规模变化时,取证不再受影响。
为了确保“可疑数据”在传输过程中没有被修改,在数据传输前生成校验值,在FVM中重新计算该校验值并进行匹配。为了防止未知应用恶意调用Forensic API向FVM中传输干扰数据,云服务供应商为每一个经过审核的Cloud App颁发数字证书,该App用自己的证书对数据进行签名。特殊情况下,如果FVM中发现未签名数据,则通知DomainO并报警。上述框架还可能存在下面的安全问题,本发明也进一步提供了相应的解决办法I)从FVM内部保证“可疑数据”的安全Xen的隔离性能保证FVM不受其他VM中恶意程序的攻击。FVM中“可疑数据”接收完成后设定为只读,不允许修改。对FVM进行精简,只允许单个进程,如Forensic app对“可疑数据”进行访问。2)防止其它VM加载FVM的磁盘,从而对“可疑数据”进行修改在DomainO中配置FVM的磁盘块不能被其他VM加载。在虚拟监控机(Xen Hypervisor)中增加FVM保护模块(FVM Grardian Module),该模块负责监控系统磁盘读写相关的“超级调用”,当发现有非FVM中的程序请求通过“超级调用”读写FVM中的磁盘时,拒绝该程序的请求。3)虚拟服务器端负责发送数据的进程被恶意程序干扰而停止运行时的处理方法DomainO定时向虚拟服务器发送请求(request),虚拟服务器收到时需回复;若没收到回复,DomainO报警且启动“VM Player”,记录该服务器的运行情况,并可在事后进行回放取证。本发明针对当前云取证所面临的问题,化“被动取证”为“主动取证”,由云服务提供商提供一组API,相应的云应用直接调用该API,将可能存在犯罪活动的数据存储在专门的取证虚拟机中。一旦有取证需求,取证部门不再去原系统(或应用)查找,直接在专门的取证虚拟机上即可实现取证,大大提高了云计算环境下取证的效率。


图I为实施例中云计算环境下的取证方法的步骤流程图。图2为实施例中云计算环境下的取证系统的架构示意图。
具体实施例方式下面通过实施例并结合附图,对本发明作进一步的说明。图I为本实施例中云计算环境下的取证方法的步骤流程图。首先,云服务提供商在其虚拟服务器中部署用于取证的应用程序编程接口(取证API);然后,云应用直接调用用于取证的应用程序编程接口,通过云服务提供商颁发的数字证书对传输的可疑数据进行签名并生成校验值,然后将可疑数据传输至一取证虚拟机;然后,取证虚拟机对可疑数据进行重新校验,校验通过后将所述可疑数据存储在证据仓库中;最后,对所述证据仓库中存储的可疑数据进行分析,以获取数字证据。图2为适用于上述方法的取证系统的架构示意图。该取证系统包括底层硬件设备、虚拟监控机(Xen Hypervisor)、虚拟服务器I和2、取证虚拟机(FVM)以及云应用I和2。虚拟服务器中设有取证API,虚拟监控机内设有FVM保护模块,取证虚拟机中设有证据仓库。下文通过具体的应用实例说明上述方法和系统的实施过程。、
假设A公司购买大量硬件资源,并在这些硬件之上安装开源云计算平台XCP,然后以虚拟服务器(Virtual Server,VS)的形式对外提供租用服务。假设A公司采用了本发明的取证方案,则该公司需在其供租用的VS中部署好取证API。假设B是一家小型的互联网公司,其主要业务是对外提供网上支付服务,类似于支付宝。B公司为了省去服务器的购买及维护成本,选择租用A公司提供的VS,并将自己的业务部署在VS中。B公司的业务主要由两个云应用构成,云应用I为网上支付程序,云应用2为用户信息管理程序,如图2所示。为了避免单台VS宕机从而引发整个业务无法办理的情况出现,B公司向A公司申请租用2台VS(图2中的服务器I和服务器2),并在申请书中明确说明B公司的业务数据非常重要,希望A公司加强对B公司数据的保护,避免被黑客破坏。A公司在接到B公司的申请后,告诉B公司可以使用VS中的取证API,将其业务中
的可疑数据通过取证API存储到FVM中。可疑数据是指可能包含证据的数据,在该示例中是指B公司客户的登录日志、交易日志以及VS系统日志。A公司为B公司的云应用I及云应用2分别签发一张数字证书,证书中包含了该应用的数字签名(64位)信息。B公司简单的修改其云应用I及云应用2的源码,在一些涉及“可疑数据”的地方调用A提供的取证API (参考表I或表2),然后将云应用I及云应用2正式部署在VSl及VS2中。B公司的业务正式开始上线,其客户C通过云应用I (网上支付程序)打款给客户D,操作完成后云应用I生成一条交易记录,并将该交易信息及其数字证书提供给取证API。A公司部署在VS中的取证程序利用云应用I的数字证书对交易记录进行签名,并用MD5算法对签名后的交易记录生成一个128位的校验值,然后传输给FVM。FVM收到数据后,利用MD5算法对数据进行重新校验,若得到的校验值相同则校验通过,并在校验通过后将该“可疑数据”存储在FVM的证据仓库中。上述校验值也可以通过其它算法生成。为了保证FVM内部“可疑数据”的安全,取证虚拟机将接收的可疑数据设定为只读,并只允许单个进程对可疑数据进行访问。若取证虚拟机中发现未签名的数据,则通知取证虚拟机的管理域DomainO并报警。为了防止其它VM加载FVM的磁盘,从而对“可疑数据”进行修改,在图2所示的虚拟监控机中设有FVM保护模块,该模块负责监控系统磁盘读写相关的“超级调用”,当发现有非FVM中的程序请求通过“超级调用”读写FVM中的磁盘时,拒绝该程序的请求。假设黑客E窃取了客户C的交易密码,其通过云应用I从C账户上转了 10万人民币到自己账号上,则该黑客的交易操作可以被云应用I完整的记录下来,并存储在证据仓库中。客户C向公安机关报案后,公安机关从证据仓库中可以提取到客户C的交易记录,并在该记录中发现黑客E的ip地址,从而可以成功抓获黑客E。表I.取证API示例I
权利要求
1.一种云计算环境下的取证方法,其步骤包括 1)云服务提供商在其虚拟服务器中设置用于取证的应用程序编程接ロ; 2)云应用直接调用所述应用程序编程接ロ,对传输的可疑数据进行签名并生成校验值,然后将所述可疑数据传输至一取证虚拟机; 3)所述取证虚拟机对所述可疑数据进行重新校验,并存储通过校验的可疑数据; 4)对所述取证虚拟机中存储的可疑数据进行分析,获取数字证据。
2.如权利要求I所述的方法,其特征在于,所述可疑数据是指可能含有犯罪证据的数据,包括登录日志、交易日志和虚拟服务器系统日志。
3.如权利要求I所述的方法,其特征在于,所述重新校验的方法为所述取证虚拟机重新计算所述可疑数据的校验值,如果与步骤2)生成的校验值相同,则校验通过;如果与步骤2)生成的校验值不同,则校验不通过。
4.如权利要求I所述的方法,其特征在于,所述取证虚拟机将接收的可疑数据设定为只读,并只允许单个进程对可疑数据进行访问。
5.如权利要求I所述的方法,其特征在于,若所述取证虚拟机中发现未签名的数据,则通知取证虚拟机的管理域并报警。
6.如权利要求I所述的方法,其特征在于取证虚拟机的管理域定时向云服务提供商发送请求,云服务提供商收到后进行回复;若没收到回复,取证虚拟机的管理域报警且启动虚拟机重放器,记录云服务提供商的虚拟服务器的运行信息,并在事后进行回放取证。
7.如权利要求6所述的方法,其特征在于,所述运行信息包括系统运行的线程、程序发起的系统调用和用户对系统的操作记录。
8.如权利要求I所述的方法,其特征在于,通过在虚拟监控机中设置ー取证虚拟机保护模块,防止其它虚拟机加载所述取证虚拟机的磁盘并对可疑数据进行修改。
9.一种云计算环境下的取证系统,其特征在于,包括虚拟服务器、取证虚拟机和云应用,其间建立通信连接; 所述虚拟服务器由云服务提供商运行,其内设置用于取证的应用程序编程接ロ ; 所述云应用直接调用所述应用程序编程接ロ,对传输的可疑数据进行签名并生成校验值,然后将所述可疑数据传输至所述取证虚拟机; 所述取证虚拟机对所述可疑数据进行重新校验,并存储通过校验的可疑数据,用于获取数字证据。
10.如权利要求9所述的系统,其特征在于还包括一取证虚拟机保护模块,设于虚拟监控机内,用于防止其它虚拟机加载所述取证虚拟机的磁盘并对可疑数据进行修改。
全文摘要
本发明提供一种云计算环境下的取证方法,其步骤包括云服务提供商在其虚拟服务器中设置用于取证的应用程序编程接口;云应用直接调用所述应用程序编程接口,对传输的可疑数据进行签名并生成校验值,然后将所述可疑数据传输至一取证虚拟机;所述取证虚拟机对所述可疑数据进行重新校验,并存储通过校验的可疑数据;对可疑数据进行分析,获取数字证据。本发明将可能含有犯罪证据的可疑数据存储在专门的取证虚拟机中,大大提高了云计算环境下取证的效率。
文档编号G06F9/455GK102739774SQ201210170280
公开日2012年10月17日 申请日期2012年5月28日 优先权日2012年5月28日
发明者丁丽萍, 谢亚龙 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1