基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)_第1頁
基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)_第2頁
基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)_第3頁
基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)_第4頁
基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、    基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)        孫鑫鴿, 趙躍龍 時間:2008年11月13日     字 體: 大 中 小        關(guān)鍵詞:        摘? 要:關(guān)鍵詞: 入侵檢測; 數(shù)據(jù)挖掘; 網(wǎng)絡(luò)安全?隨著Internet在全球的迅猛發(fā)展,網(wǎng)絡(luò)上的各種攻擊

2、層出不窮,已成為網(wǎng)絡(luò)和信息的主要威脅。目前解決網(wǎng)絡(luò)安全采取的主要技術(shù)手段有防火墻、安全路由器、身份認證等,這些技術(shù)在抵御網(wǎng)絡(luò)攻擊中發(fā)揮了重要作用,但是這些安全產(chǎn)品大多屬于靜態(tài)安全技術(shù)的范疇,雖然對防止系統(tǒng)非法入侵起到了重要作用,但從安全管理角度來說,僅有防御是不夠的,還應(yīng)采用動態(tài)策略。入侵檢測技術(shù)就屬于一種動態(tài)策略,它可以彌補防火墻等靜態(tài)安全技術(shù)的不足,為網(wǎng)絡(luò)系統(tǒng)提供實時的入侵檢測以及必要的防護手段,如記錄證據(jù)、跟蹤入侵、恢復(fù)或斷開網(wǎng)絡(luò)連接等。?1 入侵檢測技術(shù)?入侵檢測(intrusion detection)是指用于檢測任何損害或企圖損害信息系統(tǒng)的完整性(integrality)、機密性(

3、confidentiality)和可用性(availability)的一種網(wǎng)絡(luò)安全技術(shù)1。入侵檢測技術(shù)主要有兩類:異常檢測(anomaly detection)和誤用檢測(misuse detection)2。?1.1 異常檢測模型?異常檢測是從審計記錄中抽取一些相關(guān)量進行統(tǒng)計,為每個用戶建立一個用戶扼要描述文件,即建立一個用戶正常行為的特征模型,然后將用戶或系統(tǒng)的實測模型與正常模型進行比較,若兩者的差異超出指定的閾值,就說明可能發(fā)生了入侵或攻擊行為。圖1是一個典型的基于異常檢測的IDS模型。異常檢測的優(yōu)點是可以檢測未知類型的入侵行為,而缺點是誤報率高。常用的檢測方法有統(tǒng)計分析、神經(jīng)網(wǎng)絡(luò)、計算

4、機免疫學(xué)和數(shù)據(jù)挖掘技術(shù)等。?1.2 誤用檢測模型?誤用檢測是指通過對已知的攻擊方式或系統(tǒng)的弱點進行建模,然后將與預(yù)先精確定義好的入侵或攻擊模式相匹配的行為確定為入侵或攻擊。圖2是一種典型的基于誤用檢測的IDS模型。誤用檢測的優(yōu)點是可以有效地檢測到已知的攻擊,精確度高,而缺點是對新的入侵行為無能為力,漏報率高。常用的檢測方法有模式匹配、專家系統(tǒng)、模型推理、狀態(tài)轉(zhuǎn)換分析和Petri網(wǎng)等。?1.3 傳統(tǒng)入侵檢測模型的局限性?傳統(tǒng)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的建立,通常由安全專家分析攻擊行為,歸納出攻擊特征,然后經(jīng)過手工編碼建立入侵檢測所需規(guī)則,用于識別入侵。構(gòu)造豐富、精確的入侵特征知識庫相當(dāng)復(fù)雜,同時IDS需

