一种基于行为分析的网络应用流异常检测方法与流程

文档序号:16775201发布日期:2019-02-01 18:40阅读:264来源:国知局

本发明属于网络流量检测技术,尤其涉及一种基于行为分析的网络应用流异常检测方法。



背景技术:

企业内部网是一种在应用于企业内部的专有网络,实现高效、可靠、安全的企业内部数据传输。企业内部网通常按照其业务需求进行搭建和运维,以实现对人事、物流、销售、财务、信息等业务的支撑。因此企业内部网通承载了人事管理系统、财务系统、客户关系管理系统、办公自动化系统等等,从网络角度来看,这些系统可以称为网络应用或服务,企业内部网中这些网络应用对企业业务具有强大的支撑作用,这些网络应用发生异常会影响企业业务的正常开展,对企业造成巨大损失,如何检测这些网络应用的异常行为成了当务之急。而现在主要的网络流量异常检测方法有以下几种:

1)基于统计分析的异常检测方法

基于统计分析的检测方法是异常检测中最基本的一种方法,通过对采集到的数据抽样,计算分析采样样本的特征参数值对用户行为特征轮廓进行描述,通过不断修正得到能够准确描述用户行为特征的用户行为特征历史轮廓。将当前行为特征轮廓与历史轮廓进行对比,通过当前用户行为特征轮廓与历史用户行为特征轮廓的偏差是否在允许的范围内来检测是否存在异常。

2)基于机器学习的异常检测方法

基于机器学习的异常检测方法与统计分析的异常检测方法一样,都是将当前数据与经验数据进行比较,但是基于机器学习的异常检测方法强调异常检测系统根据对历史数据的学习进行系统的自我完善的过程。

3)基于数据挖掘的异常检测方法

数据挖掘指的是在海量数据中筛选出所需要的关键数据的过程。wenkelee等人在2000年首次将数据挖掘的思想引入到了网络异常检测领域,通过从海量的数据流中提取出有价值的信息从而建立正常网络流量模式进行基于正常网络流量模式的网络流量异常检测。当前基于数据挖掘的异常检测主要有以下几种:

(1)分类分析方法

分类分析方法是通过建立数据集到对应类别映射的一种分类器,通过对数据进行分类标记建立训练数据集,利用分类算法分析数据所具有的特征,并得到相对应的分类规则。训练数据集和分类规则在经过实验测试后就可以用以对数据进行分类分析。

(2)聚类分析方法

聚类的基本原则是对于同一类元素相似性大,而不同类之间元素相似性小。聚类分析方法在网络异常检测中的主要优势是可以在无监督条件下通过学习对异常进行分析,无需进行训练样本集的获取。

(3)关联分析方法

关联分析方法是指发现数据集之间的关联性以表征特征属性。在网络异常检测中通常通过分析提取网络流行为与其网络行为特征的关联性来进行网络流量异常检测,或者是通过分析网络流量异常事件的之间的联系,通过其因果关联对异常的防范。

(4)时间序列分析方法

序列分析法是将网络流信号看作是一组时间序列信号,从而把网络流量分析问题转化成单纯的时间序列分析问题,简单的网络流量可以转化为一维时间信号进行分析处理,而对复杂的网络信号,可以看作二维时间信号进行分析处理。而时间序列分析可以采用时域与频域的方法,通过时频分析方法进行网络流量分析与异常检测。

4)基于小波分析的异常检测方法

小波分析的研究始于二十世纪八十年代,是首先在图像与信号处理领域取得了巨大作用之后才逐步完善理论研究的应用先于理论的成功范例。小波分析方法解决了傅里叶变换无法同时进行时域和频域分析的问题,得到了对时间序列信号的分析的方法,为网络流量分析提供了一种全新角度。

netflow技术

