CN111131304A - 面向云平台大规模虚拟机细粒度异常行为检测方法和*** - Google Patents
面向云平台大规模虚拟机细粒度异常行为检测方法和*** Download PDFInfo
- Publication number
- CN111131304A CN111131304A CN201911410784.4A CN201911410784A CN111131304A CN 111131304 A CN111131304 A CN 111131304A CN 201911410784 A CN201911410784 A CN 201911410784A CN 111131304 A CN111131304 A CN 111131304A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- network
- log
- behavior
- abnormal behavior
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及云计算领域,具体涉及一种面向云平台大规模虚拟机细粒度异常行为检测方法和***,其中方法包括:分布式采集虚拟机的网络行为日志;对网络行为日志进行随机置乱;对随机置乱后的网络行为日志进行训练,生成异常行为检测模型;将异常行为检测模型分发到各台物理机上进行异常行为检测;***包括网络日志采集模块、异常行为检测模块、日志汇聚模块、日志随机置乱模块、训练任务分发模块;通过上述虚拟机细粒度异常行为检测方法和***,能够在不给云平台带来负面性能影响的情况下,对云平台上的大规模的虚拟机细粒度异常行为进行检测,并且检测效率高。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种面向云平台大规模虚拟机细粒度异常行为检测方法和***。
背景技术
虚拟机作为云计算平台的关键支撑技术,是云平台实现资源负载均衡和统一利用的重要手段。云平台中通常部署大量的虚拟机,对计算、存储、网络等资源进行统一管理,构建成巨大的虚拟化资源池。
商业化的云平台为了满足大量租户的服务需求,云服务提供商通常需要购置大量的物理机,并在这些物理机上部署规模庞大,类型多样的虚拟机,通常一台物理机上能部署多台满特征虚拟机。这种大规模的虚拟机协同工作,会引发安全性和可靠性的隐患,一方面,云计算平台中,不可避免的软硬件故障会对虚拟机的性能产生严重影响,影响云计算服务的可靠性和稳定性。另一方面,虚拟机通常比普通物理机存有更多的攻击点和安全隐患,如病毒入侵、网络攻击等潜在威胁,这些潜在威胁通常会导致虚拟机的行为异常,给云计算服务带来安全上的风险。
在大规模虚拟机细粒度的异常行为检测时,不给云平台带来性能上的损失和引入新的安全隐患是一个挑战性问题。
发明内容
本发明的目的是公开一种面向云平台大规模虚拟机细粒度异常行为检测方法和***,以解决现有技术中无法对大规模虚拟机细粒度异常行为检测,以及检测效率低并带来严重负面性能影响的问题。
本发明公开一种面向云平台大规模虚拟机细粒度异常行为检测方法,方法包括:分布式采集虚拟机的网络行为日志;对网络行为日志进行随机置乱;对随机置乱后的网络行为日志进行训练,生成异常行为检测模型;将异常行为检测模型分发到各个物理机上进行异常行为检测,当检测结果未超出正常行为阈值时,判定虚拟机细粒度行为正常,当检测结果超出正常行为阈值时,判定虚拟机细粒度行为异常,发出警告。
进一步的,对网络行为日志进行随机置乱包括:将网络行为日志按照时间戳排序;基于日志密度、时间窗口将网络行为日志分段,将日志密度大于等于100条/秒且时间窗口的时间间隔大于等于90秒的网络行为日志序列作为一个网络行为日志序列段;将所有的网络行为日志序列段进行随机置乱并且将每一个网络行为日志序列段内的网络行为日志进行随机置乱。
进一步的,对随机置乱后的网络行为日志进行训练还包括:计算当前各个虚拟机的空余资源VMres;将空余资源VMres从大到小排序,取前20%作为轻载虚拟机,并将轻载虚拟机的唯一标识符VMID加入到轻载虚拟机列表中;根据轻载虚拟机的数量将随机置乱后的网络行为日志分为成N份,将N份网络行为日志分发给轻载虚拟机进行异常行为检测模型训练;将轻负载虚拟机上的训练结果汇聚,输出异常行为检测模型。
进一步的,根据以下公式计算当前各个虚拟机的空余资源VMres:VMres=β×虚拟机分配的CPU资源×(1-CPU使用率)+(1-β)×虚拟机分配的内存资源×(1-内存使用率),其中β=0.6。
进一步的,异常行为检测模型训练包括:从网络行为日志中提取网络行为特征;将网络行为特征的数值规约到与灰度图像素值相对应的范围内,生成网络流量灰度图;将网络流量灰度图输入到循环注意卷积神经网络中进行训练和模型调优,生成异常行为检测模型,其中:循环注意卷积神经网络包括16个卷积层、5个池化层以及3个全连接层,循环注意卷积神经网络使用线性整流函数ReLU作为激活函数。
进一步的,在将虚拟机网络行为特征数值规约到与灰度图像素值相对应的范围内,生成网络流量灰度图之前,还包括:将任意尺度的网络行为特征转换成相同的维度。
进一步的,在对随机置乱后的网络行为日志进行训练,生成异常行为检测模型之后,还包括:间隔预设时间更新异常行为检测模型参数。
本发明还提供一种面向云平台大规模虚拟机细粒度异常行为检测***,检测***包括:网络日志采集模块、异常行为检测模块、日志汇聚模块、日志随机置乱模块、训练任务分发模块、异常行为检测模型输出模块,其中:网络日志采集模块为多个,分别设置在各个虚拟机上,用于采集虚拟机的网络行为日志;日志汇聚模块、日志随机置乱模块、训练任务分发模块、异常行为检测模型输出模块设置在master节点,日志汇聚模块用于将采集到的网络行为日志进行汇总;日志随机置乱模块用于将网络行为日志进行随机置乱;训练任务分发模块用于将网络行为日志分发给各个轻载虚拟机进行训练;异常行为检测模型输出模块用于将轻载虚拟机的训练结果汇总,输出异常行为检测模型;异常行为检测模块为多个,分别设置在各台物理机上,用于使用异常行为检测模型对虚拟机细粒度的异常行为进行检测。
本发明至少包括以下有益效果:
1、采集虚拟机的网络行为特征作为样本训练异常行为检测模型,相较于***级、进程级或应用级等的行为特征,不会给虚拟机带来额外的性能负担。
2、采用分布式的方法采集网络行为日志以及训练异常行为检测模型,能够加快异常行为检测模型的训练过程;将异常行为检测模型分别设置在各物理机上,有效地解决了采用单一master节点进行异常行为检测时计算负载和网络负载过大,所导致异常行为检测不及时的问题,并解决master节点进行大规模虚拟机异常行为检测容易导致单点性能瓶颈的问题。
3、采用基于日志密度和时间窗口的随机置乱方法,以时间窗口为单位进行多层次的网络行为日志随机置乱,在保证网络行为日志的上下文关联性不被破坏的情况下,有效解决网络行为日志数据不均衡的问题,使训练得到的异常行为检测模型的检测结果更加准确。
4、能够通过神经网络自主学习使得异常行为检测模型具备可持续性学习的能力,在云环境下,对虚拟机的新型的或未知的威胁进行及时告警。
附图说明
图1为本发明一种实施例提供的虚拟机细粒度异常行为检测方法流程图;
图2为云平台的结构示意图;
图3为本发明一实施例提供的对网络行为日志进行随机置乱的流程图;
图4为本发明一种实施例提供的基于日志密度、时间窗口确定的网络行为日志序列段的示意图;
图5为本发明一种实施例提供的异常行为检测模型的训练流程示意图;
图6为本发明一实施例提供的虚拟机细粒度异常行为检测***示意图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通的技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明的保护范围。
如图1所示,在本发明的一实施例中,面向云平台大规模虚拟机细粒度的异常行为检测方法包括:
步骤S101:分布式采集虚拟机的网络行为日志。
具体的,如图2所示,一个云平台一般部署多台物理机,每台物理机上设有多个虚拟机,在本发明中采用分布式采集的方法,分别同时对各个虚拟机的网络行为日志进行采集,并将采集到的网络行为日志汇总到云平台中的Master节点,云平台中的Master节点是物理机的管理节点,可以通过网络与各物理机发生通信。虚拟机的每一条网络行为日志均可表述为一个多元组log=<虚拟机ID;目的IP;数据流;时间戳t;网络行为;源端口号;目的端口号;发送字节数>。
现有技术中通常根据***级、进程级或应用级等的行为特征作为样本构建异常行为检测模型,但是,***级、应用级和进程级的行为日志采集过程中会给虚拟机带来额外的性能负担,特别是在云平台大规模虚拟机的环境下,给云平台带来的性能负担将不可估量。本发明以虚拟机的网络行为特征作为样本构建异常行为检测模型,一方面在云平台内部,各虚拟机之间通过高速网络连接,协同工作,虚拟机的异常行为均可从其网络行为上表现出来;另一方面采集虚拟机的网络行为日志的过程不会给虚拟机带来额外的性能负担。同时,本发明采用分布式的采集方式采集虚拟机的网络行为日志可以加快采集网络行为日志的时间,提高采集样本效率。
步骤S102:对网络行为日志进行随机置乱。
从各个虚拟机中采集到的网络行为日志会通过网络发送到物理机的管理节点master节点上,由master节点对网络行为日志进行随机置乱,具体的,可以采用Fisher-Yates的随机置乱方法,该随机置乱算法具有偏序性,每个排列都是等概率的,其置乱过程所需的时间正比于网络行为日志条数,并且不要额外的存储空间开销。从各虚拟机上汇聚到Maser节点的网络行为日志数据,经过上述随机置乱过程后再作为样本进行异常行为检测模型的训练,解决了网络行为日志数据不均衡的问题,能有效解决异常行为检测模型由于训练集不合理导致的检测模型存在偏差或不准确的问题。
步骤S103:对随机置乱后的网络行为日志进行训练,生成异常行为检测模型。具体的,可以采用循环注意卷积神经网络RA-CNN结构训练虚拟机细粒度的异常行为检测模型。
步骤S104:将异常行为检测模型分发到各个物理机上进行异常行为检测;
具体的,将训练得到的异常行为检测模型分发到各台物理机上,每台物理机上均部署一个异常行为检测模型对该物理机上的所有虚拟机进行异常行为检测,将各个虚拟机的网络行为日志输入到异常行为检测模型中进行检测,当检测结果未超出正常行为阈值时,判定虚拟机细粒度行为正常,当检测结果超出正常行为阈值时,判定虚拟机细粒度行为异常,发出警告。
在云平台上,采集并监测大规模虚拟机的网络数据流,并针对数据流进行异常行为检测是虚拟机异常行为检测的有效方法之一。及时发现虚拟机的异常行为对云平台的稳定性具有至关重要的作用,虚拟机的网络行为日志数据流具有数据量大、结构复杂等特点,若仅通过master节点对整个云平台中大规模的虚拟机进行异常行为检测与分析,master节点的单机计算性能以及网络负载都可能会引发性能瓶颈问题,极易导致整个云平台性能的下降。本发明将训练出的异常行为检测模型分发给各台物理机,采用分布式检测虚拟机细粒度异常行为的策略,各物理机仅对在本物理机上部署的虚拟机进行在线的虚拟机细粒度异常行为检测与分析,各物理机仅承担有限的虚拟机细粒度异常行为分析的计算任务,这样虚拟机细粒度异常行为检测的计算负载由各物理机分别承担,有效地解决了采用单一master节点进行异常行为检测时计算负载和网络负载过大,所导致异常行为检测不及时的问题,并解决master节点进行大规模虚拟机异常行为检测容易导致单点性能瓶颈的问题。
在本发明的又一种实施例中,如图3所示,对网络行为日志进行随机置乱包括以下步骤:
步骤S1021:将网络行为日志按照时间戳排序;
具体的,上文提到过,每一条网络行为日志均可表示为一个多元组,其中包括时间戳t,本步骤中,将采集到的所有虚拟机的网络行为日志按照时间戳的顺序进行排列。
步骤S1022:基于日志密度以及时间窗口将网络行为日志分段;
通常虚拟机的网络行为具有时间上下文的相关性,如果将一段时间内的虚拟机的网络行为日志全部随机置乱,将会破坏虚拟机网络行为的前后关联性,会给虚拟机细粒度异常行为模型识别的精度带来负面影响。本发明基于日志密度和时间窗口将网络行为日志分段,时间窗口主要由时间间隔和日志密度双重指标来确定,时间间隔为网络行为日志序列段的截止时间tend与开始时间tstart之间的时间差。日志密度表示单位时间内虚拟机网络行为日志的条数,具体的日志密度
对网络行为日志进行分段时,首先以最小的时间窗口为基准,具体的,最小的时间窗口的时间间隔为90s,之后再以日志密度为衡量标准逐渐调整时间窗口的时间间隔的大小,具体的,若计算出日志密度<100条/秒,则增大时间窗口的时间间隔。重复上述操作,直至日志密度≥100条/秒,将所有的网络行为日志按照上述方法分成多个网络行为日志序列段,这些网络行为日志序列段均满足日志密度大于等于100条/秒且时间窗口的时间间隔大于等于90秒。
步骤S1023:将所有的网络行为日志序列段进行随机置乱并且将每一个网络行为日志序列段内的网络行为日志进行随机置乱。
具体的,以时间窗口为单位对网络行为日志序列段进行随机置乱,随机置乱的方法可以采用本领域常用的Fisher-Yates随机置乱方法,同时,在每一个时间窗口内部将该时间窗口内的所有网络行为日志进行随机置乱。
通过上述以时间窗口为单位的多层次的随机置乱方法,在不破坏虚拟机网络行为的前后关联性的前提下,对网络行为日志进行随机置乱,有效解决异常行为检测模型由于训练集不合理导致的检测模型存在偏差或不准确的问题。
在本发明的又一实施例中,对随机置乱后的网络行为日志进行训练还包括:计算各个虚拟机的空余资源VMres;将空余资源VMres从大到小排序,取前20%作为轻载虚拟机,并将轻载虚拟机的唯一标识符VMID加入到轻载虚拟机列表中;具体的,上述轻载虚拟机列表可以每隔1小时进行一次更新,更新的方法为重复上述的操作,每隔1小时重新统计空余资源位于前20%的虚拟机。Master节点根据轻载虚拟机列表中的轻载虚拟机的数量将随机置乱后的网络行为日志分为成N份,即使网络行为日志的份数与轻载虚拟机的数量相等,将N份网络行为日志分发给轻载虚拟机进行异常行为检测模型训练,每一台轻载虚拟机都收到一份网络行为日志,每一台轻载虚拟机均根据接收到的网络行为日志进行训练;Master节点将轻负载虚拟机上的训练结果汇聚,输出异常行为检测模型。
由于虚拟机网络行为日志的结构复杂,数据量庞大,因此在异常行为检测模型的训练过程中需要消耗大量的计算资源,在本实施例中从充分利用云平台闲置资源的角度出发,采用Map-Reduce分布式计算框架,将异常行为检测模型的训练过程分发到轻负载虚拟机上,这样既能充分利用云平台轻负载的软硬件资源,又能以分布式并行计算的方法加快异常行为检测模型的训练过程。
下面结合图5,说明本发明的检测过程:首先采集所有的虚拟机的网络行为日志,并将采集到的网络行为日志发送到master节点进行随机置乱,将随机置乱后的网络行为日志按照轻负载虚拟机数量分成多份,将网络行为日志分配给各轻载虚拟机,由轻载虚拟机同时进行异常行为检测模型训练,并将训练结果发送给master节点形成最终的异常行为检测模型。将形成的异常行为检测模型分发到云平台的每一台物理机上,分别对每台物理机上的所有虚拟机进行检测。
在本发明的又一实施例中,根据以下公式计算各个虚拟机的空余资源VMres:VMres=β×虚拟机分配的CPU资源×(1-CPU使用率)+(1-β)×虚拟机分配的内存资源×(1-内存使用率),其中β=0.6。具体的,虚拟机分配的CPU资源、内存资源,CPU使用率、内存使用率均可以通过读取虚拟机操作***的配置文件获取,本领域技术人员可以根据实际情况调整β的取值,本发明对此不作限定。在本发明实施例中,由于考虑到在异常行为训练过程中需要较大的CPU计算资源,因此优选的,取β=0.6。
在本发明的又一实施例中,异常行为检测模型训练包括:从网络行为日志中提取网络行为特征,本发明中虚拟机的网络行为特定包括:虚拟机CPU资源、CPU使用率、虚拟机内存资源大小、内存使用率、虚拟机磁盘文件读写速度、虚拟机进程数、虚拟机网络访问目的端口号、虚拟机网络访问目的IP地址、虚拟机网络连接数、虚拟机网络访问源端口号、虚拟机网络访问源IP地址、网络访问数据量、虚拟机运行时间、虚拟机挂起时间、虚拟机用户数、虚拟机用户活跃程度;将网络行为特征数值规约到与灰度图像素值相对应的范围内,生成网络流量灰度图;将网络流量灰度图输入到循环注意卷积神经网络中进行训练和模型调优,生成异常行为检测模型;其中:循环注意卷积神经网络包括16个卷积层、5个池化层以及3个全连接层,卷积层和池化层共分为4个卷积块,卷积块的大小是:4×4、3×3、2×2、1×1,循环注意卷积神经网络使用线性整流函数ReLU作为激活函数。
假设循环注意卷积神经网络RA-CNN每次输入的虚拟机网络行为日志数据可表述为10000张虚拟机网络流量灰度图,那么训练集可以表示成{(x1,y1),(x2,y2),···,(x1000,y1000)},其中xi表示输入循环注意卷积神经网络RA-CNN的数据,即虚拟机的网络行为向量,yi表示对应这个数据的真实类别标签,即虚拟机行为异常的具体原因,举例来说,将虚拟机的异常行为原因,可分为内存故障、硬盘故障、软件故障、网络攻击等,通过向量映射将每一种异常的文字表述映射为向量表示,这样可以参与到循环注意卷积神经网络RA-CNN的数值运算中。
具体来讲,针对每一张网络流量灰度图,循环注意卷积神经网络RA-CNN的输入是{x1,x2,...,x9},激活函数为f(x),输出y为:y=f(x1w1+x2w2+···+x9w9+b),提取虚拟机的网络行为日志中的16个网络行为特征(虚拟机CPU资源、CPU使用率、虚拟机内存资源大小、内存使用率、虚拟机磁盘文件读写速度、虚拟机进程数、虚拟机网络访问目的端口号、虚拟机网络访问目的IP地址、虚拟机网络连接数、虚拟机网络访问源端口号、虚拟机网络访问源IP地址、网络访问数据量、虚拟机运行时间、虚拟机挂起时间、虚拟机用户数、虚拟机用户活跃程度),16个特征构成1幅16×16×1的灰度图像,“1”表示颜色通道数,将这些16×16×1的灰度图像输入到循环注意卷积神经网络RA-CNN中进行训练,得到虚拟机细粒度异常行为检测模型。循环注意卷积神经网络RA-CNN的输出层有10个神经元,这对应10类虚拟机的异常行为(分别为木马病毒、蠕虫病毒、文件病毒、网络访问异常、***软件故障、应用软件故障、硬件故障、硬件失能、虚拟机非正常关机、虚拟机物理资源被恶意占用),每个神经元的输出值表示行为属于异常行为的概率,当检测结果即神经元的输出值大于等于5%时,判定虚拟机的行为异常,即发出虚拟机行为异常警告;当检测结果即神经元的输出值小于5%时判定虚拟机的行为在正常范围内。
虚拟机细粒度异常行为通常由多种原因所致,如堆栈溢出、软硬件故障、网络蠕虫病毒、木马等。不同的原因通常会出现不同的虚拟机异常表现,如堆栈溢出会导致程序运行崩溃,网络蠕虫病毒会导致虚拟机网络被占用,导致网络访问困难。本发明中采用改进的循环注意卷积神经网络RA-CNN训练虚拟机细粒度异常行为检测模型,RA-CNN神经网络模型能递归地分析局部信息,即能从虚拟机的部分行为日志中提取必要的特征信息,在不过多增大计算开销的情况下实现对大规模虚拟机细粒度异常行为的检测;再结合RA-CNN子网络的分类结果,能从部分时间窗口的网络行为日志中理解虚拟机的异常行为。特别是结合RA-CNN的注意力建议子网络(Attention Proposal Sub-network,APN)从宏观的整体日志序列出发,迭代地生成子日志序列,并对子日志序列进行必要的预测,将子日志序列的预测结果进行必要的整合,从而刻画出整个虚拟机细粒度的异常行为的概率模型。
在本发明的又一实施例中,在上述实施例的基础之上,本发明提供的面向云平台大规模虚拟机细粒度异常行为检测方法,在对随机置乱后的网络行为日志进行训练,生成异常行为检测模型之后,还包括:间隔预设时间更新异常行为检测模型参数。具体的,预设时间可以由本领域技术人员在实际应用中自行设定,优选的,预设时间为24小时。为了保证异常行为检测模型对数据样本的可持续学习的能力,实时采集虚拟机的网络行为日志数据,并将这些数据间隔24小时后发送到轻载虚拟机上,重新输入到循环注意卷积神经网络RA-CNN中计算异常行为检测模型的各权值参数,更新异常行为检测模型参数,保证虚拟机细粒度异常行为检测模型可持续学习的能力以及面对未知虚拟机的异常行为具有及时响应的能力。
在本发明的又一实施例中,在将虚拟机网络行为特征数值规约到与灰度图像素值相对应的范围内,生成网络流量灰度图之前,还包括:将任意尺度的网络行为特征转换成相同的维度。一般来讲,RA-CNN的全连接层的输入维度是固定的,因此,RA-CNN的输入层所能处理的虚拟机行为日志序列大小也是固定的。但是,在大规模虚拟机环境下,虚拟机行为日志单位所产生的日志数量不一,所选取的虚拟机行为时间窗口不一,若输入到RA-CNN中的样本特征维度不一致,会严重限制本发明的适用场景。为此,本发明中,采用空间金字塔池化(Spatial Pyramid Pooling,SPP)方法,把任意尺度的虚拟机的网络行为特征转换成相同的维度,这不仅可以让RA-CNN处理任意尺度的虚拟机网络行为特征,能有效避免在虚拟机行为网络流量灰度图像的裁剪和扭曲过程中所导致的信息丢失,提高虚拟机异常行为模式识别的精度。
本发明还提供一种面向云平台大规模虚拟机细粒度异常行为检测***,如图6所示,检测***包括网络日志采集模块、异常行为检测模块、日志汇聚模块、日志随机置乱模块、训练任务分发模块、异常行为检测模型输出模块,其中网络日志采集模块为多个,分别设置在云平台的各个虚拟机上,用于采集虚拟机的网络行为日志,将采集到的网络行为日志发送给日志汇聚模块以及异常行为检测模块;日志汇聚模块、日志随机置乱模块、训练任务分发模块、异常行为检测模型输出模块设置在云平台的master节点上,其中日志汇聚模块用于将所有的网络日志采集模块采集到的网络行为日志进行汇总,日志随机置乱模块用于将采集到的网络行为日志进行随机置乱,以解决网络行为日志数据不均衡的问题,有效解决异常行为检测模型由于训练集不合理导致的检测结果存在偏差或不准确的问题。训练任务分发模块用于从云平台上的虚拟机中筛选出轻载虚拟机,并将异常行为检测模型的训练任务分发给轻载虚拟机进行分布式训练,具体的,首先计算出云平台上所有虚拟机的空余资源,将空余资源按照从大到小排序,取前20%的虚拟机标记为轻载虚拟机,并将虚拟机的唯一标识符VMID加入到轻载虚拟机列表中,训练任务分发模块根据轻载虚拟机列表中的轻载虚拟机的个数N,将网络行为日志同样分成与轻载虚拟机的个数N相等的份数N,并将N份网络行为日志分别发送给轻载虚拟机,使得N个轻载虚拟机同时进行异常检测模型的训练。充分利用云平台轻负载的软硬件资源,加快异常行为检测模型的训练过程。异常行为检测模型输出模块用于将轻载虚拟机的训练结果汇总,输出异常行为检测模型。异常行为检测模块也为多个,被分别设置在各台物理机上,每个异常行为检测模块中均有异常行为检测模型,异常行为检测模块接收到网络日志采集模块发送的网络行为日志后能够检测出当前物理机上的虚拟机是否存在异常行为,如果存在异常行为,则发出警告。
综上所述,随着云用户规模的增大及服务需求的提升,云平台软硬件规模的不断增大,虚拟机***规模也日益增加,如何有效地对云平台中大规模虚拟机的异常行为进行有效检测具有重要的实际应用价值和现实意义。本发明公开了一种面向云平台大规模虚拟机细粒度异常行为检测方法和***,本发明的方法能持续对虚拟机的异常行为进行检测,并能通过改进的RA-CNN神经网络自主学***台大规模虚拟机环境下,本发明提供的面向云平台大规模虚拟机细粒度异常行为检测方法和***具备对虚拟机细粒度异常行为的及时告警能力。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。
Claims (8)
1.一种面向云平台大规模虚拟机细粒度异常行为检测方法,其特征在于,所述方法包括:
分布式采集虚拟机的网络行为日志;
对所述网络行为日志进行随机置乱;
对随机置乱后的所述网络行为日志进行训练,生成异常行为检测模型;
将所述异常行为检测模型分发到各台物理机上进行异常行为检测,当检测结果未超出正常行为阈值时,判定虚拟机细粒度行为正常,当检测结果超出正常行为阈值时,判定虚拟机细粒度行为异常,发出警告。
2.如权利要求1所述的面向云平台大规模虚拟机细粒度异常行为检测方法,其特征在于,所述对所述网络行为日志进行随机置乱包括:
将所述网络行为日志按照时间戳排序;
基于日志密度、时间窗口将所述网络行为日志分段,将所述日志密度大于等于100条/s且所述时间窗口的时间间隔大于等于90s的网络行为日志序列作为一个网络行为日志序列段;
将所有的所述网络行为日志序列段进行随机置乱并且将每一个所述网络行为日志序列段内的所述网络行为日志进行随机置乱。
3.如权利要求1所述的面向云平台大规模虚拟机细粒度异常行为检测方法,其特征在于,所述对随机置乱后的所述网络行为日志进行训练包括:
计算当前各个虚拟机的空余资源VMres;
将所述空余资源VMres从大到小排序,取前20%作为轻载虚拟机,并将所述轻载虚拟机的唯一标识符VMID加入到轻载虚拟机列表中;
根据轻载虚拟机的数量将随机置乱后的所述网络行为日志分为成N份,将N份所述网络行为日志分发给所述轻载虚拟机进行异常行为检测模型训练;
将所述轻负载虚拟机上的训练结果汇聚,输出异常行为检测模型。
4.如权利要求3所述的面向云平台大规模虚拟机细粒度异常行为检测方法,其特征在于,根据以下公式计算当前各个虚拟机的空余资源VMres:
VMres=β×虚拟机分配的CPU资源×(1-CPU使用率)+(1-β)×虚拟机分配的内存资源×(1-内存使用率),其中β=0.6。
5.如权利要求3所述的面向云平台大规模虚拟机细粒度异常行为检测方法,其特征在于,所述异常行为检测模型训练包括:
从所述网络行为日志中提取网络行为特征;
将所述网络行为特征的数值规约到与灰度图像素值相对应的范围内,生成网络流量灰度图;
将所述网络流量灰度图输入到循环注意卷积神经网络中进行训练和模型调优,生成异常行为检测模型,其中:所述循环注意卷积神经网络包括16个卷积层、5个池化层以及3个全连接层,所述循环注意卷积神经网络使用线性整流函数ReLU作为激活函数。
6.如权利要求5所述的面向云平台大规模虚拟机细粒度异常行为检测方法,其特征在于,在所述将虚拟机网络行为特征数值规约到与灰度图像素值相对应的范围内,生成网络流量灰度图之前,还包括:
将任意尺度的所述网络行为特征转换成相同的维度。
7.如权利要求1-6任一项所述的面向云平台大规模虚拟机细粒度异常行为检测方法,其特征在于,在所述对随机置乱后的所述网络行为日志进行训练,生成异常行为检测模型之后,还包括:
间隔预设时间更新异常行为检测模型参数。
8.一种面向云平台大规模虚拟机细粒度异常行为检测***,其特征在于,所述检测***包括:网络日志采集模块、异常行为检测模块、日志汇聚模块、日志随机置乱模块、训练任务分发模块、异常行为检测模型输出模块,其中:
所述网络日志采集模块为多个,分别设置在各个虚拟机上,用于采集虚拟机的网络行为日志;
所述日志汇聚模块、所述日志随机置乱模块、所述训练任务分发模块、所述异常行为检测模型输出模块设置在master节点;
所述日志汇聚模块用于将采集到的所述网络行为日志进行汇总;
所述日志随机置乱模块用于将所述网络行为日志进行随机置乱;
所述训练任务分发模块用于将所述网络行为日志分发给各个轻载虚拟机进行训练;
所述异常行为检测模型输出模块用于将所述轻载虚拟机的训练结果汇总,输出异常行为检测模型;
所述异常行为检测模块为多个,分别设置在各台物理机上,用于使用所述异常行为检测模型对虚拟机细粒度的异常行为进行检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410784.4A CN111131304B (zh) | 2019-12-31 | 2019-12-31 | 面向云平台大规模虚拟机细粒度异常行为检测方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410784.4A CN111131304B (zh) | 2019-12-31 | 2019-12-31 | 面向云平台大规模虚拟机细粒度异常行为检测方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131304A true CN111131304A (zh) | 2020-05-08 |
CN111131304B CN111131304B (zh) | 2022-01-11 |
Family
ID=70506379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911410784.4A Active CN111131304B (zh) | 2019-12-31 | 2019-12-31 | 面向云平台大规模虚拟机细粒度异常行为检测方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131304B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400142A (zh) * | 2020-06-04 | 2020-07-10 | 鹏城实验室 | 虚拟机的异常监控方法、装置及存储介质 |
CN112052876A (zh) * | 2020-08-04 | 2020-12-08 | 烽火通信科技股份有限公司 | 一种基于改进ra-cnn的细粒度图像检测方法与*** |
CN112068933A (zh) * | 2020-09-02 | 2020-12-11 | 成都鱼泡科技有限公司 | 一种实时分布式数据监听方法 |
CN112214278A (zh) * | 2020-09-11 | 2021-01-12 | 浙江运达风电股份有限公司 | 一种私有云僵尸虚拟机的识别和处理方法 |
CN114629711A (zh) * | 2022-03-21 | 2022-06-14 | 广东云智安信科技有限公司 | 一种针对Windows平台特种木马检测的方法及*** |
CN114896024A (zh) * | 2022-03-28 | 2022-08-12 | 同方威视技术股份有限公司 | 基于核密度估计的虚拟机运行状态检测方法和装置 |
CN115225536A (zh) * | 2022-06-17 | 2022-10-21 | 上海仪电(集团)有限公司中央研究院 | 一种基于无监督学习的虚拟机异常检测方法及*** |
CN115378741A (zh) * | 2022-10-25 | 2022-11-22 | 中国电子科技集团公司第三十研究所 | 一种轻量级的加密应用细粒度行为流量早期识别方法 |
CN116501444A (zh) * | 2023-04-28 | 2023-07-28 | 重庆大学 | 智能网联汽车域控制器虚拟机异常云边协同监测和恢复***及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511944A (zh) * | 2016-01-07 | 2016-04-20 | 上海海事大学 | 一种云***内部虚拟机的异常检测方法 |
CN105718303A (zh) * | 2016-01-20 | 2016-06-29 | 国家电网公司 | 虚拟机异常检测方法、装置及*** |
CN109471698A (zh) * | 2018-10-19 | 2019-03-15 | 中国电子科技集团公司第二十八研究所 | 云环境下虚拟机异常行为检测***和方法 |
CN110046054A (zh) * | 2018-01-17 | 2019-07-23 | 中兴通讯股份有限公司 | 虚拟机异常检测方法、装置、设备及计算机可读存储介质 |
CN110224990A (zh) * | 2019-07-17 | 2019-09-10 | 浙江大学 | 一种基于软件定义安全架构的入侵检测*** |
-
2019
- 2019-12-31 CN CN201911410784.4A patent/CN111131304B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511944A (zh) * | 2016-01-07 | 2016-04-20 | 上海海事大学 | 一种云***内部虚拟机的异常检测方法 |
CN105718303A (zh) * | 2016-01-20 | 2016-06-29 | 国家电网公司 | 虚拟机异常检测方法、装置及*** |
CN110046054A (zh) * | 2018-01-17 | 2019-07-23 | 中兴通讯股份有限公司 | 虚拟机异常检测方法、装置、设备及计算机可读存储介质 |
CN109471698A (zh) * | 2018-10-19 | 2019-03-15 | 中国电子科技集团公司第二十八研究所 | 云环境下虚拟机异常行为检测***和方法 |
CN110224990A (zh) * | 2019-07-17 | 2019-09-10 | 浙江大学 | 一种基于软件定义安全架构的入侵检测*** |
Non-Patent Citations (3)
Title |
---|
LIU, JUN, ET AL: ""An anomaly detection algorithm of cloud platform based on self-organizing maps."", 《MATHEMATICAL PROBLEMS IN ENGINEERING》 * |
周真: ""云平台下运行环境感知的虚拟机异常检测策略及算法研究"", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑 》 * |
寇广等: ""深度学习在僵尸云检测中的应用研究"", 《通信学报》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400142B (zh) * | 2020-06-04 | 2020-11-03 | 鹏城实验室 | 虚拟机的异常监控方法、装置及存储介质 |
CN111400142A (zh) * | 2020-06-04 | 2020-07-10 | 鹏城实验室 | 虚拟机的异常监控方法、装置及存储介质 |
CN112052876A (zh) * | 2020-08-04 | 2020-12-08 | 烽火通信科技股份有限公司 | 一种基于改进ra-cnn的细粒度图像检测方法与*** |
CN112068933A (zh) * | 2020-09-02 | 2020-12-11 | 成都鱼泡科技有限公司 | 一种实时分布式数据监听方法 |
CN112214278A (zh) * | 2020-09-11 | 2021-01-12 | 浙江运达风电股份有限公司 | 一种私有云僵尸虚拟机的识别和处理方法 |
CN114629711B (zh) * | 2022-03-21 | 2024-02-06 | 广东云智安信科技有限公司 | 一种针对Windows平台特种木马检测的方法及*** |
CN114629711A (zh) * | 2022-03-21 | 2022-06-14 | 广东云智安信科技有限公司 | 一种针对Windows平台特种木马检测的方法及*** |
CN114896024A (zh) * | 2022-03-28 | 2022-08-12 | 同方威视技术股份有限公司 | 基于核密度估计的虚拟机运行状态检测方法和装置 |
CN114896024B (zh) * | 2022-03-28 | 2022-11-22 | 同方威视技术股份有限公司 | 基于核密度估计的虚拟机运行状态检测方法和装置 |
CN115225536A (zh) * | 2022-06-17 | 2022-10-21 | 上海仪电(集团)有限公司中央研究院 | 一种基于无监督学习的虚拟机异常检测方法及*** |
CN115225536B (zh) * | 2022-06-17 | 2024-02-27 | 上海仪电(集团)有限公司中央研究院 | 一种基于无监督学习的虚拟机异常检测方法及*** |
CN115378741A (zh) * | 2022-10-25 | 2022-11-22 | 中国电子科技集团公司第三十研究所 | 一种轻量级的加密应用细粒度行为流量早期识别方法 |
CN116501444A (zh) * | 2023-04-28 | 2023-07-28 | 重庆大学 | 智能网联汽车域控制器虚拟机异常云边协同监测和恢复***及方法 |
CN116501444B (zh) * | 2023-04-28 | 2024-02-27 | 重庆大学 | 智能网联汽车域控制器虚拟机异常云边协同监测和恢复***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111131304B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131304B (zh) | 面向云平台大规模虚拟机细粒度异常行为检测方法和*** | |
CN110609759B (zh) | 一种故障根因分析的方法及装置 | |
CN110351150B (zh) | 故障根源确定方法及装置、电子设备和可读存储介质 | |
KR102522005B1 (ko) | 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법 | |
US8843422B2 (en) | Cloud anomaly detection using normalization, binning and entropy determination | |
CN111885040A (zh) | 分布式网络态势感知方法、***、服务器及节点设备 | |
KR102279983B1 (ko) | 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체 | |
CN107786388B (zh) | 一种基于大规模网络流数据的异常检测*** | |
CN109034580B (zh) | 一种基于大数据分析的信息***整体健康度评估方法 | |
CN111930526B (zh) | 负载预测方法、装置、计算机设备和存储介质 | |
CN111782900B (zh) | 异常业务检测方法、装置、电子设备及存储介质 | |
CN110493043B (zh) | 一种分布式态势感知调用方法和装置 | |
CN106991502A (zh) | 一种设备故障预测***和方法 | |
US20160269428A1 (en) | Data processing | |
CN113556358A (zh) | 异常流量数据检测方法、装置、设备及存储介质 | |
Ko et al. | Network prediction with traffic gradient classification using convolutional neural networks | |
CN117081858A (zh) | 一种基于多决策树入侵行为检测方法、***、设备及介质 | |
Graham et al. | Finding and visualizing graph clusters using pagerank optimization | |
CN114679327B (zh) | 网络攻击等级确定方法、装置、计算机设备和存储介质 | |
CN115037559A (zh) | 一种基于流量的数据安全监测***、电子设备及存储介质 | |
CN109614533A (zh) | 一种基于Docker集群的分布式爬虫*** | |
CN110493218B (zh) | 一种态势感知虚拟化的方法和装置 | |
CN117294497A (zh) | 一种网络流量异常检测方法、装置、电子设备及存储介质 | |
CN116662001A (zh) | 一种事件处理方法及装置 | |
CN113746780A (zh) | 基于主机画像的异常主机检测方法、装置、介质和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |