胡春紅 (長江大學計算機科學學院,湖北荊州434023)
隨著網(wǎng)絡(luò)復雜性和異構(gòu)性的不斷增加,網(wǎng)絡(luò)傳播病毒的行為越來越多,嚴重影響了正常的網(wǎng)絡(luò)運行秩序。準確、快速地檢測網(wǎng)絡(luò)流量的異常,做出合理的響應(yīng)成為保證網(wǎng)絡(luò)有效運行的關(guān)鍵措施之一[1]。利用數(shù)據(jù)挖掘技術(shù),對入侵檢測技術(shù)進行研究,建立一個基于數(shù)據(jù)挖掘的網(wǎng)絡(luò)異常檢測模型,從網(wǎng)絡(luò)流量的歷史數(shù)據(jù)中提取出正常數(shù)據(jù)和包含異常的數(shù)據(jù),建立正常與異常行為的模型。引入入侵檢測技術(shù),相當于在計算機系統(tǒng)中引入了一個閉環(huán)的安全策略。計算機的多種安全策略,如防火墻、身份認證、訪問控制、數(shù)據(jù)加密等,通過入侵檢測系統(tǒng)進行安全策略的反饋,從而進行及時的修正,大大提高了系統(tǒng)的安全性[2]。因而基于數(shù)據(jù)挖掘的入侵檢測系統(tǒng)分析研究,對保證網(wǎng)絡(luò)的安全運行具有重大的意義。
入侵檢測技術(shù) (Intrusion Detection System,IDS)是對入侵行為的發(fā)覺并保護自己免受攻擊、為保證計算機系統(tǒng)的安全而設(shè)計與配置的一種能夠及時發(fā)現(xiàn)并報告系統(tǒng)中未授權(quán)或異?,F(xiàn)象的技術(shù)[3]。它從計算機網(wǎng)絡(luò)系統(tǒng)中的若干關(guān)鍵點收集信息,并通過分析這些信息來發(fā)現(xiàn)網(wǎng)絡(luò)或系統(tǒng)中是否異常行為和被攻擊的跡象。入侵檢測被認為是防火墻之后的第2道安全閘門,在不影響網(wǎng)絡(luò)性能的情況下能對網(wǎng)絡(luò)進行檢測,它可以有效地防止和減輕網(wǎng)絡(luò)威脅。基于數(shù)據(jù)挖掘的入侵檢測特點主要有以下5點:①自適應(yīng)性好。這種異常檢測不如匹配模式,它并不會對每一個特別的信號進行檢測,表現(xiàn)出一定程度的實時性。②誤警率低,可以有效地剔除重復的攻擊數(shù)據(jù)。③減輕數(shù)據(jù)過載,可以發(fā)掘數(shù)據(jù)之間的關(guān)系,提供各個不同側(cè)面的數(shù)據(jù)特征,大大減少不必要的數(shù)據(jù)。④檢測性能和通用性方面具有優(yōu)勢。⑤實時性實施困難。因為是對大量的歷史數(shù)據(jù)進行處理,且檢測模型在學習和評價階段的計算成本高。
IDS發(fā)展雖然比較成熟,但目前還沒有統(tǒng)一的數(shù)據(jù)模型,DARPA(美國國防高級計劃研究局)推出的公共入侵檢測框架 (Common Intrusion Detection Framework)是目前采用較多的結(jié)構(gòu)模型。它將一個入侵檢測系統(tǒng)分為4個部分:事件產(chǎn)生器 (Eventgenerators),用E盒來表示;事件分析器 (Event analyzers),用A盒來表示;響應(yīng)單元 (Response units),用 R盒來表示;事件數(shù)據(jù)庫 (Eventdatabases),用D盒來表示。入侵檢測系統(tǒng)模型結(jié)構(gòu)如圖1所示。
圖1 入侵檢測系統(tǒng)模型結(jié)構(gòu)
E盒通過傳感器收集事件數(shù)據(jù),并將信息傳送給A盒,A盒檢測誤用模式;D盒存儲來自A、E盒的數(shù)據(jù),并為額外的分析提供信息;R盒從A、E盒中提取數(shù)據(jù),D盒啟動適當?shù)捻憫?yīng)。A、E、D及R盒之間的通信都基于通用入侵檢測對象 (generalized Intrusion detection objects,GIDO)和通用入侵規(guī)范語言 (common intrusion specification language,CISL)。如果想在不同種類的A、E、D及 R盒之間實現(xiàn)互操作,需要對GIDO實現(xiàn)標準化并使用CISL。
目前,入侵檢測系統(tǒng)主要分為3類:基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)、基于主機的入侵檢測系統(tǒng)和混合式入侵檢測系統(tǒng)。
1)基于網(wǎng)絡(luò)的入侵檢測系統(tǒng) 基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)主要是通過檢測網(wǎng)絡(luò)數(shù)量流量,監(jiān)聽網(wǎng)絡(luò)中的數(shù)據(jù)包,從中發(fā)現(xiàn)有異常的數(shù)據(jù)包并對它做出相應(yīng)的報警提示,如中斷連接、記錄攻擊數(shù)據(jù)、發(fā)出警報信號等。
2)基于主機的入侵檢測系統(tǒng) 基于主機的入侵檢測系統(tǒng)是通過從被保護主機獲取系統(tǒng)內(nèi)部的所有數(shù)據(jù)、日志、系統(tǒng)狀態(tài)、應(yīng)用程序等信息,從中發(fā)現(xiàn)異常行為,并做出相應(yīng)的處理。
3)混合式入侵檢測系統(tǒng) 混合式入侵檢測系統(tǒng)將基于主機的入侵檢測同基于網(wǎng)絡(luò)的入侵檢測2類系統(tǒng)結(jié)合起來,保護整個網(wǎng)絡(luò)系統(tǒng)。
入侵檢測系統(tǒng)的誤漏報率、主動防御能力、定位與處理機制和可擴展性是評價入侵檢測系統(tǒng)性能的重要指標。由于當前的入侵檢測系統(tǒng)通常是采用統(tǒng)計分析計算的方法對已知的入侵方法和系統(tǒng)穩(wěn)定性進行分析,然后根據(jù) “專家的知識”手工編寫相應(yīng)的規(guī)則,并且是針對具體的系統(tǒng)環(huán)境和檢測方法,這使得系統(tǒng)的誤漏報率很高,而且系統(tǒng)在主動防御能力、定位和處理機制方面的能力也有限。
數(shù)據(jù)挖掘技術(shù)是從大量的、不完備的數(shù)據(jù)中提取出事先未知的、但具有價值的信息和知識的過程,應(yīng)用于入侵檢測系統(tǒng)中使得手工和經(jīng)驗成分減少了,可以進行機器學習和模式擴充。數(shù)據(jù)挖掘中有很多的分析算法,其中大部分算法都不是專門解決某個問題而特制的,算法之間也不相互排斥[4]。在這些算法中,有幾種對于分析網(wǎng)絡(luò)數(shù)據(jù)和檢測入侵是非常有用的,它們是分類算法、關(guān)聯(lián)規(guī)則算法、序列分析算法、聚類算法等。筆者主要以關(guān)聯(lián)規(guī)則算法建立模型。關(guān)聯(lián)規(guī)則挖掘是數(shù)據(jù)挖掘的一個很重要的算法,主要用于發(fā)現(xiàn)數(shù)據(jù)集中類與類之間的相互聯(lián)系和相互作用。由于關(guān)聯(lián)規(guī)則形式簡潔、易于解釋和理解并可以有效地捕捉數(shù)據(jù)之間的重要關(guān)系,從大型數(shù)據(jù)庫中挖掘關(guān)聯(lián)規(guī)則數(shù)據(jù)己成為數(shù)據(jù)挖掘中最成熟、最重要、最活躍的研究內(nèi)容之一。目前關(guān)聯(lián)規(guī)則挖掘問題已經(jīng)在數(shù)據(jù)庫、人工智能、統(tǒng)計學、信息檢索、可視化及信息科學等諸多領(lǐng)域得到廣泛的應(yīng)用,并取得重大的成果。
關(guān)聯(lián)規(guī)則算法是數(shù)據(jù)挖掘領(lǐng)域中非常重要算法之一,它是在一組Item和記錄集合中挖掘出Item間的相關(guān)性,使其支持度和置信度分別大于用戶給定的最小支持度和最小置信度。關(guān)聯(lián)規(guī)則的挖掘主要被分解為下面2步:
步1 找出所有的頻繁項集,即找出支持度大于或等于給定的最小支持度閾值的所有項集??梢詮?到n遞歸查找n-頻繁項集。
步2 由頻繁項集產(chǎn)生強關(guān)聯(lián)規(guī)則,即找出滿足最小支持度和最小置信度的關(guān)聯(lián)規(guī)則。對給定的L,如果其非空子集A?L,Support(L)為L的支持度,support(A)為A的支持度,則產(chǎn)生形式為A→L-A的規(guī)則。
關(guān)聯(lián)規(guī)則的基本模型如下:設(shè)U={u1,u2,…,um}為所有項目的集合,D為事務(wù)數(shù)據(jù)庫,事務(wù)T是一個項目子集合(T?U)。每個事務(wù)具有惟一的事務(wù)標識Tid。設(shè)A是一個由項目構(gòu)成的集合,稱其為項集。事務(wù) T包含項集A,當且僅當A?T。如果項集A中包含k個項目,則稱其為k項集。項集A在事務(wù)數(shù)據(jù)庫中D出現(xiàn)的次數(shù)占D中的總事務(wù)的百分比叫做項集的支持度。如果項集的支持度超過用戶給定的最小支持度閾值,就稱該項集是頻繁項集 (或大項集)。
關(guān)聯(lián)規(guī)則是形如X?Y的邏輯蘊含式,其中X?U,Y?U,且X∩Y=Φ。如果事務(wù)數(shù)據(jù)庫D有d%的事務(wù)包含X∪Y,則稱關(guān)聯(lián)規(guī)則X?Y的支持度為d%,實際上,支持度是一個概率值。若項集X的支持度記為support(X),規(guī)則的信任度為support(X∪Y)/support(X)。這是一個條件概率P(Y|X)。也就是support(X?Y)/P(Y|X),confidence(X?Y)=P(Y|X)。
利用數(shù)據(jù)挖掘的關(guān)聯(lián)規(guī)則算法可以發(fā)現(xiàn)程序的執(zhí)行和用戶活動反映系統(tǒng)特征之間的關(guān)聯(lián),如數(shù)據(jù)庫管理員經(jīng)常修改數(shù)據(jù)庫等。因此,從歷史行為中挖掘出的模式顯示用戶行為的統(tǒng)計特性,將這些模式添加到入侵模式數(shù)據(jù)庫中,并將當前用戶行為與歷史統(tǒng)計特性比較,與安全策略矛盾的行為即為入侵行為。數(shù)據(jù)挖掘入侵檢測過程如圖2所示,該模型 (見圖3)采用關(guān)聯(lián)規(guī)則挖掘技術(shù)。關(guān)聯(lián)規(guī)則挖掘技術(shù)步驟如下:
1)預(yù)先確定初始最小支持度和最小置信度閾值;
2)找出滿足最小支持度和最小置信度閾值的頻繁項集,可用Apriori算法;
3)由頻繁項集,生成關(guān)聯(lián)規(guī)則;
4)剔除無用規(guī)則,建立入侵分類模型;
5)將新生成的規(guī)則按判定樹的方法插入規(guī)則庫。
圖2 數(shù)據(jù)挖掘入侵檢測過程
圖3 數(shù)據(jù)挖掘入侵檢測模型
在數(shù)據(jù)挖掘之前,首先需要對數(shù)據(jù)進行聚焦。數(shù)據(jù)挖掘通常只涉及數(shù)據(jù)庫的一部分,選擇相關(guān)的數(shù)據(jù)集將使得數(shù)據(jù)挖掘更有效。在入侵檢測的數(shù)據(jù)記入數(shù)據(jù)庫之后,系統(tǒng)將匯集與挖掘任務(wù)相關(guān)的數(shù)據(jù),并將這些數(shù)據(jù)插入到初始關(guān)系表中,初始關(guān)系表中記錄的是與挖掘任務(wù)相關(guān)的數(shù)據(jù),該應(yīng)用數(shù)據(jù)主要分布在用戶表中數(shù)據(jù)挖掘得到關(guān)聯(lián)規(guī)則:
規(guī)則分析用戶LIU在上午登錄主機70.212.9.108的置信度為80%,登錄是地址為=70.212.9.80的置信度為55%。數(shù)據(jù)庫用戶如表1所示。
表1 用戶表
分類是數(shù)據(jù)挖掘中應(yīng)用最廣泛、最重要的一種方法,是在已有數(shù)據(jù)的基礎(chǔ)上設(shè)計一個分類函數(shù)或者建立一個分類模型。該函數(shù)或模型能夠把數(shù)據(jù)庫中的數(shù)據(jù)記錄按照某種規(guī)則映射到某一個給定類別中,從而進行數(shù)據(jù)分析和判斷。用材林關(guān)聯(lián)分析算法得到用戶的正常和異常的數(shù)據(jù),用分類算法計算出新的規(guī)則集,并判斷新的數(shù)據(jù)屬于正常還是異常行為。入侵檢測系統(tǒng)的關(guān)鍵特征是選擇系統(tǒng)屬性。例如,在關(guān)聯(lián)規(guī)則算法中,如果用戶下午登錄主機70.212.9.108次數(shù)的比例超過了上午正常登錄的次數(shù),將其行為認為異常行為,并通過類別標記,對于其他的用戶行為,可以得到不同的類別標記,對每個類別做出準確描述,挖掘分類規(guī)則,然后用分類規(guī)則對其他具有相同屬性特征的記錄進行分類。
隨著網(wǎng)絡(luò)的進一步發(fā)展以及黑客攻擊手段的多樣化,網(wǎng)絡(luò)安全問題日益突出,入侵檢測技術(shù)作為保護計算機系統(tǒng)安全的重要組成部分將得到越來越多人們的關(guān)注和重視,并已經(jīng)開始在各種不同網(wǎng)絡(luò)環(huán)境中得到應(yīng)用。入侵檢測技術(shù)的發(fā)展將對網(wǎng)絡(luò)安全具有重要意義。入侵檢測技術(shù)的未來發(fā)展方向?qū)⒅饕侵悄艿姆植际饺肭謾z測,研究和開發(fā)自主知識產(chǎn)權(quán)的入侵檢測系統(tǒng)將成為我國信息安全領(lǐng)域的重要課題。
[1]齊建東,陶蘭,孫總參.數(shù)據(jù)挖掘技術(shù)在入侵檢測中的應(yīng)用[J].計算機工程與應(yīng)用,2004,40(6):158~161.
[2]胡衛(wèi),張昌宏,吳曉平.校園網(wǎng)安全防火墻設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2007,35(1):103~105.
[3]楊向榮,宋擒豹,沈鈞毅.入侵檢測技術(shù)研究與系統(tǒng)設(shè)計 [J].計算機工程與應(yīng)用,2001,(16):1~4.
[4]夏煜,郎榮玲,戴冠中.入侵檢測系統(tǒng)的智能檢測技術(shù)研究綜述 [J].計算機工程與應(yīng)用,2001,(24):32~34.