一种基于版本控制的在线快照管理方法和系统技术方案

技术编号:14743898 阅读:142 留言:0更新日期:2017-03-01 19:39
本发明专利技术公开了一种基于版本控制的在线快照管理方法及系统,属于计算机安全领域。本发明专利技术基于特定内核事件的增量快照机制能够及时生成增量快照以记录被取证系统的状态信息,设置增量快照容量上限,当快照占用空间超过阀值时,自动将某一时间以前的增量快照和基快照合并成新的基快照,基快照能够通过和增量快照进行合并操作还原到已记录的,任意时间任意地址时的虚拟机内存状态。在对快照进行机器语言到应用语言的翻译,发现系统状态的异常改变。本发明专利技术还实现了该方法的系统。本发明专利技术独立于被取证系统,使得快照和分析结果具有高可信性,另外基于内核特定事件的增量快照机制实时运行开销小,能有效记录关键事件发生时系统的状态。

【技术实现步骤摘要】

本专利技术属于计算机安全领域,更具体地,涉及一种基于版本控制的在线快照管理方法和系统
技术介绍
随着信息技术的飞速发展,网络与信息技术的加速渗透和深度应用以及软件漏洞不断涌现,导致计算机相关的犯罪行为也日益增多,造成了严重的网络安全威胁。美国战略与国际问题研究中心(CSIS)发布的一份报告显示,网络犯罪每年给全球带来大约4450亿美元的经济损失。计算机取证是打击计算机与网络犯罪的关键技术,其目的是将计算机中犯罪者遗留的攻击痕迹提取出,作为有效的诉讼证据提供给法庭,以便将犯罪者绳之以法。计算机取证,经过近15年的发展,取得了巨大的成功。随着虚拟机技术在云计算、系统安全等领域的广泛应用,基于虚拟机的计算机取证得到了迅速的关注与研究。理论上来说,恶意程序最多对操作系统进行攻击,而无法影响到处于更高级别的虚拟机管理器,因此基于虚拟机的取证相对传统的取证方法要可靠些。现有的取证方法主要关注于方法的精准性、可靠性、可用性,关注于某一时间点的系统状态。然而恶意软件的攻击,通常是一个持续的过程,需要通过虚拟机进行多次快照,对整个攻击过程进行记录。另外,云中存在非常多的虚拟机,如何进行快照,不对系统的运行造成影响。最后,如何对快照进行自动化管理,根据取证软件需求提供相应的快照。这些都是非常具有挑战的。因此,迫切的需要一套在线取证分析系统,为虚拟机提供快照管理,快照分析,提供统一的自动化管理。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于版本控制的在线快照管理方法和系统,其目的在于;当被监控虚拟机发送特殊事件时,本专利技术获取新增脏页并生成增量快照,再合并一定增量快照生成全系统基快照,截取基快照中请求时间、请求地址和请求线程生成请求快照,对快照中的内容进行翻译处理,由此解决对恶意攻击过程全程和降低系统开销记录的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于版本控制的在线快照管理方法,该方法包括以下步骤;(1)增量快照储存管理:(11)监控虚拟机的运行状态,当被监控虚拟机发生系统调用或进程切换时,将进程名称、事件原因和事件时间信息存放到固定物理内存区间中,再通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行增量快照处理;(12)虚拟机管理器(hypervisor)将控制权移交给被监控虚拟机对应的存储例程,存储例程读取虚拟机管理器保存的被监控虚拟机扩展页表指针(EPTP),遍历其指向的页表,找出新增脏页,然后根据新增脏页的物理页帧生成对应的宿主机虚地址页帧;(13)从固定物理内存区间中读取进程名称、事件原因和事件时间作为当前提交增量快照的初始元数据,通过对应新增脏页的宿主机虚地址页帧,复制对应新增脏页并存入数据库中,生成增量快照,最后根据数据库容量设置阈值,存储的增量快照容量超出阈值后自动对最早期时间段内的增量快照进行合并操作,并将合并后增量快照作为对应被监控虚拟机的基快照;(2)请求快照生成分析:(21)根据请求应用的快照生成请求读取物理内存,若发现内存中有对应快照则对快照信息进行机器语言到应用语言的翻译,并将翻译结果提交给请求应用,结束流程;否则为每个请求应用生成一个前端请求例程;(22)前端请求例程将快照请求的时间信息和地址范围信息放入一个环形消息队列中,并设定一个时间阀值;当环形队列满或者超时时,通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行快照生成;(23)虚拟机管理器(hypervisor)为环形队列中的每个快照生成请求初始化一个后端请求例程,后端请求例程首先对相应的快照生成请求按照虚拟机编号A、时间B、地址范围C到D和进程E进行格式化处理;(24)获取快照生成请求的格式化信息,当前被监控虚拟机A的基快照为F时刻的全系统快照,分析数据库中F时刻到B时刻虚拟机A所有增量快照的元数据,提取出该时间段内新增脏页的物理页帧,找出最接近B时刻的新增脏页对应的增量快照,对数据库中基快照进行修改更新,生成虚拟机A在B时刻的全系统快照K,再截取地址范围C到D的E线程快照内容生成快照存储到物理内存中。按照本专利技术的另一方面,提供了一种基于版本控制的在线快照管理系统,该系统包括以下模块;内核事件通知驱动模块,用于监控虚拟机的运行状态,当被监控虚拟机发生系统调用或进程切换时,将进程名称、事件原因和事件时间信息存放到固定物理内存区间中,再通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行增量快照处理;快照库增量处理模块,用于将控制权移交给被监控虚拟机对应的存储例程,存储例程读取虚拟机管理器保存的被监控虚拟机扩展页表指针(EPTP),遍历其指向的页表,找出新增脏页,然后根据新增脏页的物理页帧生成对应的宿主机虚地址页帧;快照版本控制库模块,用于从固定物理内存区间中读取进程名称、事件原因和事件时间作为当前提交增量快照的初始元数据,通过对应新增脏页的宿主机虚地址页帧,复制对应新增脏页并存入数据库中,生成增量快照,最后根据数据库容量设置阈值,存储的增量快照容量超出阈值后自动对最早期时间段内的增量快照进行合并操作,并将合并后增量快照作为对应被监控虚拟机的基快照;快照信息翻译库模块,用于根据请求应用的快照生成请求读取物理内存,内存中有快照则对快照信息进行机器语言到应用语言的翻译,并将翻译结果提交给请求应用,内存中没有快照则为每个请求应用生成一个前端请求例程;快照请求管理模块,用于控制前端请求例程将快照请求的时间信息和地址范围信息放入一个环形消息队列中,并设定一个时间阀值;当环形队列满或者超时时,通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行快照生成;快照请求格式化模块,用于为环形队列中的每个快照生成请求初始化一个后端请求例程,后端请求例程首先对相应的快照生成请求按照虚拟机编号A、时间B、地址范围C到D和进程E进行格式化处理;请求快照生成模块,用于获取快照生成请求的格式化信息,当前被监控虚拟机A的基快照为F时刻的全系统快照,分析数据库中F时刻到B时刻虚拟机A所有增量快照的元数据,提取出该时间段内新增脏页的物理页帧,找出最接近B时刻的新增脏页对应的增量快照,对数据库中基快照进行修改更新,生成虚拟机A在B时刻的全系统快照K,再截取地址范围C到D的E线程快照内容生成快照存储到物理内存中。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:(1)本专利技术将存在于被监控虚拟机中易失性数据的存储、管理、还原等操作交由虚拟机管理器进行管理,快照分析过程存在于一个单独的分析虚拟机中,独立于被取证系统,使得快照和分析结果具有高可信性;(2)基于内核特定事件的增量快照机制,对被监控虚拟机的实时运行开销的影响很小,同时能够有效的记录关键事件发生时系统的状态,使得本专利技术的取证结果在时间和空间的维度上具有很高的覆盖性。本专利技术能够有效的进行取证,为虚拟机取证提供可信并可靠的取证依据。附图说明图1为本专利技术系统总体架构图;图2为本专利技术方法的增量快照存储步骤流程图;图3为本专利技术方法的请求快照生成步骤流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术本文档来自技高网...
一种基于版本控制的在线快照管理方法和系统

