首页> 中国专利> 一种基于网络流量分析的异常检测方法

一种基于网络流量分析的异常检测方法

摘要

本发明是一种基于网络流量分析的异常检测方法。本发明通过对IP数据包的深入分析提出了一个比较完备的网络流量初始特征集,有利于从根本上提高异常检测系统的性能。并根据不同类型的网络异常动态选择用于异常检测的特征子集,最后利用贝叶斯分类器根据特征子集对未知样本进行类别预测,如果预测结果为异常,则进行异常提示。软件三个模块:数据预处理模块负责前期数据的处理;特征选择模块根据异常的类型选择用于检测异常的合适的特征子集;异常检测模块在发现异常后进行异常提示。本发明提出的动态特征选择算法可以针对不同类型的异常动态的选择出用于检测该异常的最优特征子集,有助于降低用于检测异常的流量特征维数,提高异常检测的准确率。

著录项

  • 公开/公告号CN103023725A

    专利类型发明专利

  • 公开/公告日2013-04-03

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN201210560973.1

  • 发明设计人 赖英旭;李秀龙;杨震;刘静;李健;

    申请日2012-12-20

  • 分类号H04L12/26(20060101);H04L29/06(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人刘萍

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2024-02-19 19:24:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-03-04

    授权

    授权

  • 2013-05-01

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20121220

    实质审查的生效

  • 2013-04-03

    公开

    公开

说明书

技术领域:

本发明涉及一种基于网络流量分析的异常检测方法,属于信息安全领 域。 

背景技术:

随着计算机和互联网络技术的快速发展与广泛应用,计算机网络系统 的安全受到严重的挑战,来自计算机病毒和黑客攻击及其他方面的威 胁越来越大,因此在用户上网时检测异常是困难的。首先,网络中存 在各种各样的异常。异常可能来自具有恶意企图的网络活动,如端口 扫描,分布式拒绝服务攻击,也可能是用户误操作和网络故障,如链 路故障,路由问题,测量设备的缓冲溢出等。其次,存在高维流量特 征异常的现象。在检测过程中,如果所选特征子集是低维的,则不足 以描述网络流量及其含有异常的特性;如果所选特征子集是高维的, 则增加了检测和分类模块的计算复杂度。因此如何根据实际流量动态 选择合适的流量特征来检测异常是研究人员面临的挑战。

国内外现有的异常检测方法主要有统计分析,数据挖掘,机器学习等 多种方法,但是这些方法已经研究了很多年,技术已经基本成熟,对 于各种方法本身存在的缺陷仍然无法克服。所以需要一种新的异常检 测方法来完善异常检测领域的不足。已有方法的不足主要体现在检测 复杂度高,检测准确率不理想等方面。为了改善这方面的不足,快速 准确的检测用户上网过程中出现的异常,发明人通过对各种网络流量 进行深入分析,提出一个比较完备的网络流量初始特征集,并根据具 体的异常类型动态选择出最优的异常检测特征集,最后利用贝叶斯分 类算法根据异常检测特征子集对未知样本进行类别预测。采用这种方 法,有助于降低用于检测异常的流量特征维数,提高异常检测的准确 率。

发明内容:

针对上述问题,本发明提出了一种通过对网络流量进行分析来检测异 常的方法,旨在建立一个完善的检测系统,实现对网络异常的检测, 检测系统分为三个模块:数据预处理模块、特征选择模块和异常检测 模块。本发明的特征在于依次包括以下步骤:

1)首先进行数据预处理:获取主机上网流量,然后根据初始特征集和 预先设定的时间窗口(时间间隔)长度对主机上网流量进行数据预处理 ,提取主机上网流量在各个时间窗口内的初始特征值(相同时间间隔内 特征的取值),形成样本集(样本集由多个样本组成,每个样本包含11 0个网络流量初始特征的值),本发明提出的网络流量初始特征集合如 下表所示,它是主机在一定时间间隔(如2s)内产生的网络流量的110个 统计量:表1 网络流量初始特征集

