CN105183567B - 基于共享内存的云取证证据获取方法及系统 - Google Patents

基于共享内存的云取证证据获取方法及系统 Download PDF

Info

Publication number
CN105183567B
CN105183567B CN201510682287.5A CN201510682287A CN105183567B CN 105183567 B CN105183567 B CN 105183567B CN 201510682287 A CN201510682287 A CN 201510682287A CN 105183567 B CN105183567 B CN 105183567B
Authority
CN
China
Prior art keywords
memory
data
virtual machine
size
evidence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510682287.5A
Other languages
English (en)
Other versions
CN105183567A (zh
Inventor
伏晓
王子祺
骆斌
杨瑞
周业茂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201510682287.5A priority Critical patent/CN105183567B/zh
Publication of CN105183567A publication Critical patent/CN105183567A/zh
Application granted granted Critical
Publication of CN105183567B publication Critical patent/CN105183567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了基于共享内存的云取证证据获取方法及系统,系统包括系统驱动模块、发送模块、接收模块和自调整模块,所述系统驱动模块、发送模块、接收模块分别安装在接收虚拟机和发送虚拟机中,所述自调整模块安装在接收虚拟机中,发送模块包括数据填充组件和第一气球驱动触发组件,所述接收模块包括数据识别和接收组件、第二气球驱动触发组件。本发明实现了云平台上处于相同物理主机上虚拟机之间的信息的传递功能,能够在云提供商不配合或者不能察觉的情况下获取取证的证据,并能够作为并存虚拟机之间进行信息传递的通信手段。

Description

基于共享内存的云取证证据获取方法及系统
技术领域
本发明属于信息安全技术领域,具体涉及一种基于共享内存的云取证证据获取方法及系统。
背景技术
随着互联网以及计算机技术的发展,云技术在现代各种工作和生活中的影响力也得到了显著提升,但是云平台上的各种安全问题也随之而来。对云平台上的各类安全问题进行分析后发现,其中有些安全问题是攻击者利用云平台易扩展和配置、隐蔽性好的特点,仅仅把云技术当作一个手段,这一类问题并不是由云平台本身安全性能引起的;而另一种安全问题是由云平台本身存在的漏洞而造成的安全问题。对于云平台自身漏洞所造成的安全问题是难以检测和防御的,因此也造成了比较大的危害。
针对于上述的情况,在云平台上的取证工作就显得额外的重要。在近年来,针对于云平台攻击的取证工作是人们非常关注和广泛研究的课题。但是由于云平台的特性,目前取证方法和框架存在着很多的不足和限制。进行云取证时首先不能够让攻击者察觉,同时也不能够影响其他正常云服务的运行。这也就意味着,要满足规避检查的需求,并且尽可能少对系统的正常运行产生影响,这不仅仅限制了传统取证手段在云平台上的运用,同时也在证据定位和传输方面有着很多的限制。其中最难以解决的限制就是,现有的云取证的方法很多都需要云提供商的允许、配合甚至是参与的前提下才能实现,所以在云提供商不配合的情况下如何开展云取证工作,就成了当前亟需解决的问题。
发明内容
为解决上述问题,本发明公开了基于共享内存的云取证证据获取方法及系统,实现了云平台上处于相同物理主机上虚拟机之间的信息的传递功能,能够在云提供商不配合或者不能察觉的情况下获取取证的证据,并能够作为并存虚拟机之间进行信息传递的通信手段。
为了达到上述目的,本发明提供如下技术方案:
基于共享内存的云取证证据获取方法,其特征在于,包括如下步骤:
步骤一,在虚拟机被启动前设置其当前内存、最大内存和最小内存;
步骤二,在接收虚拟机中,使用规则探测方法来探测云平台中VMM所使用的内存调控规则中的上限和下限;
步骤三:在接收虚拟机中,使用自调整模块降低自身的内存的大小,把部分空闲的内存放到共享内存池中;
步骤四:在发送虚拟机中,使用发送模块把要传输的数据写入到内存页当中,然后持续不断的申请物理页,来促使VMM增大该虚拟机的内存直到内存大小达到最大内存为止;
步骤五:在发送虚拟机中,通过释放进程空间来降低内存的使用率,使其低于VMM调整内存规则中的下限,促使VMM降低该虚拟机的内存大小,把包含有要传递数据的内存回收到共享内存池中;
步骤六:在接收虚拟机中,把自身的内存大小设置为最大内存来从共享内存池中获取包含要传输数据的内存页;
步骤七:在接收虚拟机中,使用接收模块来获取当前的内存数据,并进行转存,当数据较大时需要按照顺序重构数据。
进一步的,所述步骤二中规则探测方法包括以下步骤:
直接启动虚拟机,观察虚拟机的内存的状态,当虚拟机内存持续减少时,等待虚拟机的内存大小稳定不变后,从当前的状态下获取规则下限值相关数据;当虚拟机内存持续增加时,等待虚拟机的内存大小稳定不变后,从当前的状态下获取规则上限值相关数据;当规则上限未被探测时,探测规则上限,当规则下限未被探测时,探测规则下限。
进一步的,所述探测上限的方法包括以下步骤:
判断当前的虚拟机的内存大小,当前的内存的大小等于最大内存时,关闭虚拟机,增大虚拟机最大内存的配置,然后重新穷的那个虚拟机后重新执行规则探测方法;
当前的内存的大小不等于最大内存时,持续不断的增加虚拟机的内存使用率,直至虚拟机的总的内存大小出现增大的情况的为止,从而探测出规则中的上限。
进一步的,所述探测下限的方法包括以下步骤:
当前的内存的大小等于最小内存时,增大内存的使用率使其接近于规则中的上限。当内存的大小不再增大后,一点一点的降低内存的使用率,直至虚拟机的内存的总大小出现降低的情况时,从而探测出规则中的下限;
当前的内存的大小不等于最小内存时,持续不断的降低内存使用率,直至出现内存大小有突然降低的情况,从而探测出规则中的下限;
当虚拟机内存的大小增大到最大内存时,关闭虚拟机,增大虚拟机最大内存的配置,然后重新穷的那个虚拟机后重新执行规则探测方法。
进一步的,所述步骤四中在将传输的数据写入到内存页当中时,包括以下步骤:
当数据较小时,在内存页中写入数据直到要传输的数据在内存中所占据的比重达到传入的比重参数为止;当要传输的数据的大小比较大时,将要传输的数据进行分割,并用特定的符号标注该碎片的顺序,再将这些数据碎片中的数据填充入内存中。
进一步的,所述步骤七中进行数据转存时,对于完全处于控制下的虚拟机,针对操作系统的内核代码进行修改,实现物理原数据的转存;对于不处于完全控制之下的虚拟机来,利用内存转存工具对数据进行转存。
进一步的,所述步骤七中重构数据时,根据顺序标记进行重构。
本发明还提供了基于共享内存的云取证证据获取系统,包括系统驱动模块、发送模块、接收模块和自调整模块,所述系统驱动模块、发送模块、接收模块分别安装在接收虚拟机和发送虚拟机中,所述自调整模块安装在接收虚拟机中,所述虚拟机由VMM中的气球驱动控制进行内存的调整;所述接收虚拟机和发送虚拟机通过接收模块和发送模块传输数据;所述系统驱动模块使用气球驱动,所述发送模块用于创建要进行传输的数据,并且把该数据传输到共享内存池中,所述接收模块用于从共享内存中获取要传输的数据或文件,在获取文件以后对于所获取的数据进行识别和重构,所述自调整模块用于调整虚拟机自身的内存的大小配置;
发送模块包括数据填充组件和第一气球驱动触发组件,
所述数据填充组件用于将传输的数据写入到内存页当中,在数据填充过程中,当数据较小时,在内存页中写入数据直到要传输的数据在内存中所占据的比重达到传入的比重参数为止;当要传输的数据的大小比较大时,将要传输的数据进行分割,并用特定的符号标注该碎片的顺序,再将这些数据碎片中的数据填充入内存中;
所述第一气球驱动触发组件用于执行气球驱动触发方法和规则检测方法,
所述气球驱动触发方法用于将已经存在于虚拟机内存中的要传输的数据回收到共享内存池中;
所述规则检测方法用于检测VMM中的气球驱动所使用的内存调整规则;
所述接收模块包括数据识别和接收组件、第二气球驱动触发组件,
所述第二气球驱动触发组件用于获取共享内存池中的包含要传输数据的内存;
所述数据识别和接收组件用于将获取的内存数据转存入文件中,当数据较大时需要按照顺序重构数据。
与现有技术相比,本发明具有如下优点和有益效果:
能够利用共享内存这一普遍存在的物理资源以及气球驱动这个被广泛使用在云平台上的用以调整内存资源的技术,可以被用来当作一个虚拟机之间信息传递的隐秘的方法,在虚拟机之间传输更为精确、没有大小限制的数据或文件,并且不会引起VMM和其他安全工具注意,很好的规避VMM和安全工具的检测和防御,从而采用本发明方法进行云取证时不受云平台和云提供商的限制。本发明无需额外硬件环境,具有普遍适用性。
附图说明
图1为实现本发明的系统架构图;
图2为虚拟机之间传输数据的流程图;
图3为规则检测方法的流程图;
图4为内存转存方法的流程图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
请参阅图1,其中展示了本发明的系统架构图,本发明在IaaS平台上实验,系统的实现涉及三层架构,分别是硬件层、VMM和虚拟机层,硬件层为本方法提供了可共享的物理资源,如:内存等。VMM层是云平台中用来监控和管理其上运行的虚拟机,并为虚拟机提供物理资源的虚拟化。虚拟机层是由云平台上运行的客户虚拟机组成,在我们的方法里指代为用来进行数据传输的两方虚拟机:发送虚拟机和接收虚拟机。这两种虚拟机分别装备有不同的模块,两种虚拟机都具备系统驱动模块、发送模块和接收模块,此外,由于接收虚拟机是完全在控制之下,所以其所特有模块就是自调整模块。
因此,从功能模块上说,本发明分为四个模块,分别是系统驱动模块、发送模块、接收模块和自调整模块。
其中系统驱动模块由外部气球驱动提供,现在该驱动已经被包含在Linux 2.6.36及以后的Linux内核版本中用来进行虚拟机内存的调整,但是在非内核模式下,虚拟机不能够通过该驱动调整自身的内存,因此本发明中的内存调整行为均由VMM中的气球驱动进行统一的控制。发送模块用于创建要进行传输的数据,并且把该数据传输到共享内存池中。接收模块用于从共享内存中获取要传输的数据或文件,在获取文件以后还需要对于所获取的数据进行识别和重构。自调整模块仅仅适用于完全在控制之下的虚拟机中,并且用于通过插入内核模块来调整自身的内存的大小配置。
具体的说,系统驱动模块所使用的是气球驱动,并且由VMM中的气球驱动控制着VMM所管理的其他的虚拟机上的气球驱动来进行内存的调整,来更加充分的利用内存这一共享物理资源。
在一个虚拟机被启动之前有三个配置需要提前进行设置:当前内存、最大内存和最小内存。当前内存是指该虚拟机当前系统中的内存的总的大小;最大内存指的是该虚拟机能够使用的可配置的最大的内存的大小,通过气球驱动调整的内存大小始终不大于该最大内存;最小内存指的是该虚拟机所持有的最小的内存大小,通过气球驱动调整后的内存的大小要始终不小于该最小内存。
在VMM中的驱动调整虚拟机的内存的时候,VMM一般采取一些调整规则自动的调节个虚拟机之间的内存的分配。内存调整规则具体为:VMM周期性的检测所有虚拟机内存的情况,对于每一个虚拟机来说,如果内存的使用率大于一个上限,那么VMM将以一定的比例增大该虚拟机的内存的大小,直到其内存值达到最大内存或内存使用率低于这个上限为止;如果内存的使用率小于一个下限,那么VMM将以一定的比例减小该虚拟机的内存的大小,直到其内存值达到最小内存或内存使用率小于这个下限为止。
发送模块包括数据填充组件和第一气球驱动触发组件。
其中,数据填充组件用于将传输的数据写入到内存页当中。这个组件的输入参数有:(1)地址,表示要传输的数据所在的地址;(2)比重,表示期望要传输的数据想要填充的内存空间的百分比。在数据填充过程中,当数据较小时,在内存页中写入数据直到要传输的数据在内存中所占据的比重达到传入的比重参数为止;当要传输的数据的大小比较大时,将要传输的数据进行分割,并用特定的符号标注该碎片的顺序。紧接着要进行的操作就是,循环的把这些数据碎片中的数据填充入内存中,并且每一个流程只针对一个数据碎片。
通过上述两种方式,无论要传输的数据大小如何,都已被填充到内存中,其后使用程序不断的申请大量的内存空间,该程序不会对于内存中的原始数据造成大规模的破坏。通过这种方法来增大自身的内存压力,以促使VMM增大该虚拟机的内存直到其内存达到最大内存为止。
发送模块中的第一气球驱动触发组件具有两种处理方法:气球驱动触发方法和规则检测方法。
气球驱动触发方法:该方法用于将已经存在于虚拟机内存中的要传输的数据回收到共享内存池当中。为了实现这个目标,需要降低当前虚拟机的内存的使用率,使其低于VMM中的气球驱动调整内存规则中的下限,以促使VMM降低该虚拟机的内存的大小,以达到把包含有要传输数据的内存回收到共享内存池的目的。
规则检测方法:该方法用于检测VMM中的气球驱动所使用的内存调整规则,因为不同的云服务提供商所采取的规则策略是不同的,因此获得其调整策略中的内存使用率的上限和下限,有利于本系统和方法的开展。该方法应该在所有的传输行为进行之前就要开始。
接收模块包括数据识别和接收组件、第二气球驱动触发组件。
其中,第二气球驱动触发组件用于获取共享内存池中的包含要传输数据的内存。该组件中通过简单的调用malloc函数不断的申请内存空间,并且在调用过程中不关闭每一个进程。
接收模块中数据识别和接收组件具有两种处理方法:
对于完全处于控制下的虚拟机来说,需要对于虚拟机的操作系统的内核代码进行修改,例如Linux。在Linux中,需要向物理页分配算法中插入一些代码,来实现对于物理页原数据的转存。通过这种方式,把属于某一特定进程所有的内存空间的原数据转存到文件当中,并且在添加了一个锁来避免死锁情况的出现。
对于不处于完全控制之下的虚拟机来所说,需要利用其他的诸如内存转存工具,例如DD。
在该组件已经获取到内存数据后,需要检测是否包含发送模块所插入的特殊标记,如果有特殊标记,则需要把特殊标记范围内的数据提取出来用以重构传输数据。
采用本发明提供的基于共享内存的云取证证据获取方法传输数据的过程如图2所示,包括以下步骤:
步骤一,在虚拟机被启动前设置其当前内存、最大内存和最小内存。
步骤二,在接收虚拟机中,使用发送模块中的气球驱动触发组件中的规则探测方法来探测云平台中VMM所使用的内存调控规则中的上限和下限。
规则检测进行检测的是一个完全在控制之下的虚拟机,如图3所示,其具体步骤如下:
步骤1:直接启动虚拟机,观察虚拟机的内存的状态,当虚拟机的内存在启动后是不变的,则转到步骤2,否则转到步骤3。
步骤2:当启动后,如果当前的内存大小是该虚拟机的最小内存,那么现在不能获取任何有效数据;如果当前的内存大小并不是该虚拟机的最小内存,则表明当前的内存使用率是处于规则中的上限和下限之间。跳转到步骤6。
步骤3:当启动后,如果当前虚拟机的内存持续减少时,转到步骤4;当前虚拟机的内存持续增加时,则转到步骤5。
步骤4:当虚拟机的内存在持续减少时,则表明刚刚初始化时的内存使用率是低于内存调整规则中的下限的。在等待虚拟机的内存大小变成一个稳定数值的时候,就可以从当前的状态下获取有用的信息。在虚拟机的内存重新稳定后,需要查看当前的内存大小是否是最小内存,当内存大小不是最小内存时,则当前的内存使用率仅仅比内存调整规则中的下限略大,这样也就基本上可以确定规则中的下限;当内存大小是最小内存时,则表明内存调整规则中的下限是大于等于当前内存使用率。
步骤5:当虚拟机的内存在持续增加时,则表明刚刚初始化时的内存使用率是超过内存调整规则中的上限的。在等待虚拟机的内存大小变成一个稳定数值的时候,就可以从当前的状态下获取有用的信息。在虚拟机的内存重新稳定后,需要查看当前的内存大小是否是最大内存,当内存大小不是最大内存时,则当前的内存使用率仅仅比内存调整规则的上限略小,这样也就基本上可以确定规则中的上限;当内存大小是最大内存时,则表明内存调整规则中的上限是小于等于当前内存使用率。
步骤6:如果还没有探测规则中的上限,则进行针对于上限的探测。此时需要对于当前的虚拟机的内存大小进行判断,有以下两种不同的情况:
1)当前的内存的大小等于最大内存时,这意味着当前的虚拟机配置已经不能够支持对于规则中上限的探测,需要关闭虚拟机,增大虚拟机最大内存的配置,然后重新穷的那个虚拟机,跳转到步骤1进行重新探测。
2)当前的内存的大小不等于最大内存时,下面要做的就是持续不断的增加虚拟机的内存使用率。并且在增大内存使用率的同时,密切关注着虚拟机内存总大小的变化。当虚拟机的总的内存大小出现增大的情况的时候,就说明当前的内存的使用率就在规则中的上限的附近,也就是说,已经探测出规则中的上限。
步骤7:如果还没有探测出规则中的下限,则进行针对于下限的探测。此时需要对于虚拟机当前的内存大小进行判断,有以下两种不同的情况:
1)当前的内存的大小等于最小内存时,需要增大内存的使用率使其接近于规则中的上限。当内存的大小不再增大后,需要一点一点的降低内存的使用率,并且与此同时密切关注虚拟机总内存大小的变化。当虚拟机的内存的总大小出现降低的情况时,当前的内存使用率就很接近规则中的最小内存。
2)当前的内存的大小不等于最小内存,需要持续不断的使用自调整模块降低内存使用率。所采取的方式是增大内存大小,并且在增大内存大小的时候需要关注内存接下来的变化。当增大内存后,出现内存大小有突然降低的情况,则意味着已经获得了规则中的下限。如果虚拟机内存的大小增大到最大内存,则说明当前的虚拟机配置已经不能支持对于规则中下限的检测,需要关闭虚拟机,增大最大内存的配置,然后跳转到步骤1进行重新检测。
步骤三:在接收虚拟机中,使用自调整模块降低自身的内存的大小,把部分空闲的内存放到共享内存池中。这一步骤的主要目的是为了确保当前的内存大小不等于虚拟机的最大内存,为紧接着增大虚拟机内存提供调整的空间。
步骤四:在发送虚拟机中,使用发送模块把要传输的数据写入到内存页当中,然后持续不断的申请物理页,来促使VMM增大该虚拟机的内存直到内存大小达到最大内存为止。这一步骤的目的是为了使得在下一步中降低内存使用率更方便。
在将传输的数据写入到内存页当中时,有以下两种情况:
情况1:要传输的数据的大小比较小(一般小于一个物理内存页的大小)。在这种情况下,该模块需要首先标记要传输数据的开始和结束的位置。然后,需要连续不断地调用一个内存写入程序直到要传输的数据在内存中所占据的比重达到传入的比重参数为止,并且在下一次调用时并不会关闭上一个写入程序。
情况2:要传输的数据的大小比较大(一般大于一个物理内存页的大小)。在这种情况下,需要先选择一个特定的大小作为基准大小。然后,会把要传输的数据根据这个基准进行分割,要求分割后的每一个数据碎片的大小都不大于该基准。然后需要标记每一个数据碎片的开始和结束位置,并且为了能够在接收模块更方便的重构数据,还需要用特定的符号标注该碎片的顺序。紧接着要进行的操作就是,循环的把这些数据碎片中的数据填充入内存中,并且每一个流程只针对一个数据碎片。
步骤五:在发送虚拟机中,使用发送模块中的第一气球驱动触发方法释放进程空间来降低内存的使用率,使其低于VMM中的气球驱动调整内存规则中的下限,通过这种方法它促使VMM降低该虚拟机的内存大小,从而把包含有要传递数据的内存回收到共享内存池中。
步骤六:在接收虚拟机中,使用自调整模块把自身的内存大小设置为最大内存来从共享内存池中获取包含要传输数据的内存页。
步骤七:在接收虚拟机中,使用接收模块来获取当前的内存数据,并进行转存,当数据较大时需要按照顺序重构数据:
具体的说,该步骤首先采用第二气球驱动触发组件获取共享内存池中的包含要传输数据的内存,然后由数据识别和接收组件将这些原数据转存到文件当中。
在内存转存时,对于完全处于控制下的虚拟机,如图4所示,采用以下步骤:
步骤1:设置进程锁的值为1。
步骤2:判断触发该流程的进程的名称是否是“dumpFile”,并且进程锁的值是否是1,如果条件满足的话,则跳转到步骤3中,否则跳转到步骤5。
步骤3:设置计数器count的值为0,并且把进程锁的值设置为0,然后获取当前的时间戳生成转存的文件名称。
步骤4:循环的调用vfs_write方法把内存中的值转存到文件当中。
步骤5:把进程锁的值设置为1。
对于不处于完全控制之下的虚拟机来所说,利用其他的诸如内存转存工具。
需要说明的是,数据识别和接收组件在获取内存数据后,需要检测是否包含发送模块所插入的特殊标记,当提取出来的数据不包含顺序标记时表明所传输的数据的大小较小,可以直接进行重构;当包含顺序标记时说明所传输的数据较大,需要等待所有的数据片获取以后,以顺序标记所示的顺序把数据片进行拼接和重构。数据重构的过程可能在转存前也可能在转存后。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (9)

1.基于共享内存的云取证证据获取方法,其特征在于,包括如下步骤:
步骤一,在虚拟机被启动前设置其当前内存、最大内存和最小内存;
步骤二,在接收虚拟机中,使用规则探测方法来探测云平台中VMM所使用的内存调控规则中的上限和下限;
步骤三:在接收虚拟机中,使用自调整模块降低自身的内存的大小,把部分空闲的内存放到共享内存池中;
步骤四:在发送虚拟机中,使用发送模块把要传输的数据写入到内存页当中,然后持续不断的申请物理页,来促使VMM增大该虚拟机的内存直到内存大小达到最大内存为止;
步骤五:在发送虚拟机中,通过释放进程空间来降低内存的使用率,使其低于VMM调整内存规则中的下限,促使VMM降低该虚拟机的内存大小,把包含有要传递数据的内存回收到共享内存池中;
步骤六:在接收虚拟机中,把自身的内存大小设置为最大内存来从共享内存池中获取包含要传输数据的内存页;
步骤七:在接收虚拟机中,使用接收模块来获取当前的内存数据,并进行转存,当数据较大时需要按照顺序重构数据。
2.根据权利要求1所述的基于共享内存的云取证证据获取方法,其特征在于,所述步骤二中规则探测方法包括以下步骤:
直接启动虚拟机,观察虚拟机的内存的状态,当虚拟机内存持续减少时,等待虚拟机的内存大小稳定不变后,从当前的状态下获取规则下限值相关数据;当虚拟机内存持续增加时,等待虚拟机的内存大小稳定不变后,从当前的状态下获取规则上限值相关数据;当规则上限未被探测时,探测规则上限,当规则下限未被探测时,探测规则下限。
3.根据权利要求2所述的基于共享内存的云取证证据获取方法,其特征在于,所述探测上限的方法包括以下步骤:
判断当前的虚拟机的内存大小,当前的内存的大小等于最大内存时,关闭虚拟机,增大虚拟机最大内存的配置,然后重新穷的那个虚拟机后重新执行规则探测方法;
当前的内存的大小不等于最大内存时,持续不断的增加虚拟机的内存使用率,直至虚拟机的总的内存大小出现增大的情况的为止,从而探测出规则中的上限。
4.根据权利要求2所述的基于共享内存的云取证证据获取方法,其特征在于,所述探测下限的方法包括以下步骤:
当前的内存的大小等于最小内存时,增大内存的使用率使其接近于规则中的上限;当内存的大小不再增大后,一点一点的降低内存的使用率,直至虚拟机的内存的总大小出现降低的情况时,从而探测出规则中的下限;
当前的内存的大小不等于最小内存时,持续不断的降低内存使用率,直至出现内存大小有突然降低的情况,从而探测出规则中的下限;
当虚拟机内存的大小增大到最大内存时,关闭虚拟机,增大虚拟机最大内存的配置,然后重新穷的那个虚拟机后重新执行规则探测方法。
5.根据权利要求1所述的基于共享内存的云取证证据获取方法,其特征在于,所述步骤四中在将传输的数据写入到内存页当中时,包括以下步骤:
当数据较小时,在内存页中写入数据直到要传输的数据在内存中所占据的比重达到传入的比重参数为止;当要传输的数据的大小比较大时,将要传输的数据进行分割,并用特定的符号标注碎片的顺序,再将这些数据碎片中的数据填充入内存中。
6.根据权利要求1所述的基于共享内存的云取证证据获取方法,其特征在于:所述步骤七中进行数据转存时,对于完全处于控制下的虚拟机,针对操作系统的内核代码进行修改,实现物理原数据的转存;对于不处于完全控制之下的虚拟机来,利用内存转存工具对数据进行转存。
7.根据权利要求5所述的基于共享内存的云取证证据获取方法,其特征在于,所述步骤七中重构数据时,根据顺序标记进行重构。
8.基于共享内存的云取证证据获取系统,其特征在于:包括系统驱动模块、发送模块、接收模块和自调整模块,所述系统驱动模块、发送模块、接收模块分别安装在接收虚拟机和发送虚拟机中,所述自调整模块安装在接收虚拟机中,所述虚拟机由VMM中的气球驱动控制进行内存的调整;所述接收虚拟机和发送虚拟机通过接收模块和发送模块传输数据;所述系统驱动模块使用气球驱动,所述发送模块用于创建要进行传输的数据,并且把该数据传输到共享内存池中,所述接收模块用于从共享内存中获取要传输的数据或文件,在获取文件以后对于所获取的数据进行识别和重构,所述自调整模块用于调整虚拟机自身的内存的大小配置;
发送模块包括数据填充组件和第一气球驱动触发组件,
所述数据填充组件用于将传输的数据写入到内存页当中,在数据填充过程中,当数据较小时,在内存页中写入数据直到要传输的数据在内存中所占据的比重达到传入的比重参数为止;当要传输的数据的大小比较大时,将要传输的数据进行分割,并用特定的符号标注碎片的顺序,再将这些数据碎片中的数据填充入内存中;
所述第一气球驱动触发组件用于执行气球驱动触发方法和规则检测方法,
所述气球驱动触发方法用于将已经存在于虚拟机内存中的要传输的数据回收到共享内存池中;
所述规则检测方法用于检测VMM中的气球驱动所使用的内存调整规则;
所述接收模块包括数据识别和接收组件、第二气球驱动触发组件,
所述第二气球驱动触发组件用于获取共享内存池中的包含要传输数据的内存;
所述数据识别和接收组件用于将获取的内存数据转存入文件中,当数据较大时需要按照顺序重构数据。
9.根据权利要求8所述的基于共享内存的云取证证据获取系统,其特征在于:所述数据识别和接收组件重构数据时,根据顺序标记进行重构。
CN201510682287.5A 2015-10-21 2015-10-21 基于共享内存的云取证证据获取方法及系统 Active CN105183567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510682287.5A CN105183567B (zh) 2015-10-21 2015-10-21 基于共享内存的云取证证据获取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510682287.5A CN105183567B (zh) 2015-10-21 2015-10-21 基于共享内存的云取证证据获取方法及系统

