一种虚拟化平台安全监控方法及系统与流程

文档序号:12463491阅读:491来源:国知局
本发明涉及虚拟化平台安全,具体地说,涉及一种虚拟化平台安全监控方法及系统。属于信息安全
技术领域

背景技术
:随着虚拟化技术和云计算技术的不断成熟与广泛运用,用户逐渐将自己的IT基础设施迁移到虚拟化平台上,以利用虚拟化技术带来的各种便利:按需扩展、灵活迁移、数据备份、故障恢复等。虚拟化平台是指利用虚拟化技术构建的基础设施平台,包括底层硬件、虚拟机监控器(VMM)以及用户虚拟机。其中,虚拟机监控器是整个体系的核心部分,它是一种系统软件,直接控制底层硬件,抽象出多个模拟硬件来支撑上层虚拟机的运行。按照传统的操作系统权限层级来分,VMM运行于Ring0级别,用户虚拟机运行于Ring1-3级别。目前虚拟化平台的安全问题是攻击者可以利用虚拟化平台的自身漏洞与管理缺陷进行虚拟机逃逸攻击,从而控制VMM,进而控制所有用户虚拟机。因此,目前需要保障用户虚拟机的安全运行以及整个虚拟化平台的安全运行。而目前的虚拟化平台安全方案主要解决的问题是用户虚拟机的安全问题,一种方法是在VMM上构建一个安全虚拟机,用来检测虚拟机之间的流量,或者利用VirtualMachineintrospection技术以无代理方式检测用户虚拟机的进程、文件等信息。但是目前少有技术方案能够对虚拟机监控器(VMM)进行监控与保护。专利CN201610229787.8利用TPM可信硬件来监控VMM的完整性,这个方案有两个缺点:1、需要在通用的X86服务器上加装TPM可信定制硬件,成本较高;2、该方案只能在虚拟机启动时检测底层VMM的完整性,无法做到运行时的安全监控。目前来看,实现虚拟机监控器(VMM)的运行时监控,从而保证虚拟机监控器(VMM)的正常运行是现有技术方案无法解决的。技术实现要素:本发明的目的在于克服现有技术中存在的问题,提供一种虚拟化平台安全监控方法及系统,能够实时、细粒度的监控运行中的虚拟机监控器,从而保证其安全。本发明所述虚拟化平台安全监控系统包括:服务器端和客户端,服务器端运行在主机或者虚拟机的操作系统之上,包括策略分析模块,数据分析模块,数据存储模块,客户端运行在被监控虚拟主机的虚拟机监控器中,包括信息采集模块:a)用户登陆系统并定制安全需求;b)策略分析模块将用户定制的安全需求解析为统一格式的需求配置文件(XML),并将其发送到数据存储模块中;c)信息采集模块从数据存储模块获取需求配置文件,并根据配置文件初始化设置信息采集的种类和工作方式,并开始实时监控所在主机的虚拟机监控器(VMM),采集虚拟机监控器的运行信息并发送到数据存储模块中;d)数据分析模块读取数据存储模块中存储的历史采集数据,运行聚类算法得出正常的分类模型,并根据生成的模型参数设定异常阈值(得到分类模型后确定每个类的最大离心距离,根据这些距离值设定异常阈值),基于此阈值对实时采集来的数据进行异常检测,并将检测出的异常报警发送给用户;e)用户对异常报警进行排查与确认,并将确认结果反馈给数据分析模块;f)数据分析模块根据用户的确认结果中的正常事件和异常攻击事件,生成带标签的数据,运行半监督分类算法得出新的分类模型,包括正常模型和异常模型;新生成的异常模型用于指导实时采集数据的异常检测,检测结果反馈给用户;同时,数据分析模块定期将数据模型的参数持久化存储到数据存储模块中。g)步骤e),f)循环运行,同时分类模型也在不断完善。所述的安全需求包括监控粒度、被监控的虚拟主机集群的IP地址段、虚拟主机型号与版本等信息;监控粒度可选项有进行日志、函数两个级别。IP地址用于定位虚拟主机,并在虚拟主机上安装客户端程序,如具体实施例的步骤2。虚拟主机型号和版本用于区分VMM,不同VMM上运行的客户端程序是不同的,例如针对Xen和KVM的客户端程序就是不同的。所述的数据采集模块运行在所在虚拟主机的系统内核层(Ring0),根据策略配置文件中的监控粒度选项进行信息采集:a)若该选项是日志级别(LOG),则实时监控虚拟机监控器的日志并使用syslog协议将日志外发到数据存储模块中;b)若该选项是函数级别(FUNCTION),能够实时监控虚拟机监控器的函数调用次序,并实时保存并外发函数调用的堆栈运行信息,具体包括函数名称、调用时间、进程PID、函数参数值、函数调用结果等信息,并将函数调用次序与函数调用堆栈信息发送到数据存储模块中;所述的数据分析模块,其特征在于,首次数据建模使用聚类算法,得到分类模型后确定每个类别的最大离心距离,这些距离值就是异常检测的阈值,基于阈值对实时采集的数据进行异常检测,具体来说,如果某个数据与所有聚类簇中心的距离都超过了这个最大离心距离,则视为异常数据;此外,再有了用户反馈的结果和标签数据之后,使用半监督机器学习算法来建立新的分类模型,随着确认的安全事件数量和标签数据的增加,半监督学习算法持续运行,新的分类模型也在不断调整和完善。所述的聚类算法包括但不限于K-means算法、层次聚类算法、DBSCAN算法。所述的半监督分类算法包括但不限于生成式参数估计法、图切割方法、协同训练法和转导SVM算法。所述的数据存储模块,包括:a)存储的数据包括策略配置文件、监控数据、数据模型及阈值等;b)实时地将信息采集模块发送的数据进行字段提取,整理成格式化数据后存储到文件系统中;c)在系统负载高时,数据存储模块支持分布式存储。和现有技术相比,本发明具有如下优势:1.本发明虚拟化平台安全监控系统是一套软件系统,不需要TPM等可信硬件的支持,适用范围广。2.本发明虚拟化平台安全监控系统能够实时监控虚拟机监控器的运行状态(包括函数调用序列以及函数堆栈信息);利用历史监控数据建模得到的阈值来实时监测虚拟机监控器的异常并报警;同时,本系统还引入反馈机制,结合半监督机器学习算法来对监控数据进行建模与分析,不仅能够对大量的历史监控数据进行自动分析建模,同时还能够兼顾用户对系统安全事件的定制需求与考量,利用用户的反馈结果来调优算法与检测模型。附图说明图1是本发明虚拟化平台安全监控系统的结构图。具体实施方式下面结合附图和具体实施例对本发明做进一步详细的说明,但不以任何方式限制本发明的范围。本实施例采用如图1所示的系统结构,其中,服务器端安装在一个单独主机上,客户端部署在被监控的虚拟机主机上。步骤1:首先用户登陆系统网页,在上面定制了自己的安全需求如下:1)监控粒度:函数级2)虚拟主机IP网段:192.168.10.1--192.168.10.53)虚拟主机型号:dell机架式服务器R730,4)虚拟主机VMM型号:KVM(Kernel-BasedVirtualMachine)步骤2:策略分析组件将上面的安全需求解析成XML文件conf.xml,存储到数据存储模块(本地文件系统)中。之后服务器端根据配置文件的ip网段配置,依次向192.168.1.1至192.168.10.5的各个主机发送SSH请求,ssh登录进去后向各个主机传输信息采集组件的安装文件包,并进行安装以及初始化。步骤3:IP地址是192.168.10.1的主机上的信息采集模块初始化后,立即从数据存储模块中读取最新的conf.xml文件,根据函数监控的需求,开始对所在主机的虚拟机监控器(VMM)进行函数级别的细粒度监控,其中,监控的函数均为VMM内的节点函数,属于VMM工作流程上必然要调用的函数。步骤4:监控开始之后,信息采集模块立即将监控得到的函数运行信息以syslog协议发送到服务器端,具体的监控信息格式如下:函数名进程PID函数参数值函数调用结果主机IP调用时间数据存储模块将收到的监控信息格式化,存储为key-value键值对的ORC格式文件。步骤5:数据分析模块读取过去一段时间内收集到的所有监控数据ORC文件,运行聚类SVM算法对数据建模,得出数据分类以及对应的分类算法的参数,基于类别模型设定异常检测阈值,同时将这些模型参数存储到文件系统中的parameter.conf文件中。步骤6:数据分析模块根据之前得到的参数对信息采集模块发送过来的监控数据进行实时的异常检测,发现有报警则发送给用户。这里以函数调用序列上的异常为例来说明,例如parameter里存储的正常函数序列有三种:1,func1->func2->func3;2,func1->func3->func2;3,func2->func1->func3,如果异常检测时发现了func3->func2->func1的调用序列,则产生异常报警。步骤7:用户对报警时间进行排查与确认,如果发现报警数据里的调用时间字段值,正好与虚拟主机系统升级维护的时间相吻合,则可以排除这个报警是系统维护所致;如果没有相关的正常操作记录来辅证,用户则去对应IP地址的主机上进行查看,确认VMM以及用户的虚拟机还是否在正常工作,如果有异常则开始进行安全事件的确认与追查。最后用户将排查结果反馈给数据分析模块。步骤8:数据分析模块根据用户反馈结果,如果是误报,则将func3->func2->func1加入正常标签数据集中。如果确认是安全事件(攻击或者宕机),则将func3->func2->func1加入到异常标签数据集中。随后运行半监督的转导SVM算法,得到正常模型和异常模型,将得到的新的模型参数写入parameter.conf中。步骤9:使用异常模型参数对实时采集数据进行异常检测,检测出的异常事件发给用户确认,转到步骤7。这样,步骤7-9不间断运行,带标签数据不断增多,转导SVM算法不断学习改进,得到的分类模型也不断完善。从本实施例可以看出,本系统可以实时监控运行中的虚拟机监控器(VMM),并利用反馈机制和半监督机器学习算法对监控数据进行准确的异常检测与报警。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1