加入收藏 | 设为首页 | 欢迎光临齐鲁学术论文网!

 联系我们

点击这里给我发消息
点击这里给我发消息
点击这里给我发消息
点击这里给我发消息
联系电话:
 图书馆学情报学论文代写代发
基于数据挖掘技术的异常信息流检测模型
发布时间:2017-08-10 点击: 发布:
基于数据挖掘技术的异常信息流检测模型
孟梅  杨福宝
武汉理工大学国防科技研究院
 
要:针对传统的异常信息流检测方法的不足,设计了一个异常信息流检测模型,该模型采用了数据挖掘中的决策树算法对信息流进行归纳分类,采用信息增益作为分类属性选择标准来构造规则决策树,针对网络流量进行分析,能提高检测速度。开辟了一条检测异常信息流的新途径。
关键词:网络安全;流量分析;数据挖掘

1 引言

信息安全是国家政治、经济、国防安全的重要组成部分,也是新形势下保密工作的主攻方向。目前网络已成为信息的传输、交换的主要途径,而网络安全形势却不容乐观,一方面,信息系统中发现的安全漏洞越来越多;另一方面,借助隐蔽通道外泄敏感信息,以及恶意的网络入侵、网络攻击层出不穷。其中,异常信息流属于网络隐通道,是一种违背安全策略进行信息传输的机制,异常信息流会造成系统内部信息的丢失和外泄。本文设计了一个基于数据挖掘技术的异常信息流检测模型,目的在于检测网络中可能的或存在的信息暗流(非法信息流),开辟一条检测异常信息流的新途径。
对于异常信息流的一般检测方法通常是采用类似于IDS(Intrusion Detection System)的方法,即截获网络数据报并对报文进行分析处理,建立一个规则集合,然后在收集到的网络活动信息中寻找与规则集合匹配的相关信息。因此这种检测方法的特点是准确率高,不足的是在检测过程中都是将收集的数据包与所有已有规则逐条串行检测,随着新型异常流的涌现,规则数量的增加将是必然的趋势,这样必将导致检测效率的低下。本文将决策树的分类方法引入到检测过程中,使得规则匹配过程中的并行处理大为提高。

2.异常信息流检测模型概述

2.1 模型的构成

流量采集
流量
分类
流 流
量 量
分 判
析 别
自适应
调整
流量信息库
模型参数库

    模型的结构如图1所示。该模型包括四个模块:流量采集模块、流量分类模块、流量分析和判别模块、自适应调整模块;两个数据库:流量信息库、模型参数库。

图1  模型结构示意图

2.2 各模块功能简介
(1)流量采集模块
    流量采集模块的功能是对大规模的流量进行采集,将其采集的数据存到流量信息库中。
在本模型中采用Cisco公司开发的一种协议——NetFlow采集数据,它能方便地进行大规模的流量采集,并且现在很多主流路由器都支持NetFlow[1]
在NetFlow中,一个流(Flow)指的是从源地到目的地的单向数据传输流。一条Flow通常用7元组(源IP地址,目的IP地址,源端口,目的端口,协议类型,服务类型,输入接口的逻辑索引)来表示。根据NetFlow版本的不同,Flow条目信息还可包含不同的字段内容[2,3]
(2)流量分类模块
    流量分类模块的功能是根据流量信息数据库中的信息流进行分类,分类越细越利于下一步的流量分析。在本模型中流量分类利用的是数据挖掘技术中的决策树分类法。分类的具体实现将在下文中做详细讨论。
(3)流量分析和判别模块
    流量分析和判别模块的功能是检测信息流,判别是否为异常信息流。判别必须根据已有的分类规则,进行匹配,如果符合已有的规则,则该信息流为异常信息流。对于无法判别的信息流传入自适应模块调整模块。
(4)自适应模块调整模块
    自适应模块调整模块的功能是对于无法判别的信息流,进行处理(修改参数),将处理后的信息流送入流量分类模块进行分类。在本模型中,对于无法判别的信息流处理依赖于管理员的干预。

3.决策树分类

