一种基于相对熵理论的网络流量异常检测方法与流程

文档序号:11180606
一种基于相对熵理论的网络流量异常检测方法与流程
本发明涉及信息安全技术领域,涉及网络流量异常检测方法,具体是一种基于相对熵理论的网络流量异常检测方法。

背景技术:
:随着计算机网络规模的不断扩大以及各类网络应用的不断深化,互联网已经融于人类的生产生活,逐渐成为人们生活的一部分,在给人们生活带来巨大方便的同时,网络拥挤和网络滥用等流量偏离其正常行为的流量异常情况时有发生,这些异常事件发作突然,并引起网络流量的剧烈变化,给网络安全和网络性能造成极大的伤害。而异常检测作为一种可以有效检测网络流量异常的方法,相关研究早已被广大学者和业界人士所重视,并取得了一定的研究成果。熵是一种源于热力学的无序度量,表示系统微观状态的分布几率。信息熵则是熵在信息系统中的一种扩展,如果将信息源视为一组随机事件的集合,则热力学中微观状态的混乱度类同信息源的随机性不确定度,将热力学几率扩展到信息源信号出现的几率,就是信息熵。信息熵是对信息系统中随机事件不确定性程度的描述,标志着所含信息量的多少,信息熵作为一种复合型特征(区别简单特征,如计数特征、流量特征等),可以反映简单统计特征无法反映的内涵。当网络特征全部相同,取一个值时,表示特征的分布最集中,此时信息熵值取得最小值;当网络特征全取不同值时,表示特征的分布最为分散,信息熵值取得最大值,扩展到网络流量数据中,即在同一属性上,数据分布越集中的地方信息熵值越小,数据分布越分散的地方信息熵值越大。据研究发现,使用信息熵进行计算时,源/目的IP、源/目的端口和流持续时间等特征分布要比其他特征分布效果更好,并且这些特征本身具有强相关关系,可以有效的表征大规模网络流量的异常。以拒绝服务攻击(DistributedDenialOfService,简称DDOS)为例,它借助足够数量的傀儡主机,随机伪造大量的IP地址,在几乎同一时间开展拒绝服务攻击,向目标主机发送大量无用分组,引起源IP地址的分布更加分散,进而造成源IP地址信息熵突然增大,目的地址信息熵突然减小。基于信息熵的网络流量异常检测依赖于流量的特征分布,可以提供比传统流量分析更细粒度的见解,近些年来引起了许多研究者的广泛关注。Andersen、Nychis等人针对网络流量报头特征和行为特征分布,测量出不同分布的熵在时间序列上的成对相关得分,结果表明基于熵的异常检测方法中,IP地址和端口分布之间具有强相关性,其他特征显示低相关性或无相关性;BerezińskiP、PawelecJ等人通过捕获不同的流量特征,采用基于分组和基于流的方法,利用Shannon熵和Titchener熵以及参数化的Renyi熵和Tsallis熵四种信息熵算法分别实验,研究证明,当特征分布选择正确时,基于熵的检测方法优于大部分传统的异常检测方法,其中IP地址和端口以及持续时间的特征分布是最好的选择;国防科技大学教授郑黎明、邹鹏等针对传统异常检测系统分类器不同网络环境下不断变化的问题,提出了在Hash直方图上基于增减式的在线SVDD流量异常检测方法,结合多窗口关联检测算法结构,对提高分类器的检测效果和检测精度及减少算法的复杂度有很大的效果,但该方法需要大量的系统开销,且有一定的难度;清华大学信息网络工程研究中心专家朱应武和杨家海等通过对网络流量信息结构和网络流量规律的研究分析,利用正常网络流量的IP、端口等具有重尾分布和自相似特性等稳定的流量结构的特点,结合信息熵理论,对流量进行建模,将网络流量异常检测问题转换为基于SVM的分类决策问题,提出了一种基于熵的支持向量机(supportvectormachine,SVM)方法,实验结果表明,基于信息熵的SVM方法更加简洁、高效,在网络流量小样本情况下,具有较高的检测效率和良好的检验精度,但在应对大规模突发性流量方面有一定的缺陷;西安理工大学张亚玲博士等人提出通过对网络流量进行统计分析,引入相对熵理论,通过对相对熵值多测度加权计算作为网络异常判断的依据,实现基于相对熵理论的网络异常检测,结果表明,该方法具有较低的误报率,但检测率效果不理想,而且需要计算大量的历史数据,另一方面,加权系数的设定比较困难;中国民航大学冯兴杰教授等人针对现有方法中模型弹性较差,无法适应动态网络变化的问题,在Hurst指数分析的基础上,结合EWMA和滑动窗口模型,提出一种基于动态阈值的网络异常检测,仅针对滑动窗口内的历史观测值进行分析,有效的避免了检测效率低的问题,但只对突发性流量具有较好的检测效果,对异常的类型检测方面也有不足。

技术实现要素:
本发明的目的是针对现有技术的不足,而提供一种基于相对熵理论的网络流量异常检测方法。这种检测方法能有效地检测出网络流量异常,并能解决低检测率和高误报率的问题,且能够适应动态变化的网络环境。实现本发明目的的技术方案是:一种基于相对熵理论的网络流量异常检测方法,包括如下步骤:1)收集网络流量数据:从原始网络数据流中读取所需的网络流源端口的数据;2)计算网络流量信息熵值:网络流量数据当作为离散信息源,将数据的特征当作一组随机事件,定义随机变量X={ni,i=1,2,...,N},表示网络流量数据中待分析的网络特征i发生了ni次,xi则表示该特征的具体值,那么信息熵的定义如下:ni/S表示X取值特征值xi的概率,表示当前检测的网络特征发生的总次数,设检测粒度为T,对检测粒度T内的网络流源端口的数据分布进行统计,将得到的统计结果通过公式(1)求出每个T内网络流源端口的数据分布的信息熵值,得到网络流源端口的数据分布情况的原始信息熵值序列E={Ei,i=1,2,...,m},为下一步的检测分析准备数据;3)构建滑动窗口模型:设数据流为一个不...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1