CN102521537B - 基于虚拟机监控器的隐藏进程检测方法和装置 - Google Patents

基于虚拟机监控器的隐藏进程检测方法和装置 Download PDF

Info

Publication number
CN102521537B
CN102521537B CN201110401702.7A CN201110401702A CN102521537B CN 102521537 B CN102521537 B CN 102521537B CN 201110401702 A CN201110401702 A CN 201110401702A CN 102521537 B CN102521537 B CN 102521537B
Authority
CN
China
Prior art keywords
virtual machine
hidden
monitor
network
kernel
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.)
Expired - Fee Related
Application number
CN201110401702.7A
Other languages
English (en)
Other versions
CN102521537A (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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN201110401702.7A priority Critical patent/CN102521537B/zh
Publication of CN102521537A publication Critical patent/CN102521537A/zh
Application granted granted Critical
Publication of CN102521537B publication Critical patent/CN102521537B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于虚拟机监控器的隐藏进程检测方法和装置,该方法包括:分别获得用户态、内核态以及虚拟机监控器中的进程信息;比较所述用户态中的进程信息与所述内核态中的进程信息,获得用户态中的隐藏进程;比较所述内核态中的进程信息与所述虚拟机监控器中的进程信息,获得内核态中的隐藏进程。该装置包括:获得模块、第一比较模块和第二比较模块。本发明提供的方案实现了多种视图的隐藏进程检测及识别技术,为虚拟机提供更好的安全保障。

Description

基于虚拟机监控器的隐藏进程检测方法和装置
技术领域
本发明涉及虚拟机技术,尤其涉及一种基于虚拟机监控器(VirtualMachine Monitor,简称为:VMM)的隐藏进程检测方法和装置,属于计算机技术领域。
背景技术
虚拟化技术的发展促进了虚拟机技术的出现。通过虚拟硬件来实现虚拟机,将一台物理计算机***虚拟化为一台或多台虚拟计算机***,每个虚拟计算机***都拥有自己的虚拟硬件(如CPU、内存和设备等)。虚拟机的各种优点促使了虚拟计算环境的发展。当然,作为计算环境的核心,虚拟机的安全性必须要得到更好的保证,这也成为当前虚拟计算环境下所要研究的重要问题。此外,虚拟机技术的发展不仅促进虚拟计算环境的发展,其本身的一些优势也为安全技术的发展带来了新的机遇。虚拟机监控器处于客户机以及客户机***的底层,具有更高的特权级。因此,通过虚拟机监控器可以更容易解决安全的一些问题。
在虚拟机***会出现的各种安全问题中,***中隐藏对象带来日益严重的安全问题。所谓“隐藏”,指的是“用户不可见”。有这样一种恶意软件,常被称为“Rootkit(内核级后门/木马)”,他们运行在***内核态,可以自隐藏自己的进程、服务、日志以及网络连接等等,并能够对正常的用户程序进行隐藏。于是,如何检测到***中的隐藏对象成为维护***内部安全的重要内容,也是虚拟计算环境下保障虚拟机内部安全的重要内容。
目前关于如何检测***内隐藏的各种对象,主要有三种方法:一种基于***内部的研究和实现,一种基于辅助的硬件,还有一种基于虚拟机控制器的一些安全机制。基于***级的隐藏对象检测机制存在篡改、禁用、绕过的危险,而基于辅助硬件的,需要专门硬件的支持,增加了成本,且实现功能不完整。基于VMM的安全技术已经有了很大的发展,而且安全性在增加,但是也会分别出现一些不足:有些是粗粒度的检测;有些是利用内核数据结构进行语义转换,在没有验证的情况下,会漏掉一些信息;有些为了实现更高安全性,牺牲掉了一些完整的语义信息;而更多的研究放在了研究进程方面,关于文件、网络连接的研究比较少,如果存在只终止了隐藏的进程而忽略了遗留的隐藏文件,或者没有关注隐藏的网络连接,这些连接很有可能是非隐藏的进程创建的,等等一些情况下,导致检测的范围受限。除外,一些不支持开源的商用***的研究使用范围也有一定限制。
发明内容
本发明的第一个方面是提供一种基于虚拟机监控器的隐藏进程检测方法,包括:
分别获得用户态、内核态以及虚拟机监控器中的进程信息;
比较所述用户态中的进程信息与所述内核态中的进程信息,获得用户态中的隐藏进程;
比较所述内核态中的进程信息与所述虚拟机监控器中的进程信息,获得内核态中的隐藏进程。
本发明的第二个方面是提供一种基于虚拟机监控器的隐藏进程检测方法,包括:
比较虚拟机内部用户态程序维护的网络连接信息与虚拟机监控器维护的网络连接信息,获得隐藏的网络连接;
利用虚拟机监控器获取进程与端口的映射信息,根据所述隐藏的网络连接的网络端口,获得隐藏进程。
本发明的第二个方面是提供一种基于虚拟机监控器的隐藏进程检测装置,包括:
获得模块,用于分别获得用户态、内核态以及虚拟机监控器中的进程信息;
第一比较模块,用于比较所述用户态中的进程信息与所述内核态中的进程信息,获得用户态中的隐藏进程;
第二比较模块,用于比较所述内核态中的进程信息与所述虚拟机监控器中的进程信息,获得内核态中的隐藏进程。
本发明一个方面的技术效果是:在利用硬件虚拟化的技术,并且作为Linux***可加载的模块,在虚拟机监控器KVM中进行修改,不影响虚拟机监控器的正常运行以及产生可接受的额外性能开销,实现了多种视图的隐藏进程检测及识别技术,并通过检测隐藏的网络连接进一步发现可疑的进程,实现多角度、全方位的进程检测,为虚拟机提供更高的安全性。
附图说明
图1为本发明一个实施例提供的基于虚拟机监控器的隐藏进程检测方法流程图;
图2为本发明实施例提供的内核态进程列表的获取流程图;
图3为本发明实施例提供的VMM进程列表的获取流程图;
图4为本发明实施例提供的多视图示意图;
图5为本发明实施例提供的虚拟机监控器的隐藏进程检测方法流程图;
图6为本发明实施例提供的基于虚拟机监控器的隐藏进程检测装置结构示意图;
图7为本发明实施例提供的基于虚拟机监控器的隐藏进程检测装置结构示意图。
具体实施方式
针对目前隐藏进程检测机制中的缺陷和不足,结合虚拟机环境的特点,本发明提出了一种基于虚拟机监控器的多视图隐藏进程检测方法和装置,在利用硬件虚拟化的技术,并且作为(如Linux)***可加载的模块,在虚拟机监控器KVM中进行修改,不影响虚拟机监控器的正常运行以及产生可接受的额外性能开销,实现了多种视图的隐藏进程检测,并通过检测隐藏的网络连接进一步发现可疑的进程,实现多角度、全方位的进程检测,为虚拟机提供更高的安全性。
图1为本发明一个实施例提供的基于虚拟机监控器的隐藏进程检测方法流程图,如图1所示,该方法包括:
步骤101、分别获得用户态(User-level)、内核态(Kernel-level)以及虚拟机监控器(VMM-level)下的进程信息;
其中可以包括:
(1)从***提供的用户态的应用程序编程接口API获得User-level的进程列表及相应的进程信息;
(2)通过截获***调用来维护一个Kernel-level的进程列表及相应的进程信息;
具体的,Kernel-level的进程列表可以但不限于通过如下方式进行获取:
Kernel-level进程列表的获取主要通过截获***调用来实现。当进程创建和执行的时候都需要通过调用***调用来完成操作,这个时候,快速***调用指令(SYSENTER指令)将会被执行,***就会从用户态转入内核态,并且进行内核初始化操作,将相应的值载入到相关的寄存器中,比如执行最高权限(Ring 0)代码的代码选择符指定寄存器(SYSENTER_CS_MSR)保存内核代码段的选择符,执行最高权限Ring 0代码的起始地址指定寄存器(SYSENTER_EIP_MSR)保存内核入口点的线性地址,执行Ring 0代码的栈指针指定寄存器(SYSENTER_ESP_MSR)保存内核堆栈指针。于是,可以将一个不存在的地址赋值给SYSENTER_EIP_MSR,使得在发生***调用的时候产生缺页错误(PageFault)的错误异常,迫使虚拟机将CPU的控制权交换给虚拟机监控器。这个时候,虚拟机监控器得到了CPU控制权,并且可以通过读取EAX寄存器获取当前***调用号,通过该***调用号判断当前***调用类型(进程的执行execve、退出exit_group),来对Kernel-level的进程列表进行添加或者删除成员。内核态进程列表的获取流程图可以如图2所示。步骤201、设置虚拟机的SYSENTER_EIP_MSR为一个不可用的地址0xffffffff;步骤202、由上述地址,导致虚拟机发生异常,CPU控制权被KVM掌握;步骤203、判断上述异常是否为缺页错误,如果是转入步骤204,如果不是继续步骤201;步骤204、截获虚拟机当前***调用以及进程的信息;步骤205、从虚拟机当前***调用的信息中获取***调用号;步骤206、判断***调用号;***调用号为11转入步骤207,***调用号为252,转入步骤211;步骤207、如果***调用号为11则转入步骤208;步骤208、在Kernel-level的进程列表中查询当前进程信息;步骤209、判断Kernel-level视图是否有当前进程信息,如有,流程结束;没有,转入步骤210;步骤210、将该进程信息加入Kernel-level视图,则流程结束;步骤211、该***调用号为252,转入步骤212;步骤212、将该进程从Kernel-level视图中删除,流程结束。
在获得了进程列表之后,还需要进行进程语义信息的获取。进程语义信息的获取主要是通过读取内核为进程维护的数据结构进程描述符task_struct中的信息。而进程描述符task_struct的获取是依据进程内核堆栈地址与进程描述符地址之间的映射关系获取的。在Linux中,内核分配进程任务结构空间时,是以8KB为单位来分配的,包含两个页面空间,一个是进程信息结构体(thread_info结构体)存储空间,一个是进程用于***空间堆栈的存储空间。其中thread_info结构体存储了进程描述符task_struct,并且位于该地址空间的起始地址,而堆栈空间则从内存空间的高地址向低地址增长。由于进程内核空间起始地址是8KB的整数倍,即213,则task_struct的地址与进程堆栈地址的前19位相同,在发生进程上下午切换的时候,当前CPU的堆栈指针寄存器(ESP寄存器)存放的便是切换后的进程的内核堆栈,将此值与0xffffe000(十六进制)按位相与便得到task_struct结构的地址。同时,考虑到内存虚拟化,从内存中读取进程描述符的时候要考虑两次地址转换的机制,即客户机虚拟机地址(GVA,Guest Virtual Address)->客户机物理地址(GPA,Guest Physical Address)->宿主机物理地址(HPA,Host Physical Address)的转换。
(3)获得虚拟机监控器维护的VMM-level的进程列表。
具体的,VMM-level的进程列表可以但不限于通过如下方式进行获取:
在虚拟机环境下,处理器与***进程之间是存在逻辑的一致性的,于是尽管具体语义的***进程对于虚拟机监控器是不可见的,但是进程所用的地址空间是对虚拟机监控器是可见的。于是虚拟机监控器想要维护进程列表便可以通过截获进程的CPU事件,比如进程的上下文切换。在x86架构下,CPU的第四个控制寄存器(CR3寄存器)保存着进程地址空间下页目录表的基地址,一旦一个新的进程使用CPU,其相应的页目录表基地址便被写入到CR3中,同时会将其内核堆栈地址写入ESP寄存器。于是,在***虚拟化软件KVM的CR3寄存器控制操作中设置截获点***函数来判断是否有新的进程启动。关于进程的退出,采用固定时间间隔依据内核进程链表的进程状态对进程判断是否退出,并作出相应的操作。VMM进程列表的获取流程图可以如图3所示。步骤301、等待CPU发生寄存器更新事件;步骤302、CPU发生寄存器事件,KVM获得CPU控制权,KVM判断当前寄存器事件;步骤303、若当前寄存器是CR3寄存器发生变化,则进行步骤304;否则,从步骤301开始。步骤304、进程函数准备执行;步骤305、获取当前进程的信息;步骤306、根据获取的进程信息查询VMM-level进程列表;步骤307、判断步骤306的结果,如果存在该进程,则转入步骤309;否则,转入步骤308;步骤308、将该进程信息添加进VMM-level进程列表;步骤309、查看VMM-level列表更新时间标志,判断距离上次更新时间是否超过2秒;如果超过,则进行步骤310,若无,流程结束;步骤310、对VMM-level的列表进行更新操作准备;步骤311、从VMM-level的列表中取下一个进程,判断是否还有进程,如果有,进行步骤312,若无,流程退出;步骤312、查询内核维护的进程数据结构双向链表;步骤313、判断该进程是否存在双向链表中,如果存在,则进行步骤311;否则,进行步骤314;步骤314、将该进程从VMM-level列表中删除,转入步骤311。
在获得了进程列表之后,还包括:进程语义信息获取。如上述(2)中的描述,此处不做赘述。
步骤102、比较所述User-level的进程信息以及所述Kernel-level的进程信息,获得User-level中的隐藏进程;
步骤103、比较所述Kernel-level的进程信息以及所述VMM-level的进程信息,获得Kernel-level中的隐藏进程。
其中,本实施例并不限制步骤102与步骤103之间的执行顺序,可以先执行步骤102、后执行步骤103,也可以先执行步骤103、后执行步骤102,或者两个步骤同时进行。
下面具体对各步骤中的技术进行详细的介绍。
首先,多视图验证技术是通过多个角度对***对象进行观察得出不同的视图,并且这些视图之间没有任何的相关性。在整个***的层次中,越高的层次获得的视图可信度越低。按照对***的攻击的难易,一个隐藏的***对象更可能出现在较低层次的视图中。当一个***对象出现在较高可信视图中而未出现在较低可信视图中,那么该隐藏对象便可被检测发现。
而对于进程来说,最不可信的视图,从***提供的用户态的应用程序编程API函数(Application Programming Interface)便可获得,比如利用***查看命令ps和top来维护一个User-level的进程列表。同时,如果创建或者执行进程,一般是需要在用户态调用库函数以及***调用来实现的,所以,通过截获***调用便可以发现一个进程是否创建、活动或者销毁,因此,如图4所示的多视图示意图,可以通过截获***调用来维护一个Kernel-level的进程列表。通过这个Kernel-level列表和刚才得到的User-level列表对比,便可以得到隐藏的进程,并且可知该进程隐藏于用户态,因为其对于用户态的API是不可见的,但是内核态的***库函数是可以截获得到的。可是***调用是可以绕过的,比如在内核内部通过直接执行内核函数或者修改***调用表等等,以及通过可加载内核模块程序(LKM,Loadable Kernel Module)实现的rootkit,隐藏在内核态里,不仅不会被用户态的程序发现,也不会被***调用所发现,于是获取最可信视图便成为必需。在虚拟机环境下,虚拟机监控器对虚拟机拥有最高权限,虚拟机的任何活动权限都不可能越过虚拟机监控器的级别,于是,从虚拟机监控器维护一个真实VMM-level进程列表便成为可能,又如图4所示,通过这个列表与Kernel-level列表对比,便可以发现Kernel-level列表所不能发现的隐藏于内核态的rootkit。
该发明满足如下要求:1)对客户机透明。对于虚拟机来说,整个检测的活动是透明的,检测行为不会影响正常虚拟机的运行状态,并且,由于其透明性,使得虚拟机内部的恶意软件也对检测***的存在不可知,更加提高了检测***的安全性与准确性。2)跨越语义,用户交互。从虚拟机的外部实现检测功能,但是***仍旧需要为用户提供清晰地语义和友好的界面,以便用户能够随时掌握自己虚拟机内部的状态和信息。同时,良好的语义为识别隐藏进程提供了便利。3)视图的更加完整,没有遗漏。通过多视图检测机制,尤其是通过Kernel-level以及隐藏网络端口提供的进程信息,使得对于虚拟机内部隐藏进程的检测更加完善。同时,能够对隐藏进程的类型更细化的区分,比如,进程是隐藏于用户态还是内核态,甚至对于具有隐藏行为(如隐藏网络连接)的可疑进程进行探测和发掘,提高检测级别,进一步增强虚拟机的安全性。4)主动检测。由于一些对于隐藏进程的扫描是隔时的甚至被动的,也可能在不恰当的时间间隔内,隐藏进程巧妙躲避检测,所以,对于进程一旦创建甚至运行便进行捕捉检测是非常必要的。5)功能易用性。根据当前主机环境的需求,本***应该是动态可加载可卸除的,不影响主机整体环境。
图5为本发明实施例提供的虚拟机监控器的隐藏进程检测方法流程图,如图5所示,该方法包括:
步骤501、比较虚拟机内部用户态程序维护的网络连接信息(视图)与虚拟机监控器维护的网络连接信息相比较,获得隐藏的网络连接;
步骤502、利用虚拟机监控器获取进程与端口的映射信息,根据所述隐藏的网络连接的端口,获得隐藏进程。
其中,网络端口截获,依据虚拟机监控器KVM对于虚拟机的网卡是可见的,并且可以在宿主机的用户态便执行抓包截获的操作,本发明实施例主要就是通过这样的方式实现的。特别的,本文中虚拟机的网络配置是以网桥形式配置的,每一个虚拟机都有对应的测试访问端口(tap端口,Test AccessPort)来进行数据包的接受和发送。宿主机对于tap端口是可见的,并且可以通过对tap端口的抓包来进行网络状态的控制。网络端口截获模块便对tap端口进行侦听,一旦有数据包发送便可以被获得。
进程与端口映射关系可以通过如下方式获取:在Linux中,进程建立网络连接是通过创建套接字(socket)文件实现的,当进程进行网络通信的时候,就打开相应的socket文件。Linux内核为每一个进程都维护了一个打开文件的列表。通过这个列表又可以去查询每个文件具体对应的目录,依据这个目录便可以搜索获得Linux文件***上真实的索引文件。在Linux文件***中,为每一个真实文件都维护了一个文件索引节点(inode)的索引数据结构,并且设置相应的模式属性字段(i_mode)来表示,通过内置的socket判断宏(S_ISSOCK())可以来判断i_mode是否是socket类型。当进程的一个文件类型结构(file)指针指向socket文件时,会讲该文件对应的socket结构体地址赋值给文件的私有数据属性(private_data属性),通过前面的判断,便可以得到socket结构体。在Linux的网络协议栈中,不会将具体的地址信息存放在socket结构中,socket结构是基于虚拟文件***创建出来,不保存具体的网络连接信息,具体的网络协议信息存放在扩展的socket数据结构(sock数据结构)中,但是它属于网络层的socket,更详细的网络域(INET域)信息,例如网络地址(IP地址),端口等存放在inet_sock数据结构。于是通过这样的分析,便可以找到进程与端口的映射关系。
具体的,Rootkits的目的主要是通过网络连接来控制目的主机,于是隐藏掉相关的网络连接也是其重要的攻击手段。通过检测发现隐藏的网络端口,并且通过端口与进程的对应关系,从而可以进一步发现可疑的进程,防止了rootkit利用看似正常的用户进程进行恶意的网络行为,比如远程访问命令(ssh,telnet)等。网络连接的隐藏是用户态程序(例如网络连接查看程序netstat程序)无法发现的,但是网络活动的存在是可以通过截获网卡网络活动发现的。在虚拟机内部实现,则存在被绕过的可能,但是虚拟机监控器由于对虚拟网卡是可见的,于是虚拟机监控器自然也对于该网卡上的网络活动具有全部视图获取的能力。从而,通过虚拟机内部用户态程序(例如netstat)维护的视图与虚拟机监控器维护的网络连接列表所对比,便可以发现隐藏的网络连接。发现了隐藏端口之后,利用虚拟机监控器获取进程与端口的映射信息,找到可以进程。
在上述实施方式的基础上,该方法还可以包括:
获取从客户机内得到的进程列表和网络视图,获取从VMM得到的两个进程列表和进程与端口对应信息,获取从网络端口模块得到的网络视图,对得到的网络视图进行处理加上进程内容,对进程的三个视图进行整理,对网络的两个视图进行整理。由于可以采用设备的方式实现,宿主机内核与用户态的交互主要通过设备***设备控制函数(ioctl)来实现,而其他的用户态的数据传送主要通过字符串以及缓存。
持久化处理位于宿主机用户态,主要实现的功能就是将从得到的各个视图信息存储到数据库中,例如Mysql数据库。对于进程列表和网络连接视图,需要存储的每条信息已经过整理。
用户界面的展示要实现的功能是动态的将本发明的检测的结果展示给用户。本实施例采用基于浏览器/服务器(B/S)的模式进行web客户端的展示,并且利用基于Ruby语言的网络框架Rails(Ruby On Rails)的敏捷开发方式,紧密与Mysql数据库进行结合,动态捕获数据库的变更,动态的页面显示,即一旦有进程创建便会有页面更新。
图6为本发明实施例提供的基于虚拟机监控器的隐藏进程检测装置结构示意图,如图6所示,该装置可以包括:获得模块601、第一比较模块602和第二比较模块603。其中,获得模块601用于分别获得用户态、内核态以及虚拟机监控器中的进程信息,第一比较模块602用于比较用户态中的进程信息与内核态中的进程信息,获得用户态中的隐藏进程,第二比较模块603用于比较内核态中的进程信息与虚拟机监控器中的进程信息,获得内核态中的隐藏进程。
一种实施方式下,进程信息包括进程列表和进程的寓意信息,则获得模块601可以包括:第一单元、第二单元、第三单元和第四单元。其中,第一单元用于从***提供的用户态的API获得用户态的进程列表,第二单元用于通过截获***调用获得内核态的进程列表,第三单元用于通过截获进程的CPU事件获得虚拟机监控器的进程列表,第四单元用于通过读取内核为进程维护的数据结构描述符中的信息获得各进程列表中的各进程的语义信息。
在上述实施方式的基础上,第二单元可以包括:第一子单元、第二子单元和第三子单元。其中,第一子单元用于如果发生***调用,则获得当前发生的***调用号,第二子单元用于根据当前发生的***调用号判定当前发生的***调用类型,第三子单元用于如果当前发生的***调用类型为进程的执行,则将该进程加入内核态的进程列表,如果当前发生的***调用类型为进程的退出,则将该进程从内核态的进程列表中删除。
在上述实施方式的基础上,第三单元用于:如果发生进程的CPU事件,则将该进程加入到虚拟机监控器的进程列表,根据预设时间间隔内内核进程链表的进程状态判断进程是否退出,如果退出,则将该进程从虚拟机监控器的进程中删除。
图7为本发明实施例提供的基于虚拟机监控器的隐藏进程检测装置结构示意图,如图7所示,该装置可以包括:第一模块701和第二模块702。其中,第一模块701用于比较虚拟机内部用户态程序维护的网络连接信息与虚拟机监控器维护的网络连接信息,获得隐藏的网络连接。第二模块702用于利用虚拟机监控器获取进程与端口的映射信息,根据隐藏的网络连接的网络端口,获得隐藏进程。
一种实施方式下,该第二模块702中包括处理单元,用于根据进程的文件指针所指向套接字文件,得到套接字结构体,该套接字结构体的inet_sock数据结构中保存有端口,从而获得进程与端口的映射信息。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读存储器(ROM)、随机存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (1)