Publications (2)

Publication Number Publication Date
CN105183567A CN105183567A (zh) 2015-12-23
CN105183567B true CN105183567B (zh) 2018-10-16

Family

ID=54905662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510682287.5A Active CN105183567B (zh) 2015-10-21 2015-10-21 基于共享内存的云取证证据获取方法及系统

Country Status (1)

Country Link
CN (1) CN105183567B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808319B (zh) * 2016-03-07 2020-01-10 华为技术有限公司 一种控制内存气球的方法、装置和系统
CN115099068B (zh) * 2022-07-28 2022-11-04 中国石油大学(华东) 一种基于元宇宙的油藏数值仿真系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739774A (zh) * 2012-05-28 2012-10-17 中国科学院软件研究所 一种云计算环境下的取证方法及系统
CN103051707A (zh) * 2012-12-20 2013-04-17 浪潮集团有限公司 一种基于动态用户行为的云取证方法及系统
CN103902352A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 多核虚拟机系统获取请求数据的方法和装置
CN104182269A (zh) * 2014-08-12 2014-12-03 山东省计算中心(国家超级计算济南中心) 一种kvm虚拟机的物理内存取证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006014554A2 (en) * 2004-07-07 2006-02-09 University Of Maryland Method and system for monitoring system memory integrity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739774A (zh) * 2012-05-28 2012-10-17 中国科学院软件研究所 一种云计算环境下的取证方法及系统
CN103051707A (zh) * 2012-12-20 2013-04-17 浪潮集团有限公司 一种基于动态用户行为的云取证方法及系统
CN103902352A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 多核虚拟机系统获取请求数据的方法和装置
CN104182269A (zh) * 2014-08-12 2014-12-03 山东省计算中心(国家超级计算济南中心) 一种kvm虚拟机的物理内存取证方法

