识别虚拟机上进程的方法和装置制造方法及图纸

技术编号:20272046 阅读:27 留言:0更新日期:2019-02-02 03:29
本发明专利技术公开了一种识别虚拟机上进程的方法和装置。所述方法包括:获取虚拟机上操作系统记录的进程和/或内核模块的第一列表信息以及所述虚拟机的内存中运行的进程和/或内核模块的第二列表信息;将所述第一列表信息和所述第二列表信息进行对比,得到对比结果;如果所述对比结果为所述第一列表信息和所述第二列表信息不同,则确定所述虚拟机上存在有rootkit进程。

【技术实现步骤摘要】
识别虚拟机上进程的方法和装置
本专利技术涉及信息处理领域,尤指一种识别虚拟机上进程的方法和装置。
技术介绍
云计算(CloudComputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。云计算能够提供强大服务的原因之一要归功于虚拟化技术的发展。虚拟化技术为云计算提供高资源利用率、低能耗、动态资源调度等等优点。在虚拟化技术中,每个虚拟机作为一个进程运行在宿主机之上,宿主机统一对虚拟机进行资源的调度和管理。宿主机以及虚拟化软件的安全稳定运行是云计算能够提供强大服务的基础,所以保证宿运行的软件是可信任的正常的软件。运行在宿主机之上的虚拟机,作为宿主机的一个进程,可以通过网络相互通信,或者,作为进程,使用进程间通信,如共享内存,或者,使用添加虚拟设备,通过虚拟设备和unix套接字通信。在云平台兴起之前,所有的rootkit检测都是针对本机的检测,需要在系统中运行程序检测,这就出现了两个弊端,一是检测rootkit工具可能已经被之前植入的rootkit程序屏蔽,无法获取最高权限,或者最完整的数据,另外一个是需要在每个系统上安装工具并检测,这样的检测费时费力。因此,如何高效的识别出虚拟机上rootkit进程是亟待解决的问题。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种识别虚拟机上进程的方法和装置,能够高效的识别出虚拟机上的rootkit进程。为了达到本专利技术目的,本专利技术提供了一种识别虚拟机上进程的方法,包括:获取虚拟机上操作系统记录的进程和/或内核模块的第一列表信息以及所述虚拟机的内存中运行的进程和/或内核模块的第二列表信息;将所述第一列表信息和所述第二列表信息进行对比,得到对比结果;如果所述对比结果为所述第一列表信息和所述第二列表信息不同,则确定所述虚拟机上存在有rootkit进程。在一个示例性实施例中,所述第一列表信息和所述第二列表信息包括进程和/或内核模块的名称和系统调用地址;所述将所述第一列表信息和所述第二列表信息进行对比,得到对比结果,包括:将所述第一列表信息和所述第二列表信息中的进程的名称信息进行对比,如果两个列表信息中的名称信息不同,则确定对比结果为所述第一列表信息和所述第二列表信息不同;如果两个列表信息中的名称信息相同,则对两个列表信息中相同名称信息对应的地址信息进行对比,如果两个列表信息中相同名称信息对应的地址信息不同,则确定对比结果为所述第一列表信息和所述第二列表信息不同。在一个示例性实施例中,所述第一列表信息是通过如下方式得到的,包括:获取虚拟机内核系统的系统文件;按照所述系统文件中进程和/或内核模块对应的字符,确定所述虚拟机操作系统中显示的进程和/或内核模块的名称信息以及系统调用地址。在一个示例性实施例中,所述第二列表信息是通过如下方式得到的,包括:获取虚拟机内存管理文件中进程和/或内核模块的代码信息;按照所述代码信息中名称和地址的编码规则,确定所述内存中运行的进程和/或内核模块的名称信息和系统调用地址。在一个示例性实施例中,所述获取虚拟机内存管理文件中进程和/或内核模块的代码信息,包括:获取所述第一列表信息中的进程和/或内核模块的名称信息;在所述内存管理文件中,以所述第一列表信息中的进程和/或内核模块的名称信息为关键字执行查找操作,得到包括所述关键字的代码段;按照所述内存管理文件的编码规则,确定所述内存管理文件中包括所述代码段的完整的编码结构体,作为虚拟机内存管理文件中进程和/或内核模块的代码信息。为了达到本专利技术目的,本专利技术提供了一种识别虚拟机上进程的装置,包括:获取模块,用于获取虚拟机上操作系统记录的进程和/或内核模块的第一列表信息以及所述虚拟机的内存中运行的进程和/或内核模块的第二列表信息;对比模块,用于将所述第一列表信息和所述第二列表信息进行对比,得到对比结果;确定模块,用于如果所述对比结果为所述第一列表信息和所述第二列表信息不同,则确定所述虚拟机上存在有rootkit进程。在一个示例性实施例中,所述获取模块获取的所述第一列表信息和所述第二列表信息包括进程和/或内核模块的名称和系统调用地址;所述对比模块包括:第一对比单元,用于将所述第一列表信息和所述第二列表信息中的进程的名称信息进行对比;第一确定单元,用于如果两个列表信息中的名称信息不同,则确定对比结果为所述第一列表信息和所述第二列表信息不同;第二对比单元,用于如果两个列表信息中的名称信息相同,则对两个列表信息中相同名称信息对应的地址信息进行对比;第二确定单元,用于如果两个列表信息中相同名称信息对应的地址信息不同,则确定对比结果为所述第一列表信息和所述第二列表信息不同。在一个示例性实施例中,所述获取模块包括:第一获取单元,用于获取虚拟机内核系统的系统文件;第三确定单元,用于按照所述系统文件中进程和/或内核模块对应的字符,确定所述虚拟机操作系统中显示的进程和/或内核模块的名称信息以及系统调用地址。在一个示例性实施例中,所述获取模块包括:第二获取单元,用于获取虚拟机内存管理文件中进程和/或内核模块的代码信息;第四确定单元,用于按照所述代码信息中名称和地址的编码规则,确定所述内存中运行的进程和/或内核模块的名称信息和系统调用地址。在一个示例性实施例中,所述第二获取单元包括:获取子单元,用于获取所述第一列表信息中的进程和/或内核模块的名称信息;查找子单元,用于在所述内存管理文件中,以所述第一列表信息中的进程和/或内核模块的名称信息为关键字执行查找操作,得到包括所述关键字的代码段;确定子单元,用于按照所述内存管理文件的编码规则,确定所述内存管理文件中包括所述代码段的完整的编码结构体,作为虚拟机内存管理文件中进程和/或内核模块的代码信息。本专利技术提供的实施例,获取虚拟机上操作系统记录的进程和/或内核模块的第一列表信息以及所述虚拟机的内存中运行的进程和/或内核模块的第二列表信息,再将所述第一列表信息和所述第二列表信息进行对比,得到对比结果,如果所述对比结果为所述第一列表信息和所述第二列表信息不同,则确定所述虚拟机上存在有rootkit进程,实现通过列表信息对比识别出rootkit进程的目的,达到高效的识别出虚拟机上的rootkit进程的目的。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术提供的识别虚拟机上进程的方法的流程图;图2为本专利技术提供的识别虚拟机上进程的方法的流程图;图3为本专利技术提供的识别虚拟机上进程的装置的结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明本文档来自技高网
...

【技术保护点】
1.一种识别虚拟机上进程的方法,其特征在于,包括:获取虚拟机上操作系统记录的进程和/或内核模块的第一列表信息以及所述虚拟机的内存中运行的进程和/或内核模块的第二列表信息;将所述第一列表信息和所述第二列表信息进行对比,得到对比结果;如果所述对比结果为所述第一列表信息和所述第二列表信息不同,则确定所述虚拟机上存在有rootkit进程。

【技术特征摘要】
1.一种识别虚拟机上进程的方法,其特征在于,包括:获取虚拟机上操作系统记录的进程和/或内核模块的第一列表信息以及所述虚拟机的内存中运行的进程和/或内核模块的第二列表信息;将所述第一列表信息和所述第二列表信息进行对比,得到对比结果;如果所述对比结果为所述第一列表信息和所述第二列表信息不同,则确定所述虚拟机上存在有rootkit进程。2.根据权利要求1所述的方法,其特征在于,所述第一列表信息和所述第二列表信息包括进程和/或内核模块的名称和系统调用地址;所述将所述第一列表信息和所述第二列表信息进行对比,得到对比结果,包括:将所述第一列表信息和所述第二列表信息中的进程的名称信息进行对比,如果两个列表信息中的名称信息不同,则确定对比结果为所述第一列表信息和所述第二列表信息不同;如果两个列表信息中的名称信息相同,则对两个列表信息中相同名称信息对应的地址信息进行对比,如果两个列表信息中相同名称信息对应的地址信息不同,则确定对比结果为所述第一列表信息和所述第二列表信息不同。3.根据权利要求1或2所述的方法,其特征在于,所述第一列表信息是通过如下方式得到的,包括:获取虚拟机内核系统的系统文件;按照所述系统文件中进程和/或内核模块对应的字符,确定所述虚拟机操作系统中显示的进程和/或内核模块的名称信息以及系统调用地址。4.根据权利要求1或2所述的方法,其特征在于,所述第二列表信息是通过如下方式得到的,包括:获取虚拟机内存管理文件中进程和/或内核模块的代码信息;按照所述代码信息中名称和地址的编码规则,确定所述内存中运行的进程和/或内核模块的名称信息和系统调用地址。5.根据权利要求4所述的方法,其特征在于,所述获取虚拟机内存管理文件中进程和/或内核模块的代码信息,包括:获取所述第一列表信息中的进程和/或内核模块的名称信息;在所述内存管理文件中,以所述第一列表信息中的进程和/或内核模块的名称信息为关键字执行查找操作,得到包括所述关键字的代码段;按照所述内存管理文件的编码规则,确定所述内存管理文件中包括所述代码段的完整的编码结构体,作为虚拟机内存管理文件中进程和/或内核模块的代码信息。6.一种识别虚拟机上进程的装置,其特征在于,包括:获取...

【专利技术属性】
技术研发人员:吕琦
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1