1.一种基于虚拟机监控器的隐藏进程检测方法,其特征在于,包括:
分别获得用户态、内核态以及虚拟机监控器维护的网络连接信息;
比较虚拟机内部用户态程序维护的网络连接信息与虚拟机内核态程序维护的网络连接信息,获得用户态中的隐藏的网络连接;
比较所述虚拟机内核态程序维护的网络连接信息与所述虚拟机监控器维护的网络连接信息,获得内核态中的隐藏的网络连接;
根据所述用户态中的隐藏的网络连接和内核态中的隐藏的网络连接的端口,以及虚拟机监控器获取进程与端口的映射信息,分别获得用户态中的隐藏进程以及内核态中的隐藏进程;
其中,所述虚拟机通过对应的测试访问端口对数据包进行接收和发送。
CN201110401702.7A 2011-12-06 2011-12-06 基于虚拟机监控器的隐藏进程检测方法和装置 Expired - Fee Related CN102521537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110401702.7A CN102521537B (zh) 2011-12-06 2011-12-06 基于虚拟机监控器的隐藏进程检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110401702.7A CN102521537B (zh) 2011-12-06 2011-12-06 基于虚拟机监控器的隐藏进程检测方法和装置

Publications (2)

Publication Number Publication Date
CN102521537A CN102521537A (zh) 2012-06-27
CN102521537B true CN102521537B (zh) 2015-05-20