【技术保护点】
一种基于版本控制的在线快照管理方法,其特征在于,包含以下步骤:(1)增量快照储存管理:(11)监控虚拟机的运行状态,当被监控虚拟机发生系统调用或进程切换时,将进程名称、事件原因和事件时间信息存放到固定物理内存区间中,再通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行增量快照处理;(12)虚拟机管理器(hypervisor)将控制权移交给被监控虚拟机对应的存储例程,存储例程读取虚拟机管理器保存的被监控虚拟机扩展页表指针(EPTP),遍历其指向的页表,找出新增脏页,然后根据新增脏页的物理页帧生成对应的宿主机虚地址页帧;(13)从固定物理内存区间中读取进程名称、事件原因和事件时间作为当前提交增量快照的初始元数据,通过对应新增脏页的宿主机虚地址页帧,复制对应新增脏页并存入数据库中,生成增量快照,最后根据数据库容量设置阈值,存储的增量快照容量超出阈值后自动对最早期时间段内的增量快照进行合并操作,并将合并后增量快照作为对应被监控虚拟机的基快照;(2)请求快照生成分析:(21)根据请求应用的快照生成请求读取物理内存,若发现内存中有对应快照则对快照信息进行机器语言到应用语言的翻译,并将翻译结果提交给请求应用,结束流程;否则为每个请求应用生成一个前端请求例程;(22)前端请求例程将快照请求的时间信息和地址范围信息放入一个环形消息队列中,并设定一个时间阀值;当环形队列满或者超时时,通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行快照生成;(23)虚拟机管理器(hypervisor)为环形队列中的每个快照生成请求初始化一个后端请求例程,后端请求例程首先对相应的快照生成请求按照虚拟机编号A、时间B、地址范围C到D和进程E进行格式化处理;(24)获取快照生成请求的格式化信息,当前被监控虚拟机A的基快照为F时刻的全系统快照,分析数据库中F时刻到B时刻虚拟机A所有增量快照的元数据,提取出该时间段内新增脏页的物理页帧,找出最接近B时刻的新增脏页对应的增量快照,对数据库中基快照进行修改更新,生成虚拟机A在B时刻的全系统快照K,再截取地址范围C到D的E线程快照内容生成快照存储到物理内存中。...