初始特征集包含110个特征,对网络流量的特性有了一个较为完整的描 述。

2)然后进行特征选择:在特征选择之前,先给出相关的定义:

定义1 正常样本集是正常的网络流量经过步骤1中的数据预处理之后 产生的正常样本的集合。每个样本包含一定时间间隔内110个网络流量 初始特征的值。

定义2 异常样本集是异常的网络流量经过步骤1中的数据预处理之后 产生的异常样本的集合。每个样本包含一定时间间隔内110个网络流量 初始特征的值。异常网络流量包括网络故障产生的网络流量以及恶意 代码产生的网络流量。 

定义3 定义偏离度计算公式,用于计算一个未知样本的110个特征与 已知样本集对应特征的偏离程度。其中μi为已知样本集的110个特征 中的一个特征i的平均值,即已知样本集中特征i取值大于零的样本在 特征i上的取值的算术平均值。maxi是已知样本集中所有样本在特征i 上的取值的最大值,xi是新出现的一个未知样本中特征i的值,i是特 征编号,i=1,2,…,110。

定义4 定义threshold为特征集偏离度之比门限值,即选择出的特征 子集中所有特征的偏离度之和占初始特征集中所有特征偏离度之和的 比重的门限值,若果选择出的特征子集达到此门限值,则该特征子集 可以用来进行异常检测。设定该门限值的取值范围为[0.5,1),门限值 取值越大,选择出的特征子集的特征个数越多,后续的计算复杂度也 会越高,建议取值0.5会取得很好的效果。

定义5 定义compression_ratio为特征压缩率门限值,即选择出的特 征子集的特征个数占初始特征集特征个数比重的门限值,如果选择出 的特征子集低于该门限值,则该特征子集可以用来进行异常检测。设 定该门限值的取值范围为(0.01,0.5), 门限值取值越大,选择出的特 征子集的特征个数越多,后续的计算复杂度也会越高,建议取值0.1会 取得很好的效果。 

定义6 定义数据结构ATTR(index,offset),其中index为特征在初始特 征集中的位置,offset为该特征的偏离程度。

利用动态特征选择算法, 选择出适合于分类的最优特征子集,算法 中用到的正常流量可以通过wireshark等抓包软件获取,也可以直接使 用国际上权威的骨干网正常流量数据集;异常流量可以通过仿真设备 获取,如ThreatEx,也可以直接使用国际上权威的异常流量数据集。 动态特征选择算法步骤如下:

1. 从i=1开始,使用偏离度计算公式计算 V1i,V2i, 其中V1i是正常样 本集2与正常样本集1对比后,特征i的平均偏离程度,即正常样本集2 中每个样本的特征i相对正常样本集1的特征i的偏离程度的平均值。V 2i是异常样本集与正常样本集1对比后,特征i的平均偏离程度,即异常 样本集中每个样本的特征i相对正常样本集1的特征i的偏离程度的平均 值。一直计算到i=110。使用预先定义的数据结构ATTR定义长度为110 (初始特征集特征个数)的数组W,令Wi.index=i, ,并对数组W按字段 offset由大到小进行排序,i=1,2,…,110。

2.计算令的最小m值,若m≥110*compression_ratio,则令m=[110*c ompresion_ration],公式中[]在本发明中表示取整数,其中m为选择 出的特征个数,threshold为特征集偏离度之比门限值,若选择出的特 征子集达到此门限值,则特征选择结束。110为初始特征集特征个数, compression_ratio是特征压缩率门限值,故110*compression_ratio 为选择特征个数的门限值,如果选择的特征个数超过该门限值,而特 征子集偏差之和所占的比重仍未超过threshold,则算法同样终止。

3. 保存m值以及这m个特征在初始特征集中的位置,算法结束。

选择出的用于检测异常的特征子集将作为贝叶斯算法的输入进行异常 检测。

3)最后进行异常检测:使用选择出的特征子集和贝叶斯分类算法对未 知样本进行分类,如果分类结果为异常,则进行提示。