5、要不斷更新自己的知識庫,以適應(yīng)不斷出現(xiàn)的新攻擊類型或已有攻擊類型的新形式。傳統(tǒng)的使用純手工方式編碼的IDS不僅效率低下,而且限制了入侵檢測系統(tǒng)的自適應(yīng)性和可擴展性。另外,由于入侵者可以對檢測系統(tǒng)進行訓(xùn)練,逐漸改變系統(tǒng)中用戶的活動記錄,使得最初被認為是異常的行為,經(jīng)過一段時間訓(xùn)練后被認為是正常的,這樣極容易出現(xiàn)誤報、漏報問題。為了克服傳統(tǒng)IDS的缺陷,將數(shù)據(jù)挖掘技術(shù)3-4引入到入侵檢測中,利用數(shù)據(jù)挖掘在處理海量數(shù)據(jù)方面的優(yōu)勢,可以從大量的審計記錄中挖掘出正常和入侵行為模式,自動生成規(guī)則,省去了人工編寫規(guī)則的開銷,從而生成一種準(zhǔn)確的檢測模式,以提高檢測準(zhǔn)確率,降低誤報率。采用數(shù)據(jù)挖掘技術(shù)的入侵檢測

6、系統(tǒng)在自適應(yīng)性和可擴展性方面都有較好的表現(xiàn)。?2 數(shù)據(jù)挖掘技術(shù)?5,并用這些知識去檢測異常入侵和已知的入侵。目前應(yīng)用于入侵檢測系統(tǒng)中的數(shù)據(jù)挖掘算法主要有關(guān)聯(lián)分析(associations analysis)、序列分析(sequence analysis)、分類分析(classification analysis)、聚類分析(clustering analysis)等算法6。?2.1 關(guān)聯(lián)分析算法?關(guān)聯(lián)規(guī)則是描述數(shù)據(jù)集中的各項出現(xiàn)規(guī)律的知識模式。關(guān)聯(lián)規(guī)則分析的目的是挖掘出隱藏在數(shù)據(jù)集中的各項之間的相互關(guān)系。在入侵檢測系統(tǒng)中,使用關(guān)聯(lián)規(guī)則時一般用支持度和置信度兩個閾值來度量關(guān)聯(lián)規(guī)則的相關(guān)性。使用關(guān)

7、聯(lián)規(guī)則挖掘過程可分為:高頻繁挖掘和低頻繁挖掘兩步。高頻繁挖掘是指找出大于等于一定支持度和置信度的頻繁屬性集,通過高頻繁挖掘就能檢測出攻擊頻繁的異常行為,如DDOS攻擊等;低頻繁挖掘是指找出支持度低于一定閾值而置信度大于一定閾值的數(shù)據(jù)記錄集,通過低頻繁挖掘能檢測攻擊不頻繁的異常行為,如慢掃描在單位時間內(nèi)異常掃描較少,如果只檢查高頻繁數(shù)據(jù),就會漏掉檢測此類攻擊。常見的關(guān)聯(lián)分析算法有Apriori、Apriori Tid、AIS等算法。?2.2 序列分析算法?序列分析算法是指通過時間序列搜索出重復(fù)發(fā)生概率較高的模式規(guī)則,是用己知的數(shù)據(jù)預(yù)測未來的值,側(cè)重于事件的時間先后關(guān)系。這類算法可以發(fā)現(xiàn)頻繁發(fā)生的

8、事件序列,這些頻繁事件序列是反映用戶或程序行為模式的重要因素。運用該算法找出入侵行為的序列關(guān)系,從中提取出入侵行為之間的時間序列特征。它與關(guān)聯(lián)分析算法共同形成規(guī)則集。序列分析的代表算法是AprioriAll、Apriori Some、PSP、GSP等。?2.3 分類分析算法?數(shù)據(jù)分類的目的是提取數(shù)據(jù)項的特征屬性,生成分類模型,然后將數(shù)據(jù)項映射到預(yù)先定義好的分類中去。分類算法可以用規(guī)則集或決策樹的形式表示,一個理想的分類算法必須收集足夠的“正常”或“不正?!钡臄?shù)據(jù)來判定一個用戶或者程序是否合法。利用分類算法,可以對關(guān)聯(lián)分析算法和序列分析算法得到的規(guī)則集進行學(xué)習(xí),挖掘出新的規(guī)則。用于入侵檢測時,可