Family

ID=46292448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110401702.7A Expired - Fee Related CN102521537B (zh) 2011-12-06 2011-12-06 基于虚拟机监控器的隐藏进程检测方法和装置

Country Status (1)

Country Link
CN (1) CN102521537B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10171319B2 (en) 2015-06-05 2019-01-01 Cisco Technology, Inc. Technologies for annotating process and user information for network flows

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880701B (zh) * 2012-09-24 2016-06-29 杭州安恒信息技术有限公司 数据库内核入侵隐藏对象的探测方法及***
CN102867062B (zh) * 2012-09-24 2016-01-20 杭州安恒信息技术有限公司 数据库内核入侵隐藏用户的探测方法及***
CN103065084B (zh) * 2012-12-27 2015-10-21 武汉大学 在虚拟机外部机进行的windows隐藏进程检测方法
CN103118100A (zh) * 2013-01-25 2013-05-22 武汉大学 一种提高虚拟机应用的可用性的保障方法及***
US9286047B1 (en) 2013-02-13 2016-03-15 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment
CN103400074B (zh) * 2013-07-09 2016-08-24 青岛海信传媒网络技术有限公司 一种隐藏进程的检测方法及装置
CN103605557A (zh) * 2013-10-25 2014-02-26 普华基础软件股份有限公司 一种虚拟器件管理***及管理方法
CN103761175B (zh) * 2013-11-25 2016-08-17 中国科学院计算技术研究所 一种Linux***下程序执行路径监测***及其方法
CN103886259B (zh) * 2014-03-19 2016-09-21 四川大学 基于Xen虚拟化环境的内核级rootkit检测和处理方法
CN103996004B (zh) * 2014-06-12 2018-09-04 浪潮电子信息产业股份有限公司 一种基于虚拟化的高可用***设计方法
CN104715201B (zh) * 2015-03-31 2018-02-27 北京奇虎科技有限公司 一种虚拟机恶意行为检测方法和***
CN104715202B (zh) * 2015-03-31 2018-06-12 北京奇虎科技有限公司 一种虚拟机中的隐藏进程检测方法和装置
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9800497B2 (en) 2015-05-27 2017-10-24 Cisco Technology, Inc. Operations, administration and management (OAM) in overlay data center environments
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10089099B2 (en) 2015-06-05 2018-10-02 Cisco Technology, Inc. Automatic software upgrade
US10033766B2 (en) 2015-06-05 2018-07-24 Cisco Technology, Inc. Policy-driven compliance
CN105468967A (zh) * 2015-11-19 2016-04-06 国云科技股份有限公司 一种针对基于Xen的Linux虚拟机恶意代码攻击的隐藏进程检测方法
US10931629B2 (en) 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
CN106572103B (zh) * 2016-10-28 2019-12-13 桂林电子科技大学 一种基于sdn网络架构的隐藏端口检测方法
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
CN106778243B (zh) * 2016-11-28 2020-06-09 北京奇虎科技有限公司 基于虚拟机的内核漏洞检测文件保护方法及装置
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
CN107688481B (zh) * 2017-08-17 2023-12-15 中国电子科技集团公司第五十四研究所 一种支持多节点的kvm虚拟机隐藏进程检测***
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
CN108363611A (zh) * 2017-11-02 2018-08-03 北京紫光恒越网络科技有限公司 虚拟机的安全管理方法、装置及全方位虚拟化***
WO2019127399A1 (zh) * 2017-12-29 2019-07-04 浙江大学 Linux容器的细粒度沙盒策略执行方法
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
CN108228319B (zh) * 2018-01-10 2021-03-30 天津理工大学 一种基于多桥的语义重构方法
US11765046B1 (en) 2018-01-11 2023-09-19 Cisco Technology, Inc. Endpoint cluster assignment and query generation
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10917438B2 (en) 2018-01-25 2021-02-09 Cisco Technology, Inc. Secure publishing for policy updates
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
CN108446160A (zh) * 2018-01-29 2018-08-24 中国电子科技网络信息安全有限公司 一种虚拟机隐藏进程检测方法及***
CN110472410B (zh) * 2018-05-11 2023-02-28 阿里巴巴集团控股有限公司 识别数据的方法、设备和数据处理方法
CN108710799A (zh) * 2018-05-21 2018-10-26 郑州云海信息技术有限公司 一种发现Linux隐藏端口的方法
CN109032770A (zh) * 2018-05-30 2018-12-18 珠海市君天电子科技有限公司 一种进程识别方法、装置及电子设备
CN109194756A (zh) * 2018-09-12 2019-01-11 网宿科技股份有限公司 应用程序特征信息提取方法及装置
CN109298916A (zh) * 2018-11-30 2019-02-01 郑州云海信息技术有限公司 识别虚拟机上进程的方法和装置
CN115774574B (zh) * 2021-09-06 2024-06-04 华为技术有限公司 一种操作***内核切换方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093452A (zh) * 2006-06-21 2007-12-26 韩国电子通信研究院 使用***事件信息来探测隐藏进程的***和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782954B (zh) * 2009-01-20 2013-05-01 联想(北京)有限公司 一种异常进程的检测装置及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093452A (zh) * 2006-06-21 2007-12-26 韩国电子通信研究院 使用***事件信息来探测隐藏进程的***和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于本地虚拟化技术的隐藏进程检测;温研等;《计算机应用》;20080731;第28卷(第7期);正文第1770页,右栏第20-23行, *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171319B2 (en) 2015-06-05 2019-01-01 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
US10171357B2 (en) 2016-05-27 2019-01-01 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network