本发明方法建立了一个完整的异常检测系统。优点如下:

1.提出了一个比较完备的网络流量初始特征集,有利于从根本上提高 异常检测系统的性能。

2.本发明提出的动态特征选择算法可以针对不同类型的异常动态的选 择出用于检测该异常的最优特征子集,有助于降低用于检测异常的流 量特征维数,提高异常检测的准确率。

附图说明

图1是本发明实现基于网络流量分析的异常检测方法的流程图。 

具体实施方式

下面结合附图1具体介绍本发明实现方法的步骤: 

参见附图1,本发明是一种通过对网络流量进行分析来检测异常的方案 。检测方案分为三个模块:1数据预处理模块、2特征选择模块、3异常 检测模块,检测流程如下:

1)首先,使用数据预处理模块对网络流量进行数据预处理。打开已获 取的网络流量(正常或异常)信息文件,并按照初始特征库中的流量特 征(共110个,见初始特征集表)统计相同时间间隔(如2s)内各个初始特 征的值,110个初始特征值组成一个样本,多个样本组成样本集(正常 或异常),样本集保存在特征值库中,例如对一个用户某天内60分钟的 上网流量信息文件进行数据预处理,经过数据预处理后,产生正常样 本集;例如对10分钟的DDOS攻击流量信息文件进行数据预处理,经过 数据预处理后,产生DDOS异常样本集,正常样本集(见定义1)位于正常 样本集文件目录,异常样本集(见定义2)位于异常样本集文件目录。

2)然后,使用特征选择模块进行特征选择,选择用于异常检测的最优 特征子集。打开位于正常样本集文件目录中的正常样本集1,正常样本 集2 ,利用偏离度公式(见定义3)计算正常样本集2与1中各个初始流 量特征的偏离度V1i;打开异常样本集(如ICMP DDOS样本集),利用偏 离度公式计算异常样本集与正常样本集1中各个特征的偏差值V2i,利用 除法公式计算V2i与V1i的商值,使用预先定义的数据结构ATTR(见定义6 )定义长度为110(初始特征集特征个数)的数组W,令Wi.index=i, , 并对数组W按字段offset由大到小进行排序,i=1,2,…,110。然后利用 本发明提出的动态特征选择算法进行特征选择,选出的特征子集的特 征编号保存在异常检测特征库中,该特征子集即为检测打开的异常样 本集对应的异常类型的最优特征子集。如采用正常样本集1,正常样本 集2,ICMP DDOS攻击样本集进行特征选择,经过特征选择后,选择出 的特征子集的特征编号及名称为:41:ICMP包上传与下载数据包个数之 比,45:ICMP包上传与下载流量大小之比,1:上传的ICMP包个数,40:  IP数据包上传与下载数据包个数之比,66: ICMP包中回送请求报文数 。上述特征子集即使为用于检测ICMP DDOS异常的最优特征子集。

3)最后,使用异常检测模块检测未知样本,该模块先学习用于训练的 正常样本集和异常样本集,建立正常样本库与异常样本库,然后根据 贝叶斯公式和经过特征选择得出的特征子集计算未知样本的类别概率 ,对未知样本进行分类。输出分类结果。若未知样本被分类为异常, 系统会发出警告,提示异常的发生。例如当ICMP DDOS异常样本出现 时,先与正常样本库进行对比,计算该样本属于正 常类的后验概率为0.1,然后与异常样本库进行对比,计算该样本属于 异常类的后验概率0.6,0.1<0.6,故判断该未知样本为异常样本,并发 出异常提示。

本专利选取权威的MAWI骨干网流量数据集以及据CAIDI组织发布的Wit ty蠕虫数据、ICMP DDOS 2007数据以及Conficker蠕虫数据进行试验 ,其中threshold取值为0.5,compress_ratio取值为0.1。检测系统根 据攻击类型选取的用于检测该攻击类型的特征编号以及检测效果如下 表所示:

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号