9、以使用分類算法得到規(guī)則集來判斷新的數(shù)據(jù)屬于正常還是異常行為。數(shù)據(jù)分類的處理步驟如下:首先獲取訓(xùn)練數(shù)據(jù)集,該數(shù)據(jù)集中的數(shù)據(jù)記錄具有和目標(biāo)數(shù)據(jù)庫中數(shù)據(jù)記錄相同的數(shù)據(jù)項;然后訓(xùn)練數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)集中每一條數(shù)據(jù)記錄都有已知的類型標(biāo)識與之相關(guān)聯(lián);接著分析訓(xùn)練數(shù)據(jù)集,提取數(shù)據(jù)記錄的特征屬性,為每一種類型生成精確的描述模型;最后使用得到的類型描述模型對目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)記錄進行分類或生成優(yōu)化的分類模型。常用的分類分析算法有CART、ID3、C4.5、SLIQ、NaiveBayes、神經(jīng)網(wǎng)絡(luò)等。?2.4 聚類分析算法?聚類分析是識別數(shù)據(jù)對象的內(nèi)在規(guī)則,將對象分組以構(gòu)成相似對象類,并導(dǎo)出數(shù)據(jù)分布規(guī)律。分類與聚類

10、的區(qū)別在于分類是將分類規(guī)則應(yīng)用于數(shù)據(jù)對象;而聚類是發(fā)現(xiàn)隱含于混雜數(shù)據(jù)對象的分類規(guī)則。聚類分析算法是一種無監(jiān)督異常檢測的算法,該算法不需要訓(xùn)練數(shù)據(jù),只要帶有各種屬性的數(shù)據(jù)記錄,通過計算不同記錄的屬性差別,把類似的記錄聚集在一起,然后利用距離矢量來判斷哪些是異常記錄即攻擊數(shù)據(jù)。常見的聚類分析算法有PAM、CLARA、BIRCH等。?3 基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)?根據(jù)入侵檢測系統(tǒng)和數(shù)據(jù)挖掘技術(shù)的特征,本文設(shè)計的基于數(shù)據(jù)挖掘的分布式入侵檢測模型如圖3所示。其基本組件包括檢測引擎、決策引擎、響應(yīng)引擎、數(shù)據(jù)預(yù)處理器、規(guī)則庫和決策庫等。?3.1 數(shù)據(jù)預(yù)處理模塊?入侵檢測中的數(shù)據(jù)來源于網(wǎng)絡(luò)傳感器收集的

11、網(wǎng)絡(luò)中的大量數(shù)據(jù)包和主機傳感器收集的本地主機系統(tǒng)生成的日志,其計算量十分龐大,因此必須先進行數(shù)據(jù)預(yù)處理。?數(shù)據(jù)預(yù)處理主要是將采集來的大量原始數(shù)據(jù)經(jīng)過數(shù)據(jù)清理與集成、數(shù)據(jù)選擇與變換、相關(guān)性分析(特征選擇)、離散化和概念分層等幾個過程,實現(xiàn)標(biāo)準(zhǔn)化數(shù)據(jù)、處理數(shù)據(jù)遺漏、消除臟數(shù)據(jù)、糾正數(shù)據(jù)中的不一致、存儲合并數(shù)據(jù),最后將數(shù)據(jù)轉(zhuǎn)換成適合數(shù)據(jù)挖掘的形式。?由于數(shù)據(jù)分析的準(zhǔn)確性不僅僅取決于所采用的算法,在很大程度上依賴于所處理的數(shù)據(jù)的質(zhì)量, 因此該模塊對整個系統(tǒng)起著舉足輕重的作用。?3.2? 數(shù)據(jù)挖掘模塊?數(shù)據(jù)挖掘模塊是系統(tǒng)的核心部件。針對傳統(tǒng)的入侵檢測技術(shù),無論是異常檢測還是誤用檢測,都需要專家手工編碼輸

12、入入侵模式或是正常行為模式,其代價很大。因此,本系統(tǒng)綜合使用了幾種數(shù)據(jù)挖掘算法來進行分析。?在有可以利用的已標(biāo)記的訓(xùn)練數(shù)據(jù)時,采用數(shù)據(jù)挖掘算法中關(guān)聯(lián)分析、序列分析及分類分析的算法來提取特征和檢測模式。采用關(guān)聯(lián)分析算法和序列分析算法挖掘連接記錄數(shù)據(jù)庫中的頻繁模式,如關(guān)聯(lián)規(guī)則和頻繁序列。利用這些頻繁模式,為連接記錄構(gòu)造附加特征,如時間統(tǒng)計特征、主機統(tǒng)計特征等。通用的數(shù)據(jù)挖掘算法通常會產(chǎn)生大量的無用模式,為了消除這些無用模式,引入了“軸屬性”和“參考屬性”7的概念。最后將分類分析算法應(yīng)用于處理后的審計數(shù)據(jù)得到一個分類器,即入侵檢測模型,用來判斷當(dāng)前用戶行為正?;蛉肭?。?在無訓(xùn)練數(shù)據(jù)時,則從數(shù)據(jù)庫中提

