[发明专利]一种虚拟机恶意行为检测方法和系统有效
申请号: | 201510149761.8 | 申请日: | 2015-03-31 |
公开(公告)号: | CN104715201B | 公开(公告)日: | 2018-02-27 |
发明(设计)人: | 罗凯 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京市隆安律师事务所11323 | 代理人: | 权鲜枝,何立春 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 恶意 行为 检测 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种虚拟机恶意行为检测方法和系统。
背景技术
虚拟化技术实现了计算、存储、网络等IT资源的虚拟化,是云计算行业快速发展的基础。虚拟机(Virtual Machine)是云环境对外提供的一种最基本的服务形式,云服务提供商向个人、组织用户提供单个虚拟机或者多个虚拟机组成的虚拟网络,以满足用户对易维护、高可用性的弹性云服务的需求。在虚拟化环境中,服务以虚拟机的形式提供给用户使用,云服务提供商只能利用Libvirt等接口从虚拟机外部获得目标虚拟机的CPU、内存、磁盘、网络等资源分配和使用的信息,并不能监视到虚拟机中运行的进程行为的粒度,一旦虚拟机被攻击者植入的恶意软件控制,其对同一虚拟网络中虚拟机的安全乃至云平台本身的安全与稳定都是巨大的威胁,因此对虚拟机运行时的安全监测成为云服务提供商和用户的共同需求。目前虚拟机恶意行为监测方面的技术中存在如下问题:
1.许多安全监测工具需要依赖虚拟机内部的代理程序解决语义鸿沟问题,这在一定程度上破坏了虚拟化架构中的隔离性,并且也无法实现安全工具对虚拟机的透明性;
2.目前对虚拟机恶意行为监测更多关注的是恶意软件隐藏的特性,对已经成为主流的无进程、无端口、无文件的恶意软件行为监测效果有限;
3.缺少对恶意软件的网络和主机内部的行为方面综合地考虑,对网络层面异常行为的检测大多是在主机网络流粒度上进行的,粒度较粗。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种虚拟机恶意行为检测方法和系统。
依据本发明的一个方面,提供了一种虚拟机恶意行为检测方法,其中,该方法包括:
监视目标虚拟机内进程的创建和退出事件,维护一个记录所述目标虚拟机内实际运行进程的可信进程列表;通过遍历记录有目标虚拟机中的进程信息的相关数据结构,获得记录目标虚拟机内的进程的一个或多个不可信进程列表;通过比较可信进程列表和不可信进程列表,判断出目标虚拟机中的隐藏进程;
截获进出目标虚拟机的数据包,根据所截获的数据包,确定目标虚拟机中的当前活动的网络连接及其所属的进程;在目标虚拟机的外部重构所述当前活动的网络连接及其所属进程的相关信息;通过分析重构的所述相关信息确定目标虚拟机中的寄生进程。
可选地,
在Xen内核层监视目标虚拟机内的进程创建和进程退出事件,并通知管理域Domain 0层;在Domain 0层根据进程创建和进程退出事件的通知维护所述可信进程列表,以及获得一个或多个不可信进程列表,通过比较可信进程列表和不可信进程列表判断出目标虚拟机中的隐藏进程;在Domain 0层的虚拟网桥处截获进出目标虚拟机的数据包;在Domain 0层重构所述当前活动的网络连接及其所属进程的相关信息,以及通过分析重构的所述相关信息确定目标虚拟机中的寄生进程。
可选地,所述在目标虚拟机的外部重构所述当前活动的网络连接及其所属进程的相关信息包括:通过调用Libvmi库提供的相关接口函数以及配置文件机制,获取所述当前活动的网络连接及其所属进程的相关信息。
可选地,所述在目标虚拟机的外部重构所述当前活动的网络连接及其所属进程的相关信息包括:获取目标虚拟机的内存中的目标进程的相关内容,具体为:使用Libvmi映射所述目标虚拟机的该目标进程对应的内存地址空间到Domain 0的内存地址空间,从而为Volatility框架提供地址空间支持;生成基于所述Volatility框架的用于对运行时的目标虚拟机内存进行分析读取的脚本;所述脚本通过映射后的Domain 0的内存地址空间获取目标进程的相关内容。
可选地,实现Xen内核层和Domain 0层之间的通信包括:基于Xen内核提供的__HYPERVISOR_domctl超级调用以及Xen内核为每个操作定义用于参数传递的数据结构的机制,在Xen内核中添加实现Domain 0和Xen内核之间关于进程创建和进程退出事件的通信操作以及相应的参数传递数据结构;Xen内核层和Domain 0层基于添加的所述通信操作以及相应的参数传递数据结构进行通信。
可选地,该方法进一步包括:设置消息队列;截获进出目标虚拟机的数据包并进行处理后,将处理结果数据放入所述消息队列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510149761.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于公共计算机用户的公共查看安全
- 下一篇:一种病毒APK的识别方法及装置