决策树方法是一种通过构造决策树来发现训练集中分类知识的数据采掘方法,其核心是如何构造精度高、规模小的决策树。决策树是一棵树,内部接点是最佳扩展属性,叶节点是类别属性值;内部节点对应的数据集是不纯的,根节点对应的数据集是训练集A,其它内部节点对应的数据集是A的子集;叶节点对应的数据集是纯的训练子集。
3.1 算法描述
Quinlan在1986年发明了著名的ID3算法[4],它是决策树方法中最经典的学习算法,采用自顶向下的贪婪算法搜索遍历可能的决策树空间,它的显著特点是只能用来处理属性值是离散的数据形式的数据集。ID3算法的基本策略如下4点[5]
(1)创建一个节点。如果样本都在同一个类中,则算法停止,把该节点改成树叶节点,且用该类标记。
(2)否则,选择一个能够最好地将训练集分类的属性,该属性作为该节点的测试属性。
(3)对测试属性中的每一个值,创建相应的一个分支,据此划分样本。需要注意的是,在ID3算法中,属性的值都是离散的。
(4)使用同样的过程自顶向下递归,直到满足下面三个条件中的一个时,就停止递归:
(a)给定节点的所有样本都属于同一类;
 (b)没有剩余的属性可以用来进一步划分;
 (c)继续划分得到的改进不明显。
决策树算法的一个重要问题是在树的各个内部节点处寻找一个属性,该属性最好能将训练集进行分类。ID3通过划分提供的信息增益选择测试属性,其中属性的选取,其计算方法如下。
3.2 测试属性的选择
属性选择的基础是基于使生成的决策树中节点所含的信息熵最小。所谓熵在系统学上是表示事物的无序度。因此熵越小则记录集合的无序性越小,也就是说记录集合内的属性越有顺序有规律,这正是构造决策树的目标。集合S的熵的计算公式如下:
       (1)
式(1)中:freq(Ci,S) , 代表集合S中属于类Ci(k个可能类中的一个)的样本数量。|S|表示集合S中的样本数量。上面的公式仅仅给出了一个子集的熵的计算,如果按照某个属性进行分区后就涉及到若干个子集,还需要对这些子集进行熵的加权和的计算,公式如下所示:
                                      (2)   
式(2)中:T——按照属性x进行分区的集合。为了更加明显的比较不同集合的熵的大小,计算分区前的集合的熵和分区后的熵的差(这个差叫做增益),增益大的就是要选取的节点。公式如下:
                              (3)
 
3.3 具体实现
 (1) 数据准备:由于文章篇幅有限,这里以一个简单的数据集说明决策树分类的实现。该数据集有 10 个样本,每个样本只选取了Flow的3个基本属性描述且属于所给的两个类 (类1, 类2) 之一。以表格的形式给出数据集合如表 1 所示。
 
表1 样本集合
样本编号
1
2
3
4
5
源地址(x1)
192.168.0.1
192.168.0.1
192.168.0.1
192.168.0.1
192.168.0.2
目标地址(x2)
192.168.0.78
192.168.0.79
192.168.0.79
192.168.0.81
192.168.0.78
目的端口(x3)
23
23
25
80
80
类别
类1
类1
类1
类2
类2
 
样本编号
6
7
8
9
10
源地址(x1)
192.168.0.2
192.168.0.2
192.168.0.3
192.168.0.3
192.168.0.3
目标地址(x2)
192.168.0.79
192.168.0.81
192.168.0.78
192.168.0.79
192.168.0.81
目的端口(x3)
23
25
80
80
80
类别
类1
类2
类2
类2
类2
 
(2) 进行分类:需要研究得出的就3个属性中分别属于类1和类2的共性的值。
首先,分别根据源地址、目的地址、目的端口对样本进行分类,所得的信息增益如下所示:
计算分区前的熵为:
  E(T)= -6/10*log2(6/10)-4/10*log2(4/10)=0.97095比特
分别根据源地址、目的地址、目的端口对样本进行分类,所得的信息增益为:
  EX1(T)= 4/10*[-3/4* log2 (3/4)-1/4* log2(1/4)]
+ 3/10*[-1/3* log2 (1/3)-2/3* log2(2/3) ]+3/10* log21=0.6比特
  Gain(x1)=0.97095-0.6=0.37095比特
  同理可得:
  EX2(T)=0.6比特
  Gain(x2) =0.97095-0.6 =0.37095比特
  EX3(T)=0.2比特
  Gain(x3) =0.97095-0.2=0.77095比特
由以上计算可知,目的端口(x3)具有最高信息增益0.77095比特,所以选择端口对决策树首次分区如图2所示。

QQ在线编辑

服务热线

展开