13、取未標(biāo)記數(shù)據(jù),利用聚類算法進行聚類,把數(shù)據(jù)標(biāo)記為正?;蚬魯?shù)據(jù),并送回數(shù)據(jù)庫構(gòu)成訓(xùn)練數(shù)據(jù)集。其他挖掘算法則可利用這些標(biāo)記好的數(shù)據(jù)進行分析。?3.3? 檢測引擎模塊?檢測引擎分為基本檢測引擎和元檢測引擎兩種?;緳z測引擎提供采用特定檢測方法的檢測機制,而元檢測引擎負責(zé)匯總來自各個基本檢測引擎的所有信息。兩種檢測引擎區(qū)別在于基本檢測引擎以預(yù)處理的審計數(shù)據(jù)作為輸入,而元檢測引擎是以各個基本檢測代理產(chǎn)生的入侵證據(jù)作為輸入。通過元學(xué)習(xí)8、元檢測模型把多個基本檢測模型的檢測能力綜合起來,將結(jié)果提交給決策引擎,由決策引擎做出最后的決策。?異常檢測模型是根據(jù)大量數(shù)據(jù)生成的動態(tài)模型,其形態(tài)在一段時間內(nèi)可以是穩(wěn)定

14、的,但不斷的調(diào)整和優(yōu)化也是必要的。?3.4 決策響應(yīng)模塊?構(gòu)造的模型對當(dāng)前審計數(shù)據(jù)進行檢測,根據(jù)檢測的結(jié)果,從決策庫中尋找匹配決策,執(zhí)行相應(yīng)的行動。如果屬于入侵行為,則系統(tǒng)給出警報,并采取一定的措施,如斷開網(wǎng)絡(luò)連接、報告系統(tǒng)管理員等,并留下入侵證據(jù);如果屬于正常行為,則系統(tǒng)繼續(xù)進行監(jiān)視。?4 實驗結(jié)果及分析?下面以SYN Flood攻擊方式為例來介紹數(shù)據(jù)挖掘是如何在入侵檢測中起作用的。?SYN Flood是當(dāng)前最流行的拒絕服務(wù)攻擊(DoS)與分布式拒絕服務(wù)攻擊(DDoS)的方式之一,這是一種利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,從而使得被攻擊方資源耗盡停止響應(yīng)的攻擊方式。?當(dāng)TCP

15、連接進行三次握手時,如果一方發(fā)出SYC+ACK應(yīng)答報文后無法收到ACK報文的回應(yīng),這種情況下一般會重試。在一定的時間窗體內(nèi)保持連接,這段時間的長度稱為SYN Timeout,這個時間窗一般是半分鐘到一分鐘;但如果有惡意的攻擊者大量模擬這種情況,服務(wù)器將忙于處理攻擊者偽造的TCP連接請求而無暇理睬客戶的正常請求,從正常用戶的角度看來,服務(wù)器不再響應(yīng)正常請求,這時發(fā)生了SYN Flood攻擊。?應(yīng)用本文提出的基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)模型檢測SYN Flood攻擊,首先通過TcpDump等工具進行原始網(wǎng)絡(luò)數(shù)據(jù)的采集,并對數(shù)據(jù)處理形成一條條連接記錄的形式,每條記錄都包括一系列網(wǎng)絡(luò)相關(guān)屬性,如連

16、接的開始時間、服務(wù)類型、源主機、目的主機、源端口號、目的端口號接口、標(biāo)志等屬性(分別用timestamp、service、src_host、dst_host、src_port、dst_port、flag表示),?網(wǎng)絡(luò)連接記錄如表1所示。然后提取特征標(biāo)志,為數(shù)據(jù)挖掘做準(zhǔn)備。例如應(yīng)用數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則和頻繁事件算法,以service作為軸屬性,dst_port作為參考屬性,得到一組關(guān)于相同目的主機的頻繁時序“服務(wù)”模式8。得到的特征模式如下:? 模式1:(service=telnet,src_host=A)(flag=SF),0.89,0.03,2? 模式2:(service=http,flag

17、=S0),(service=http,flag=S0)(service=http,flag=S0),0.89,0.03,2?把這些模式與正常模式集相比較,在正常模式集中不存在flag=S0的模式,所以模式2可以作為攻擊模式。對攻擊模式進行特征建立與提取,去掉所有標(biāo)志不是SYN的記錄,得到基于統(tǒng)計的特征。例如:在2秒內(nèi)相同目的主機的連接數(shù)中有相同服務(wù)連接的百分比及狀態(tài)flag為S0百分比等。最后使用聚類分析算法,聚集屬于SYN攻擊的記錄,并從中提取出SYN Flood攻擊的規(guī)則。把數(shù)據(jù)挖掘發(fā)現(xiàn)的新規(guī)則加入規(guī)則庫中,發(fā)現(xiàn)新規(guī)則的加入降低了SYN Flood攻擊的誤報率。實驗是從經(jīng)過數(shù)據(jù)預(yù)處理之后的

18、數(shù)據(jù)中抽出了總數(shù)為20 000個待分析的記錄進行聚類,整個數(shù)據(jù)集被劃分為7個聚類,每個聚類中含有正常數(shù)據(jù)和攻擊數(shù)據(jù)的記錄個數(shù),如表2所示。從表中可以看出,聚類2、5、6發(fā)生了入侵攻擊。從入侵檢測的角度來分析實驗結(jié)果,檢測為攻擊的攻擊數(shù)據(jù)占所有攻擊數(shù)據(jù)的比重為檢測率,檢測為攻擊的正常數(shù)據(jù)占所有正常的比重為誤報率。分別計算出這種方法的檢測率為96.44%,誤報率為3.19%。通過分析數(shù)據(jù)可以看出,利用數(shù)據(jù)挖掘算法可以有效地將正常數(shù)據(jù)與攻擊數(shù)據(jù)區(qū)分開來,并具有很好的準(zhǔn)確性。?本文提出的基于數(shù)據(jù)挖掘的分布式入侵檢測系統(tǒng)模型,采用檢測代理與學(xué)習(xí)代理分離的方式,從而使多個檢測代理可以并行執(zhí)行,提高了系統(tǒng)執(zhí)

19、行的效率,審計數(shù)據(jù)也不必傳輸?shù)街醒霗z測服務(wù)器集中檢測,降低了網(wǎng)絡(luò)中數(shù)據(jù)的傳輸量。另外,入侵檢測系統(tǒng)通過采用異常檢測技術(shù)的基本檢測代理挖掘新的入侵模式,并把審計記錄傳輸?shù)綄W(xué)習(xí)代理,然后計算獲得一個可以檢測此類入侵的更新了的分類器,再將它分派給所有的基本檢測代理,這種將異常檢測和誤用檢測結(jié)合的方式,可以提高檢測效率和檢測準(zhǔn)確度,降低漏報率和誤報率。入侵檢測系統(tǒng)由于其分布式結(jié)構(gòu)可以靈活地在網(wǎng)上進行配置,從而提高了檢測分布式協(xié)同攻擊的能力,提高了系統(tǒng)的可擴展性和自適應(yīng)性。?參考文獻?1 YU J, REDDY Y, SELLIAH S, et al. Trinetr: an architecture

20、for collaborative intrusion detection and knowledge based alert evaluationJ.Advanced Engineering Informatics,2005,(19):93-101.?2 NOEL S, WIJESEKERA D, YOUMAN C. Modern intrusion detection, data mining, and degrees of attack guilt.Applications of Data Mining in Computer Security, edited by D. Barbars and S. Jajodia, Kluwer Academic Publishers,2002.?3 YE Nong,VILBERT S, CHEN Qiang. Computer

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論