Also Published As

Publication number Publication date
CN102521537A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102521537B (zh) 基于虚拟机监控器的隐藏进程检测方法和装置
CN105393255B (zh) 用于虚拟机中的恶意软件检测的过程评估
CN101866408B (zh) 一种基于虚拟机架构的透明信任链构建***
RU2691187C1 (ru) Система и способы аудита виртуальной машины
CN105393229B (zh) 虚拟机中的页面错误注入
CN101436237B (zh) 用于将软件组件列入白名单的方法和***
CN102523215B (zh) 基于kvm虚拟化平台的虚拟机在线杀毒***
CN105740046B (zh) 一种基于动态库的虚拟机进程行为监控方法与***
CN103065084B (zh) 在虚拟机外部机进行的windows隐藏进程检测方法
Beham et al. Intrusion detection and honeypots in nested virtualization environments
CN103902885A (zh) 面向多安全等级虚拟桌面***虚拟机安全隔离***及方法
US10146935B1 (en) Noise injected virtual timer
CN109923546A (zh) 虚拟机安全性应用程序的事件过滤
Rutkowska et al. IsGameOver () anyone
US9021596B2 (en) Correcting workflow security vulnerabilities via static analysis and virtual patching
Wang et al. Vmdetector: A vmm-based platform to detect hidden process by multi-view comparison
Hsiao et al. Hardware-assisted MMU redirection for in-guest monitoring and API profiling
US20160092313A1 (en) Application Copy Counting Using Snapshot Backups For Licensing
Wu et al. Evaluation on the security of commercial cloud container services
Zhang et al. iFlask: Isolate flask security system from dangerous execution environment by using ARM TrustZone
CN107688481B (zh) 一种支持多节点的kvm虚拟机隐藏进程检测***
US12032720B2 (en) Real time pseudonymization of personally identifiable information (PII) for secure remote processing
Kumara et al. Virtual machine introspection based spurious process detection in virtualized cloud computing environment
Zhan et al. A low-overhead kernel object monitoring approach for virtual machine introspection
Tobin et al. Forensic analysis of virtual hard drives

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150520

Termination date: 20171206

CF01 Termination of patent right due to non-payment of annual fee