关键字 |
数据挖掘,入侵检测,网络,决策树,朴素贝叶斯,NBTree。 |
介绍 |
随着互联网的快速发展,网络安全已成为计算机技术的基本问题。因此技术专家的主要任务就是提供安全的数据保密性、数据完整性和数据可用性。入侵是一种试图破坏数据机密性、数据完整性和网络信息可用性的行为。有很多入侵检测攻击需要安全框架或系统安全工具来处理。实际上,入侵检测是在入侵过程中对数据进行监测和分析,以判断系统是否具有入侵性或系统中是否发生用户活动、系统日志等的一种知识。对可能的入侵检测,IDF向网络管理员发出警报。 |
本文介绍了数据挖掘中的入侵检测框架,用于检测对计算机系统的不安全网络攻击。本文下一章将详细介绍该框架。 |
通常,入侵检测系统可以分为三种系统(1)基于误用的系统,(2)基于异常的系统,(3)混合系统。基于误用的IDS简单模式匹配技术来匹配攻击模式,与数据库中已知的攻击模式保持一致,并产生非常低的误报(FP)。它需要签名的规则还是要看的,不那么有名的攻击会定期更新。基于异常行为的IDS通过检查异常行为的新攻击[2]来确定正常行为,既已知又实现了高检出率(DR)的未知攻击,但会产生许多假阳性(FP)。基于异常的IDS,开发的IDS审计数据遵循规则采集。由操作系统开发的审计数据记录的活动按时间顺序记录到一个文件中。另一方面,结合了一种基于混合IDS的误用和破坏检测系统的技术。目前的自适应入侵检测旨在解决大量数据分析中的审计问题,对检查规则进行性能优化。 |
另一方面,根据跟踪的资源,将IDS系统分为三类:基于网络的IDS、基于主机的IDS和基于应用的IDS。基于网络的入侵检测系统监控网络流量,并使用原始包网络的内容分析网络协议、传输和应用,以识别可疑活动[3]。基于主机的IDS监视机器并审计来自主机操作系统的跟踪数据。一个常见的例子是数据审计系统调用、事件、资源利用率和Windows NT和UNIX环境syslog Note[4]。基于应用程序的IDS可以分为基于主机的IDS。它分析了汗水软件应用程序中的事件。 |
大多数IDS检测恶意活动,无论是在事务级别还是在操作系统级别,或者是在事务和标准操作系统级别[5-6]。ID有一些缺点: |
ï ·A数据过载。事实上,对特权的出现有很多攻击。为了测试这些攻击,需要收集大量的信息,包括系统日志、交易记录等进行分析。然而,传统的IDS很难理解和分析采集的数据,由于大量的数据源入侵检测。 |
假阳性。传统IDS的另一个缺点是,当普通攻击的数量被错误地分类时,会出现假阳性。 |
ï ·假阴性。这是IDS系统在有真实攻击时不会发出警报的系统。 |
本文的其余部分组织如下:第一节我们描述了数据集中的攻击类型。第二节详细介绍了各种数据挖掘算法以及算法的优缺点,第三节详细介绍了所提出的框架。在第四部分中,我们将讨论未来的工作和结论。 |
攻击类型 |
KDD99数据集中的类可分为五大类(一个普通类和四个主要入侵类:探针、DOS、U2R和R2L)[7-8]。 |
1)正常连接是通过模拟用户的日常行为产生的,例如下载文件,访问网页。 |
2) DoS (Denial of Service)攻击是指被攻击机器的计算能力或内存太忙或太满,无法处理合法的请求。DoS攻击是根据攻击者使合法用户无法使用的服务(如apache2、land、mail bomb、back等)进行分类的。 |
3) Remote to User (R2L)是指远程用户通过网络通信(包括send-mail和Xlock)向一台机器发送数据包,从而获得对本地用户/帐户的访问权限的攻击。 |
4)用户到根(User to Root, U2R)是一种攻击,入侵者利用系统的各种漏洞,从普通用户帐户开始访问,然后成为根用户。U2R攻击最常见的漏洞是常规的缓冲区溢出、负载模块、Fd-format和fb-config。 |
5)探测(Probe)是一种扫描网络以收集信息或发现已知漏洞的攻击。拥有网络上可用的机器和服务地图的入侵者可以使用这些信息来查找漏洞。 |
分类算法 |
系统构建分类是常用的数据挖掘工具。这样的系统当输入是收集,每个属于一个固定的属性设置,而输出是一个分类描述在一个小的类数,可以准确预测一个新的情况属于[9]类。本文基于决策树、朴素贝叶斯、朴素贝叶斯(CFSGSW)、NBTree和改进的自适应NBTree。 |
A.决策树 |
决策树是众所周知的机器学习技术。决策树由三个基本元素组成: |
ïÂ‑·与一个可能的属性值相对应的边或分支,这意味着一个测试属性结果。 |
ïÂ‑·指定测试属性的决策节点。 |
ï ·叶子也被命名为答案节点,包含对象所属的类。 |
在决策树中,应该确保两个主要阶段:构建树。在给定训练集的基础上,是建立一个决策树。它由每个决策节点组成,选择“适当的”测试属性,并定义每个叶的类标签。 |
分类令对新实例进行分类;我们开始确定树的根,然后测试节点指定的属性。测试结果,允许相对于属性值的给定实例向下移动树。这个过程一直重复,直到遇到一个叶子[10]。然后将实例按照与叶子相同的类特征进行分类。 |
属性选择度量考虑了每个属性对类的判别能力,从而选择“bestÃ①Â′Â′one”作为决策树的根(子)。也就是说,这个度量要考虑各个属性Ak确定训练objectsÃⅱÂ′Â′类的能力。文献中提出了许多属性选择措施[11-12]。我们提到增益比,在c4.5算法[12]中使用,并基于香农熵,其中对于属性Ak和一组对象T,它的定义如下: |
|
freq(ci, T)表示setT中属于类ci的对象的数量,TAKak是属性Ak值为Ak的对象的子集(属于标记为D(Ak)的Ak域)。然后,分割信息(Ak)被定义为属性Ak本身[12]的信息内容 |
|
因此,增益比是由Split Info校准的信息增益: |
|
划分策略以考虑所选测试属性对当前训练集进行划分为目标。停止标准处理停止决策树的一部分(甚至所有决策树)增长的条件。换句话说,它们决定了一个训练子集是否会被进一步划分。 |
B.Naive贝叶斯 |
朴素贝叶斯(Naive Bayes, NB)是一种监督分类学习方法,通常用于预测群体成员的可能性。它假设类的条件独立性,基于贝叶斯定理。贝叶斯网络是应用最广泛的不确定信息的表示和处理图形模型之一[13-14]。贝叶斯网络由两个元素指定: |
由有向无环图(DAG)组成的图形组件,其中顶点表示事件,边表示事件之间的关系。一种由DAG中每个节点在其父节点上下文中的条件概率分布对不同链接进行量化的数值组件。 |
朴素贝叶斯是一种非常简单的贝叶斯网络,它是由同一个根节点DAG(称为母节点)所忽略的那个节点,和几个子节点相对应,观察到的节点和它们在上下文中强假设独立的子节点之间。 |
这种分类是考虑到父节点是一个隐变量,每个测试对象类都需要设置父节点的隐变量,子节点代表指定对象的不同属性。 |
因此,在存在训练集的情况下,我们必须计算条件概率,因为结构是唯一的。一旦网络被量化,就有可能使用海湾规则提供任何新对象的属性值的分类。表示为: |
|
其中ci是会话类中的一个可能值,a是属性节点上的总证据。这些证据可以分成若干个证据,例如a、a……a相对于属性A1, A2,…分别的。由于朴素贝叶斯在假设这些属性是独立的(给定父节点C)下工作,因此它们的组合概率如下所示: |
|
注意,不需要显式地计算分母或P (A),因为它是由归一化条件决定的。 |
C.NBTree |
NBTree决策树算法是朴素贝叶斯分类器和分类器的结合。NBTree模型最好描述为具有节点和分支的决策树,叶子节点的贝叶斯分类。与其他基于树的分类一样,NBTree通过,具有分支和节点。给定A组实例的算法评价节点“Practice”为每个划分的属性。如果该属性的最大值明显优于实践实例,则根据当前节点将其划分为property。如果不进行除法,则提供一个重要的、能更好地提高有效性的朴素贝叶斯分类器来创建当前节点。计算节点离散数据的有效性和5倍的交叉验证,采用贝叶斯估计精度[15]。 |
D.朴素贝叶斯(CFSGSW) |
Naïve贝叶斯算法在上述步骤中已经讨论过,并听到了对CFSGSW技术的讨论。根据R.Kohavi和G.H.John(1997),特征选择保持原始特征不变,并选择预测目标类别变量的特征子集,其分类精度最大[16]。M.Hall(1999)提出了相关特征选择度量(CFS),该度量从成对的特征相关性计算特征子集的“优点”的启发式度量,并采用了测试理论[17]的公式。Mark A. Hall, Lloyd A. Smith(1998)比较了CFS与包装器方法。结果表明,CFS与Wrapper[18]相当或更好。倪志伟等(2007)提出了基于遗传算法的CFS方法来选择属性的最优子集。该方法能够识别出最相关的子集进行分类和预测,但分类精度降低[19]。 |
CFS度量基于两个概念来评估特征子集:特征-特征相关性和特征分类相关性。特征-特征相关性表示两个特征之间的相关性,而特征分类相关性表示一个特征与特定类的相关性有多大。 |
F.改进的自适应朴素贝叶斯树 |
Naïve贝叶斯树算法在上面的步骤中已经讨论过,并听到讨论改进的自适应朴素贝叶斯树。在给定的训练数据中,属性D = {A1, A2,…,An},其中每个属性Ai = {Ai1, Ai2,…,Aik}包含属性值和一组类C = {C1, C2,…,Cn},其中每个类Cj = {Cj1, Cj2,…,Cjk}都有一些值。训练数据中的每个例子都包含权重,W = {W1, W2…,Wn}。最初,训练数据示例的所有权重都具有相同的单位值,设置为Wi = 1/n。其中n是训练样本的总数。通过加权和每个类在训练数据中出现的频率来估计每个类的先验概率P (Cj)。对于每个属性Ai,每个属性值Aij的出现次数可以通过加权之和来计算P (Aij)。类似地,条件概率P (Aij | Cj)可以通过将训练数据中每个属性值在类Cj中出现的频率权重相加来估计。对所有属性值估计条件概率P (Aij | Cj)。然后,该算法使用先验概率和条件概率来更新权重。 This is done by multiplying the probabilities of the different attribute values from the examples. Suppose thetraining example ei has independent attribute values {Ai1,Ai2,..., Aip}. We already know the prior probabilities P (Cj) and conditional probabilities P (Aik | Cj), for each class Cj andattribute Aik. We then estimate P (ei | Cj) by |
|
为了更新训练例ei的权重,我们可以估计每个类ei的似然值。atei在一个类中的概率是每个属性值的条件概率的乘积。然后为每个类找到后验概率P(Cj | ei)。然后用该示例的最高后验概率更新该示例的权重,并根据最高后验概率更新类值。现在,对于每个属性Ai,评估属性Ai的效用u (Ai)。设j = argmaxi (ui),即具有最高效用的属性。如果uj没有明显优于当前节点的效用,则为当前节点创建NB分类器。根据属性Ai的检验对训练数据D进行划分。如果Ai是连续的,一个阈值分裂发出;如果Ai是离散的,则对所有可能的值进行多路分割。 For each child, call the algorithm recursively on the portion of D that matches the test leading to the child. The main procedure of proposed improved self-adaptive naive Bayesian algorithm is described [20]. |
在表1中我们讨论了不同的数据挖掘分类算法的优缺点。通过该表可以看出该算法的优点和不足,为开发新的入侵检测算法提供参考。 |
入侵检测系统框架 |
在此,我们提出了一个新的框架,用于数据挖掘领域的入侵检测。该框架分为四个主要阶段,第一阶段是DCS:数据捕获软件,第二阶段是预处理,第三阶段是数据分析系统,其中包含了使用专家知识的数据挖掘规则,第四阶段是IDS和SAC。以上阶段的详细描述将在下面讨论 |
A.第一阶段:DCS |
DCS是流量的收集器。它是一个简单的接口,通过系统/网络接口捕获信息流动,这是网络流量的传入。当抓包到来时,系统将数据解码为TCP/IP协议形式。利用一些开源的基于网络的入侵检测系统/软件进行DCS系统的信息采集。这将收集所有数据(包含噪声)并存储在数据库中。数据库包含所有的数据,基本上是一些行数据。行数据包含网络信息,如端口号、源网络地址、目标端口地址等。 |
|
B.第二阶段:预处理 |
在预处理中,数据来自DCS,基本上是包含缺失数据、重复数据、错误数据或异构性的一行数据。这就产生了数据清洗过程。预处理程序将来自原始流量数据库的原始网络数据包处理成数据挖掘引擎可以利用的格式数据。在此过程中,该模块将删除所有错误和重复的数据包。此外,该模块将执行噪声消除。数据清洗面一般将原始数据转换为服务器元组的形式,其中表示主机身份、userâ '  's身份、资源名称、对所访问资源的动作、动作开始时间、占用资源的时间、返回的错误码。现在这些干净的数据被转发到第三阶段(数据分析系统)。 |
C.第三阶段:数据分析系统 |
数据分析系统包含规则挖掘和专家知识。它利用数据库专家知识创建了分类规则、关联规则挖掘和序列规则挖掘等数据挖掘规则。数据分析系统也是系统的核心组成部分。该模块从预处理程序接收分析后的数据,并与从规则数据库中读取的数据进行比较。将比较结果预测到IV期。 |
D.第四阶段:入侵检测引擎。 |
IDE包含两个组件SME:签名匹配引擎和SD:签名数据库。这里的规则库数据是检查它是否包含入侵。签名库中包含了不同类型攻击的签名。将第三阶段的规则库数据提供给签名匹配引擎,通过签名库匹配原始数据库中的签名。如果SME发现匹配的签名,则向安全分析中心/管理员报警,入侵检测周期结束。 |
未来工作及结论 |
在未来的工作中,我们计划在真实的网络环境中实现所提出的框架。我们希望将所讨论的算法测试到所提出的框架上,并在实际的网络平台上找出该框架的逐次比。 |
本文对不同的入侵检测算法如决策树、朴素贝叶斯、朴素贝叶斯(CFSGSW)、NBTree进行了比较评述。我们已经找到了每一个的优点和缺点。朴素贝叶斯倾向于基于单个攻击的特殊特征来构建决策树,相反,贝叶斯推理的结果强烈依赖于先验概率。NB树(ISA)分析了大量的网络数据,并考虑了攻击行为的复杂属性,相反,它不用于真实的计算机网络,而在简单的NB树中,它扩展了分支和节点。 |
表格一览 |
|
表1 |
|
参考文献 |
- D. E. Denning,“入侵检测模型”,IEEE软件工程学报,vol. SE-13,no. 1。2,页。222-232, 1987.
- 拉扎雷维奇,A.,埃尔托兹,L.,库马尔,V., Ozgur,。A., Srivastava,和J.,“网络入侵检测中异常检测方案的比较研究”,2003年SIAM数据挖掘会议论文集。
- T.H.帕塔切克和T.N.纽沙姆。插入,逃避和拒绝服务:逃避网络入侵检测。技术报告,安全网络,1998年1月。
- 摩根大通(J.P.安德森。计算机安全威胁监测与监视。技术报告,詹姆斯P.安德森公司,华盛顿堡,宾夕法尼亚州,1980年4月。
- 一种自修复数据库系统的设计与实现。信息科学与技术学院信息系统系,宾夕法尼亚州立大学UMBC,大学帕克,PA 16802巴尔的摩,MD 21250。
- 刘鹏。odam基于商业数据库应用的实时损伤评估和修复系统。美国能源部。系统,UMBC巴尔的摩,MD21250。
- Fayyad, D, Piatetsky-Shapiro, G,和Smyth, P.从数据挖掘到数据库中的知识发现。铝杂志,17(3):37.1 54.1 996。
- Han J.和Kamber M.数据挖掘:概念和技术。摩根·考夫曼出版社,2000年
- Daniel T, Larase,《在数据中发现知识:数据挖掘导论》,John Wiley & Sons, Inc, 2005。
- 昆兰:C4.5,机器学习程序。摩根考夫曼圣马特奥Ca, 1993年。
- 布雷曼,L.,弗里德曼,J. H.,奥尔申,R. A.,斯通,C.J.:分类与回归树。蒙特雷,CA沃兹沃斯和布鲁克斯,1984年。
- 昆兰:C4.5,机器学习程序。摩根考夫曼圣马特奥Ca, 1993年。
- 简森:贝叶斯网络介绍。伦敦大学学院出版社,1996年。
- 智能系统中的概率推理:似是而非的推理网络。摩根·考夫曼,加州洛斯阿尔托斯,1988年。
- R. Kohavi,“提高Naïve-Bayes分类器的准确性:一种决策树混合”,第2届知识发现和数据挖掘国际会议论文集,第202-207页,1996。
- R.Kohavi, G.H.John,“特征子集选择的包装器”,人工智能,第1卷,no. 1。2,页273-324,1997
- M. Hall,基于相关特征选择的机器学习,博士论文,怀卡托大学计算机科学系,1999。
- Mark a . Hall, Lloyd a . Smith,“机器学习的特征选择:比较基于相关性的过滤器方法与包装器”,美国人工智能协会,1998年。
- 倪志伟,李凤刚,杨善玲,刘晓,张伟力,罗勤,“基于GA-CFS方法的属性约简”,第9届亚太网络联合会议,第8届国际会议。web时代信息管理会议:数据与web管理进展,Springer-Verlag,2007。
- Dewan Md. Farid, Nguyen HuuHoa, Jerome Darmont, NouriaHarbi和Mohammad ZahidurRahman“使用NBTree提高入侵检测的检出率和减少误报”
|