Also Published As

Publication number Publication date
CN105183567A (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
US10268819B2 (en) Techniques for enforcing control flow integrity using binary translation
CN105117645A (zh) 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法
US9449169B2 (en) Block storage virtualization on commodity secure digital cards
US20150212839A1 (en) Tracking transformed memory pages in virtual machine chain migration
CA2674319A1 (en) Methods and systems for solving problems with hard-coded credentials
US9229758B2 (en) Passive monitoring of virtual systems using extensible indexing
US8434073B1 (en) Systems and methods for preventing exploitation of byte sequences that violate compiler-generated alignment
DE112019000594T5 (de) Injizieren von Abfangcode in einen Ausführungspfad eines ein Programm ausführenden Prozesses, um einen Abfangadressbereich zu erzeugen, um möglichen schädlichen Programmcode zu erkennen
US20180232541A1 (en) Techniques for detecting false positive return-oriented programming attacks
Wang et al. A shared memory based cross-VM side channel attacks in IaaS cloud
CN105183567B (zh) 基于共享内存的云取证证据获取方法及系统
US20240362321A1 (en) Systems and methods for interpreter based application cybersecurity
US9772951B2 (en) Preemptive guest merging for virtualization hypervisors
WO2016095687A1 (zh) 虚拟化安全检测方法与系统
US20160092313A1 (en) Application Copy Counting Using Snapshot Backups For Licensing
CN104050396A (zh) 用于保护数字内容的装置和方法
CN108111528A (zh) 一种基于区块链的防钓鱼方法及系统
CN103019865B (zh) 虚拟机监控方法和系统
CN102708195B (zh) 一种表单数据共享方法及装置
CN102088348A (zh) 用于嵌入式平台的手机安全芯片和包括该芯片的防护系统
US9323541B2 (en) Method, apparatus, system, and machine readable storage medium for providing software security
CN107273188B (zh) 一种虚拟机中央处理单元cpu绑定方法及装置
IL266459B1 (en) A system and method for detecting and alerting the exploitation of security loopholes in computer systems
CN103678173B (zh) 缓存失效方法和装置
CN105487898A (zh) 一种提高虚拟机批量开机关机速度的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant