学习啦 > 论文大全 > 职称论文 > 孤立点分析在防火墙入侵检测的研究论文

孤立点分析在防火墙入侵检测的研究论文

时间: 谢桦657 分享

孤立点分析在防火墙入侵检测的研究论文

  入侵检测,顾名思义,就是对入侵行为的发觉。他通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。以下是学习啦小编今天为大家精心准备的:孤立点分析在防火墙入侵检测的研究相关论文。内容仅供阅读与参考!

  孤立点分析在防火墙入侵检测的研究全文如下:

  关键词:孤立点分析;防火墙;入侵检测;

  1. 引言

  防火墙的入侵检测是检测和响应计算机误用的技术,其作用包括威慑、检测、响应、损失情况评估、攻击预测和起诉支持。但是,现在大多数入侵检测系统都存在一个共同的问题,即系统位于不同的主机上,各自有各自的训练集和数据库。它们只对经过本机的数据进行分析和检测,而对于整个网络来说,它们之间是孤立的。采用孤立点的方法比如基于密度的孤立点检测方法直接从异常本质出发来发现异常,给每个对象都赋予一个异常因子来表示其异常程度,然后把异常因子大的那些行为认为是入侵行为,相比聚类技术更适合网络入侵的异常检测。

  2. 数据挖掘技术在防火墙中的应用

  2.1 数据挖掘技术

  数据挖掘是从大量数据中揭示有效的、新颖的、具有潜在效用以及最终可理解的知识和模式的非平凡过程。一般而言,数据挖掘的任务主要有分类分析、聚类分析、关联分析、异常检测以及预测分析等[1]。

  数据挖掘是知识发现中的一个步骤,这个步骤会利用特定的算法和工具,在计算机和用户可接受的时间内,完成一个处理序列,并向用户返回某种结果的过程。

  2.2数据挖掘在网络入侵检测中的应用

  目前应用最广的入侵检测系统是基于特征签名的方法,这种方法只能检测到特征签名库中已知的攻击,因此特征签名库必须对新的入侵行为的特征进行手工更新。这些局限性使基于数据挖掘的入侵检测系统的研究越来越受到重视[2]。

  基于数据挖掘的入侵检测模型的构建过程与知识发现过程相似,同样要经过数据准备、模型构建和解释评估三大阶段。网络入侵检测系统中常用的数据挖掘方法主要有关联分析、序列模式方法、分类分析、聚类分析、以及孤立点挖掘。

  2.3 聚类分析

  聚类分析是将物理或抽象的对象组成的集合分组成为由类似的对象组成的多个簇,使得处于相同簇中的对象具有最大的相似性,而处于不同簇中的对象具有最大的差异性的方法及过程。在许多应用中,可以将一个簇中的数据对象作为一个整体来对待,从而可以辅助人们从整体上对于有多个事物所构成的群体取得认识[3]。通过聚类,能够找出数据属性之间潜在的相互关系。聚类分析已经广泛应用在许多领域中,如模式识别,数据分析,图象处理,以及市场研究等。

  作为数据挖掘的功能之一,可以将聚类分析作为一个独立的工具来获得数据分布的情况,观察每个簇的特点,从而集中对特定的某些簇做进一步的分析。在很多情况下,聚类分析也可以作为其它算法(如特征和分类等)的预处理步骤,这些算法在生成的簇上再进行处理。

  3. 基于入侵检测的防火墙系统

  3.1 防火墙中的孤立点算法

  算法的开始先有一个聚类过程,经过这一步骤后,算法在处理不同密度的区域是表现很好。在聚类处理过程中,不同密度区域中的点落到各个聚类中,可以一簇一簇地而不是一个一个地发现潜在的孤立点[4],这就使试验中的孤立点检测算法与当前的所有方法相比是高效的。

  聚类过程是一个可适应性的过程,它能够根据不同的分布状况聚成不同的类,可适应性体现在聚类点间的方差作为停止聚类的一个量度。从数据集中的一个随机点开始聚类,离它最近的各点依次被加入到聚类中,每个点加入后,都要重新计算一下聚类的方差。当一个点加入后计算所得的方差增加得相当大时,该聚类就停止生长了,因为这意味着这个点不应该属于此聚类[5]。算法从这个点开始生成一个新的聚类。重复这个过程,直到数据集中的所有数据点都被处理过。

  3.2算法流程

  算法分为三个主要步骤。第一步,可适应性地将数据点聚成不同密度的聚类;第二步,选择包含很少点的簇(即小聚类)作为候选孤立点集。第三步,也就是孤立点检测步骤,计算候选孤立点集与非候选孤立点集之间的距离,如果候选集离所有的非候选集都很远的话,它们中的点被标定为孤立点[6]。

  Step1:从数据集中的一个随机数据点开始,将它加入最近的聚类中,计算加入后的聚类的均值和方差,加入更多的点到此聚类中,直到加入点引起聚类方差增加巨大。此时停止当前聚类的生长,将刚加入的点从此聚类中移除。

  Step2:从刚移除的点开始一个新的聚类,重复Step1

  Step3:重复Step2直到数据集中所有点都被处理过

  Step4:计算各聚类中点的个数。如果一个聚类中点的个数少于K个,选择它为候选孤立点集。

  Step5:计算每个候选孤立点集与所有非候选孤立点集之间的距离,如果距离大于既定的阈值D,标定此候选集为孤立点集,否则标定它为非孤立点集。

  Step6:重复Step5直到所有的候选孤立点集被处理过。

  4 实验

  4.1 数据采集

  本文设计的重点在数据挖掘引擎的设计与实现部分,并没有将数据预处理和结果可视化作为研究的内容。同时,由于采用KDD99网上竞赛标准数据集,因此也没有使用特定的数据库作为支持,源数据以特定的文件格式存储,避免了数据清洗部分的工作。为了不失一般性,所有数据均通过TCPDUMP数据包嗅探工具进行格式转换,符合网络数据包和日志文件的标准,从而模拟真实的网络入侵检测系统环境。在此基础之上,利用数据挖掘的方法,设计相应的程序对日志文件进行检测和分析,从中发现异常日志记录,验证设计思路的正确性。实现系统涉及到的文件有:

  无攻击类型标记的标准数据集attackdata.xml

  有攻击类型标记的标准数据集safedata.xml

  分类算法训练集classifyattack.xml

  分类算法测试集classifysafe.xml

  分类算法经验集exp.xml

  孤立点挖掘算法(聚类)数据源datasource.xml

  孤立点挖掘算法经验集pointexp.xml

  4.2 孤立点检测

  如前所示,试验中的方法先找到候选孤立点集,然后计算候选的和非候选的点集之间的距离,这可以加快孤立点检测速度。由上面的叙述可知算法的核心部分在DetectIt()和Se

  tOutlier(int k,int d)方法中,前者只有一个循环,循环的每一步取一个数据点,即一条记录,所以时间复杂度为O(n)。后者有两个循环,但它的每一个循环的每一步取的都是一个簇,即若干点的集合,在聚类数量很多的情况下,循环的步数会很少。即使在最坏情况下,时间复杂度为 ,也在接受范围之内。

  图1 孤立点检测流程图

  当前入侵检测系统或孤立点检测算法的主要问题是它们的误报率太高。在试验中的方法中,如果参数K和D取的得当,可以得到一个满意的误报率。而且试验中的方法与当前存在的方法,特别是与基于统计的和LOF相比是一个简单的方法。由于它的简单特性,它能获得一个较快的处理速度,这对于网络实时处理是至关重要的。因为在这种环境下,响应时间是衡量一个算法优劣的最关键标准。

  4.3 结果分析

  把检测引擎滑动窗口的大小N设为1000。由于动态孤立点检测算法开始需要一次静态孤立点检测结果为基础,首先用数据集中的前一千条记录进行静态算法检测。然后将数据集中的连接记录依次输入到检测引擎中来模拟连续到达的数据流:每输入一个连接记录,窗口朝前滑动一次并进行一次算法检测。由于的目的是对最新加入的每一条数据记录进行连续查询其是否属于孤立点,因此算法根据n阈值调整函数先得出n的动态调整值n(pnew),然后对滑动窗口内数据点进行排序,如果pnew的序位m小于等于此时n阈值的动态调整值n(pnew),则认为这条新加入的连接记录pnew为入侵行为。

  表1 各种入侵行为类型攻击次数的统计

  攻击类型 小类别 小类别攻击次数 大类别攻击次数

  DOS back 7 53

  land 5

  neptune 4

  pod 17

  smurf 18

  teardrop 2

  U2R buffer_overflow 18 33

  loadmodule 2

  perl 2

  rootkit 11

  R2L ftp_write 2 37

  phf 2

  spy 2

  warezclient 3

  warezmaster 10

  guess_passwd 18

  Probling ipsweep 13 40

  nmap 11

  portsweep 10

  satan 6

  表2 入侵行为在数据流序列中的分布情况

  数据流序列

  1-1000 1001-2000 2001-3000 3001-4000 4001-5000 50001-6000

  攻击次数 0 0 78 0 12 73

  5. 结论

  本系统的研究即基于数据挖掘技术的孤立点检测算法引入到入侵检测系统之中,并分析了数据挖掘工具应用于入侵检测系统的可行性与有效性。

  参考文献:

  [1] Dongmei Ren,Yuehong Jiang. Network Intrusion www.51lunwen.com/jsjzy/ Detection Using Outlier Detection Method CSci693 Network Security,1997.

  [2] Jiawei Han,Micheline Kamber. Data Mining Concepts and Techniques,1998.

  [3] R Agrawal,T Imielinski,A Swami. Database mining:A performance perspective IEEE Trans. Knowledge and Data Engineering,1993.

  [4] 潘云鹤,王金龙,徐从富.2006.数据流频繁模式挖掘研究进展.自动化学报,32(4):594-602

  [5] 杨风召.高维数据挖掘技术研究.南京:东南大学出版社,2007,86-96

  [6] 刘文涛. 网络安全开发包详解. 电子工业出版社,2005,21-24

358969