netflow是cisco设备nlos软件中内嵌的一种功能,用来将网络流量记录到设备的高速缓存中,从而提供非常精准的流量测量。由于网络通信具有流动性,所以缓存中记录的netflow统计数据通常包含转发的ip信息。输出的netflow统计数据可用于多种目的,如网络流量核算、网络付费、网络监控以及商业目的的数据存储。路由器和交换机输出的netflow数据记录由过期的数据流及详细的流量统计数据组成。这些数据流中包含来源和目的相关的信息,以及端到端会话使用的协议和端口。这些信息能帮助it人员监控和调整网络流量,以及面向网络有效地分配带宽。netflow流量统计数据包括数据流时戳源ip地址和目的ip地址源端口号和目的端口号输入接口号和输出接口号下一跳ip地址信息流中的总字节数信息流中的数据包数量信息流中的第一个和最后一个数据包时戳源as和目的as,及前置掩码序号(只有版本5中支持)。

netflow流分析方法

(1)模式匹配分析方法

模式匹配分析方式是一种通过对netflow流记录进行搜索,找到与目的模式特征相匹配的流,通过流记录中的ip地址、源端口号等信息可以对主机进行准确的定位。主要的模式匹配方法有端口匹配与ip匹配两种。端口匹配方法通过对已知的病毒或攻击常用端口号进行过滤,发现网络攻击与病毒;ip地址匹配方法可以建立异常行为ip黑名单,通过匹配黑名单中的ip进行蠕虫病毒等过滤。常用端口匹配与ip匹配相结合的方式,对于流记录中ip与端口号都与目的模型匹配的流判定为异常。

(2)协议分布分析方法

协议分布分析方法主要通过对于流记录中协议分布情况进行统计,通过分析协议的分布情况以及协议分布的变化情况判断网络流量是否存在异常。

(3)top-n分析方法

top-n分析方法主要对于流记录中占比最高的前n条流进行分析,主要对于占比最高的n条流进行连接请求数、两个节点间数据传输量等数据进行分析,对于排名前n条的流数据与已建立的基准模型进行比较,若连接请求数、两个节点间数据传输量等数据超出已经设定的阈值,则判定发生了网络攻击等异常。

而现在网络应用的流量的海量数据使得传统的方法无法满足对于网络应用流数据分析的实时性要求;如何对特定网络的应用流量信息进行处理并获得能够表征特定应用的流量行为的特征并且快速发现异常成为当务之急。日益频繁的网络应用异常行为要求我们能够提取出全面、准确的表征整个网络应用流量行为的特征,而仅仅从单一用户甚至单一数据包分析,难以获得整个网络应用流量的行为特征。



技术实现要素:

本发明要解决的技术问题:提供一种基于行为分析的网络应用流异常检测方法,以解决现在网络应用的流量的海量数据使得传统的方法无法满足对于网络应用流数据分析的实时性要求;日益频繁的网络应用异常行为要求我们能够提取出全面、准确的表征整个网络应用流量行为的特征,而仅仅从单一用户甚至单一数据包分析,难以获得整个网络应用流量的行为特征等技术问题。

本发明技术方案:

一种基于行为分析的网络应用流异常检测方法,它包括:

步骤1、应用流行为特征参数提取;从netflow流量数据中个体取出所需的网络应用流量行为的特征参数,并将其转化为文本文件形式,并统计每一条源ip地址、目的ip地址以及ip地址对单位时间间隔内出现的频次;

步骤2、ip地址信息熵计算;

步骤3、判断异常行为;

步骤4、通过对网络应用流量参数进行处理,判断某源ip地址、目的ip地址以及ip地址对是否异,并对常异常行为二次处理。

步骤2所述ip地址信息熵计算方法包括:

步骤2.1、建立信息熵计算公式:

式中:s表示系统,n为所有可能出现的事件数量,pi为对应事件出现的概率,h(s)表示系统的信息熵,即系统s的平均信息量;

步骤2.2、将时间分成一系列时间间隔,在每个时间间隔内统计网络的流量信息,则目标特征属性x在该时间间隔内的信息熵计算公式为:

n为目标特征属性x的总实例数,且有

步骤2.3、将描述网络应用流量的源ip数、目的ip数以及ip对数作为目标特征属性代入步骤2.2进行信息熵计算。