【技术特征摘要】
1.一种基于版本控制的在线快照管理方法,其特征在于,包含以下步骤:(1)增量快照储存管理:(11)监控虚拟机的运行状态,当被监控虚拟机发生系统调用或进程切换时,将进程名称、事件原因和事件时间信息存放到固定物理内存区间中,再通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行增量快照处理;(12)虚拟机管理器(hypervisor)将控制权移交给被监控虚拟机对应的存储例程,存储例程读取虚拟机管理器保存的被监控虚拟机扩展页表指针(EPTP),遍历其指向的页表,找出新增脏页,然后根据新增脏页的物理页帧生成对应的宿主机虚地址页帧;(13)从固定物理内存区间中读取进程名称、事件原因和事件时间作为当前提交增量快照的初始元数据,通过对应新增脏页的宿主机虚地址页帧,复制对应新增脏页并存入数据库中,生成增量快照,最后根据数据库容量设置阈值,存储的增量快照容量超出阈值后自动对最早期时间段内的增量快照进行合并操作,并将合并后增量快照作为对应被监控虚拟机的基快照;(2)请求快照生成分析:(21)根据请求应用的快照生成请求读取物理内存,若发现内存中有对应快照则对快照信息进行机器语言到应用语言的翻译,并将翻译结果提交给请求应用,结束流程;否则为每个请求应用生成一个前端请求例程;(22)前端请求例程将快照请求的时间信息和地址范围信息放入一个环形消息队列中,并设定一个时间阀值;当环形队列满或者超时时,通过超级调用(hypercall)通知虚拟机管理器(hypervisor)进行快照生成;(23)虚拟机管理器(hypervisor)为环形队列中的每个快照生成请求初始化一个后端请求例程,后端请求例程首先对相应的快照生成请求按照虚拟机编号A、时间B、地址范围C到D和进程E进行格式化处理;(24)获取快照生成请求的格式化信息,当前被监控虚拟机A的基快照为F时刻的全系统快照,分析数据库中F时刻到B时刻虚拟机A所有增量快照的元数据,提取出该时间段内新增脏页的物理页帧,找出最接近B时刻的新增脏页对应的增量快照,对数据库中基快照进行修改更新,生成虚拟机A在B时刻的全系统快照K,再截取地址范围C到D的E线程快照内容生成快照存储到物理...

【专利技术属性】
技术研发人员:邹雅毅张盼
申请(专利权)人:华中科技大学附属中学华中科技大学
类型:发明
国别省市:湖北;42

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

1