基于联合数据挖掘的网络异常检测系统的研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于联合数据挖掘的网络异常检测系统的研究摘要:网络攻击日趋隐蔽和复杂化,传统的检测方法具有很大的局限性。该文提出将网络管理中故障管理和性能管理相结合,根据目前网络中可获得的丰富的数据进行联合挖掘,能够全面发现网络中存在的问题。

关键词:数据挖掘异常检测网络管理

Research on Network Anomaly Detection System Based on Alliance Data Mining

Abstract:The network attacks become more and more unnoticeable and complex,which can deceive the traditional detection methods.In this paper,a method focusing on how to alliance mining according to the diverse network data is discussed,combining fault management with performance management,which can discover problems in network thoroughly.

Keywords:Data Mining Anomaly Detection Network Management

随着目前网络环境越来越复杂,网络攻击形式越来越多样,如何维持网络性能的稳定成为网络管理的一个难题。现实中引起网络异常的原因有很多,典型的有:网络设备故障、网络过载、恶意的拒绝服

务和网络入侵等等。如何发现这些异常一直是研究的热点问题。然而网络异常的发现依赖于可获得的网络数据及其分析。一般情况下,网络中可获得数据包括:网络设备的告警日志、网络设备的Trap消息、网络流量数据和基于简单网络管理协议(SNMP)获得的相关MIB的数据。我们假设“网络异常能够在异常事件发生之前或发生时被一些相关的瞬时变化所刻画”,所以通过对这些数据的分析一般都能发现与异常相关的信息。[1]在此之前已经有专家在这方面进行了一些有创造性的工作。1997年Mika Klemettinen等人提出了“频繁情节(frequent episode)”的概念[2],在1999年提出了将频繁情节挖掘的方法应用于电信网的告警数据分析中,用来自动提取规则,并实现了一个“电信网告警序列分析器(TASA)”的电信网故障管理系统[3](见图1)。

在流量异常分析方面,目前在入侵检测系统中研究的较多。主要包括基于行为(异常检测)和基于知识(误用检测)两类[4]。基于知识的检测一般是在对已知攻击特点进行分析的基础上提出规则,然后根据这些规则进行检测,特点是速度慢,准确度高,但对于未知的攻击无能为力。基于行为的检测一般是以统计的方法来分析某一网络的流量特点,建立相应的数学模型,然后根据定义的模型来预测异常。这种方法的特点是速度快,对未知的攻击也能预测,但误报率较高。

告警日志的挖掘是网络管理的故障管理方面的内容,而流量异常分析则涉及性能管理方面的内容。在实际中往往存在相关性,例如某

些设备的故障会导致整个网络性能的下降,而某些流量引起的网络拥塞则极有可能会引起网络设备的故障。并且在当前网络复杂性日趋增加的情况下,只有将各方面的数据结合起来,从不同的角度进行分析,才能取得更好的效果。因此,我们将网络中的各种数据联合起来进行分析,用来更好的发现各种网络异常。

1 联合数据挖掘系统的设计

1.1 数据挖掘简介

数据挖掘是从大量的、有噪声的数据中提取出事先并不知道的信息的过程,这种信息往往是以模式、趋势和结构的形式呈现的[5]。它包含多种技术如数据库管理、机器学习、统计、并行处理和可视化等。它一般分为一下几个步骤:①数据清洗,清除噪声或不一致的数据;②数据集成,多种数据源可以组合在一起;③数据选择,从数据库中选择与分析任务相关的数据;④数据变换,转换成适合挖掘的形式;⑤数据挖掘,使用智能方法提取数据模式⑥模式评估,识别表示知识的模式;⑦知识表示,向用户呈现获取的知识。

通常根据不同的目的选择不同的分析方法。数据挖掘中常用的分析方法有:关联分析、频繁情节分析、聚类分析、分类、回归等。在我们的系统中用到了关联分析、频繁情节分析、分类和聚类分析的方法。

1.2 网络数据的获取

获取正确类型的网络数据对于异常检测是必需的。被检测的异常的类型依赖于可获取的网络数据。目前获取网络数据的方法有如下几种:

(1)网络设备的告警日志

网络设备(如交换机、路由器、服务器等)在运行过程总都会产生大量的日志,这些日志中包含了用户的异常行为:例如对设备的非授权访问、路由器或交换机的某个端口链路异常、DHCP服务器分配地址失败等等。对这些数据的分析对于发现R2L,U2R等攻击非常有效。

(2)基于简单网络管理协议获得的相关数据

简单网络管理协议的MIB中提供了网络中被管设备的大量的信息。例如MIB-II中的interface组中的信息提供了被管设备的端口的流量的详细统计情况[6],通过对交换机或路由器的这些统计信息的获取,可以知道具体端口的流量情况。对这些数据的分析可以发现分布式拒绝服务(DDoS)攻击等以损耗带宽为目的的攻击。但是这类数据只是提供统计以后的信息,对于转发的具体IP分组的信息不记录。

(3)IP分组捕获

目前捕获IP分组的信息的方法有两种:一种是CISCO的

Netflow[7]:Netflow是CISCO基于流测量的专有技术,其性能高,且能适应100?m带宽的需求,而且其独有的流归并的方法,使得统计更加简单,且效率更高。目前已经广泛应用于网络性能检测和流量计费等领域。然而它一般需要相应的路由器或交换机等硬件设备的支持。另一种是利用Libpcap[8]库:Libpcap库是UNIX环境下通用的函数库,目前在Windows环境下也有相应的Winpcap库。著名的sniffer 软件TCPDUMP和Ethereal就是分别以这两个库为基础开发的。适合于在局域网中使用。

1.3 联合数据挖掘系统的架构

综合上面提到的可获取的网络数据,并把网络管理中的故障管理和性能管理结合起来,我们提出了一个联合数据挖掘系统,如图2所示。

我们采取了类似于简单网络管理协议中的代理和管理者的结构。代理向管理者提供测量的网络数据供挖掘系统进行分析,通过1.2节的分析,我们知道这些网络数据都是可以得到的。挖掘系统负责对这些不同的数据进行分析,是整个系统的核心。如图3所示。

在上图中,数据预处理包含了数据挖掘步骤中的数据清洗、数据集成。关联挖掘、频繁情节挖掘和流量异常分析对应挖掘过程。参数设定和规则修订是评估的过程,也是一个自我学习的过程。

2 系统实现

相关文档
最新文档