步骤3所述判断异常行为的方法为:分别对整体应用流量的源ip地址、目的ip地址以及ip地址对的信息与前一时刻信息熵进行对比,若该时间点的信息熵较前一时间点的信息熵变化大,则判定该时间点为异常时间点,取异常时间点之前的n个时间点(n值默认设为3),形成应用异常时间窗,进入下一步;否则,则认为该时间点应用流量没有发生异常行为,继续计算下一时间点上的信息熵值。

步骤4所述通过对网络应用流量参数进行处理,判断某源ip地址、目的ip地址以及ip地址对是否异,并对常异常行为二次处理。

的方法包括:

步骤4.1、设应用异常时间窗大小为n,流连接密度在应用异常时间窗内各时间点的流量参数为xi(i=1,2,…,n);

步骤4.2、计算流连接密度在应用异常时间窗内均值

步骤4.3、计算流连接密度在应用异常时间窗内平均波动x':

步骤4.4、计算流连接密度在应用异常时间窗内波动与平均波动的比值δx

当δx小于给定门限时认为内部网络应用流量正常;当δx大于给定门限时判定为内部网络应用流量发生了异常。

所述流连接密度的计算方法包括:

设r={f1,f2,f3,…,fn}为网络应用数据流集合,集合中的元素为三元组的形式,即fi={si,di,pi},si,di,和pi分别表述源ip地址、目的ip地址和目的端口号,若f1,f2,f3,…,fn的源ip地址、目的ip地址和目的端口号均相同,则成为一组相关数据流,对应的集合r为相关数据流集合;

设单位时间内网络应用数据流集合r={f1,f2,f3,…,fn},其中相关数据流集合为{r1,r2,r3,…,rn},则定义网络应用流连接密度为相关数据流集合个数,即n。

本发明有益效果:

本发明从网络应用流量的连接行为进行分析,通过信息熵和流连接密度对于内部网络中的特定网络流量行为进行表征,从而发现网络应用的异常;本发明基于内部网络特定应用的连接行为提出了信息熵和流连接密度相结合的二次异常判定方法,通过信息熵表征特征特定应用连接的集中程度,由源ip地址、目的ip地址以及ip地址对于信息熵变化值初步得到异常时间窗;对异常时间窗内特定应用流连接密度进行计算,通过各时间点流连接密度波动值和异常时间窗平均波动值的比值是否超过阈值进行二次异常判定得到异常时间点;最后对于异常时间窗内的异常源ip地址、目的ip地址以及ip地址进行检测;解决了现在网络应用的流量的海量数据使得传统的方法无法满足对于网络应用流数据分析的实时性要求;日益频繁的网络应用异常行为要求我们能够提取出全面、准确的表征整个网络应用流量行为的特征,而仅仅从单一用户甚至单一数据包分析,难以获得整个网络应用流量的行为特征等技术问题。

具体实施方式:

为了本领域技术人员进一步了解技术方案,本发明在此对本发明进行进一步的说明:

应用流行为特征参数提取

读入netflow流量数据,由于netflow数据是二进制流难以直接操作,因此本方案首先从netflow流量数据中个体取出所需的网络应用流量行为的特征参数,并将其转化为文本文件形式,并统计每一条源ip地址、目的ip地址以及ip地址对单位时间间隔内出现的频次。信息熵计算方法

ip地址信息熵计算方法如下。信息熵最初应用于热力学领域对于微观粒子的无序度或混乱程度的描述。而后信息熵被shannon引入到了信息论领域中,将信息的不确定性对应热力学中微观粒子的不确定性,即可以用信息熵定量的描述信息量的大小。shannon对于信息熵定义公式为

其中s表示系统,n为所有可能出现的事件数量,pi为对应事件出现的概率,h(s)表示系统的信息熵,即系统s的平均信息量。

如果将各时间段的网络应用流量的统计过程看作是一个随机过程,将客户端到服务器端的网络应用流连接看成是一个随机过程,则可以引入信息熵的概念。特征属性的信息熵能够表征各属性值分布的离散集中情况。通过将时间分成一系列时间间隔,在每个时间间隔内统计网络的流量信息,则目标特征属性x在该时间间隔内的信息熵定义为

其中pi为目标特征属性x中某个值出现的概率,n为目标特征属性x的总实例数,且有

本发明采用描述网络应用流量的源ip数、目的ip数以及ip对数的信息熵来对网络应用流量连接行为特征进行分析。信息熵能有效地反映行为特征参数分布的集中和分散情况,即数据越集中熵值越小;数据越分散熵值越大。通过源ip数、目的ip数以及ip对数的信息熵可以直观的反映服务器端网络应用流量对于用户连接的集中程度,在正常情况下对于特定应用,其网络应用流量对于用户连接的集中程度应该保持稳定,即信息熵应该保持稳定,如果网络应用连接行为异常,则会直观的体现在信息熵的变化上,即通过信息熵可以实现对于网络应用流量连接行为的分析与异常检测。

判断异常行为

分别对整体应用流量的源ip地址、目的ip地址以及ip地址对的信息与前一时刻信息熵进行对比,若该时间点的信息熵较前一时间点的信息熵变化较大,则判定该时间点为异常时间点,取异常时间点之前的n个时间点(n值默认设为3),形成应用异常时间窗,进入下一步;否则,则认为该时间点应用流量没有发生异常行为,继续计算下一时间点上的信息熵值。

异常行为二次处理

如果在上一步中检测到了内部网络应用异常行为,则在记录的应用异常时间窗内计算流连接密度,若流连接密度在正常水平,则认为该时间点不存在应用异常;若流连接密度偏离正常水平,则可以通过人工标记的方式发现异常源ip地址、目的ip地址以及ip地址对,得到内部网络应用异常发生的原因以及时间。

通过对网络应用流量参数进行处理,判断某源ip地址、目的ip地址以及ip地址对是否异常的具体步骤如下:

1)设应用异常时间窗大小为n,流连接密度在应用异常时间窗内各时间点的流量

参数为xi(i=1,2,…,n)。

2)计算流连接密度在应用异常时间窗内均值

3)计算流连接密度在应用异常时间窗内平均波动x':

4)得到流连接密度在应用异常时间窗内波动与平均波动的比值δx,计算公式如下:

当δx小于给定门限时认为内部网络应用流量正常;当δx大于给定门限时判定为内部网络应用流量发生了异常,即分别对topn(在本文中n值默认为20)每一条源ip地址、目的ip地址以及ip地址对进行检测。

对于历史源ip地址、目的ip地址以及ip地址对统计结果建立一个top2n的数据表,记录源ip地址、目的ip地址以及ip地址对的信息熵值,若当前异常时间点topn的源ip地址、目的ip地址以及ip地址对不在历史top2n的数据表中,或者当前异常时间点topn的源ip地址、目的ip地址以及ip地址对的信息熵与top2n的数据表中信息熵比值超过阈值,则判定该源ip地址、目的ip地址或ip地址对发生异常。

流连接密度

流连接密度计算方法如下。

内部网络的应用流量是由海量的应用流构成的,对于单条流,其短期行为特征无法很好地对网络应用行为进行很好地表征,并且网络应用异常会导致网络应用流量的某些特性发生改变,研究这些特性的变化可以有效地检测网络应用流行为的异常。

r={f1,f2,f3,…,fn}为网络应用数据流集合,集合中的元素为三元组的形式,即fi={si,di,pi},其中si,di,和pi分别表对示源ip地址、目的ip地址和目的端口号,若f1,f2,f3,…,fn的源ip地址、目的ip地址和目的端口号均相同,则成为一组相关数据流,对应的集合r为相关数据流集合,相关数据流集合内元素个数至少为1。

设单位时间内网络应用数据流集合r={f1,f2,f3,…,fn},其中相关数据流集合为{r1,r2,r3,…,rn},则定义网络应用流连接密度为相关数据流集合个数,即n。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1