1 入侵檢測
1.1 入侵檢測概述
入侵檢測就是檢測入侵行為,入侵檢測(Intrusion Detection),顧名思義,就是對入侵行為的發覺。他通過對計算機網絡或計算機系統中若干關鍵點收集信息并對其進行分析,從中發現網絡或系統中是否有違反安全策略的行為和被攻擊的跡象。入侵檢測(Intrusion Detection)是對入侵行為的檢測。它通過收集和分析網絡行為、安全日志、審計 入侵檢測圖片數據、其它網絡上可以獲得的信息以及計算機系統中若干關鍵點的信息,檢查網絡或系統中是否存在違反安全策略的行為和被攻擊的跡象。入侵檢測作為一種積極主動地安全防護技術,提供了對內部攻擊、外部攻擊和誤操作的實時保護,在網絡系統受到危害之前攔截和響應入侵。
誤用檢測是將入侵者活動用一種模式來表示,入侵檢測系統的目標是檢測主體活動是否符合這些模式。在目前的商業產品中誤用檢測最通常的形式是將每一個攻擊事件的模式定義為一個獨立的特征,從而建立入侵特征庫。它可以將已有的入侵方法檢查出來,但對新的入侵方法無能為力。
異常檢測 (Anomaly detection) 的假設是入侵者活動異常于正常主體的活動。根據這一理念建立主體正常活動的“活動簡檔”,將當前主體的活動狀況與“活動簡檔”相比較,當違反其統計規律時,認為該活動可能是“入侵”行為。異常檢測的難題在于如何建立“活動簡檔”以及如何設計統計算法,從而不把正常的操作作為“入侵”或忽略真正的“入侵”行為。異常檢測是指通過攻擊行為的特征庫,采用特征匹配的方法確定攻擊事件。誤用檢測的優點是檢測的誤報率低,檢測快,但誤用檢測通常不能發現攻擊特征庫中沒有事先指定的攻擊行為,所以無法檢測層出不窮的新攻擊 .
本文介紹了數據挖掘技術在入侵檢測中的應用,從大量的審計數據中提取入侵或正常的行為模式,將這些模式應用于誤用檢測和異常檢測。
1.2 入侵檢測的內容
入侵檢測主要包括以下內容:檢測并分析用戶和系統的活動;檢查系統配置和漏洞;評估系統關鍵資源和數據文件的完整性;識別已知的攻擊行為;統計分析日常行為;操作系統日志管理,識別違反安全策略的用戶活動。
1.3 入侵檢測的機制
(1)模式匹配。模式匹配就是將收集到的信息與已知的網絡入侵進行比較,發現違背安全策略的入侵行為。這種檢測方法只需收集相關的數據集合就能進行判斷,減少了系統占用,其技術已相當成熟,檢測準確率和效率也相當高。
(2)異常檢測。異常檢測首先給系統對象(用戶、文件、目錄和設備等)創建一個統計描述,包括統計正常使用時的測量屬性,如訪問次數、操作失敗次數和延時等。測量屬性的平均值被用來與網絡系統的行為進行比較,當觀察值在正常值范圍之外時,入侵檢測系統就會判斷有入侵發生。異常檢測的優點是可以檢測到未知入侵和復雜的入侵,缺點是誤報、漏報率高。異常檢測是指根據非正常行為(系統或用戶)和使用計算機非正常資源來檢測入侵行為。其關鍵在于建立用戶及系統正常行為輪廓(Profile),檢測實際活動以判斷是否背離正常輪廓。
(3)協議分析。協議分析是在傳統模式匹配技術基礎之上發展起來的一種新的入侵檢測技術。它充分利用了網絡協議的高度有序性,并結合了高速數據包捕捉、協議分析和命令解析,來快速檢測某個攻擊特征是否存在,這種技術正逐漸進入成熟應用階段。協議分析大大減少了計算量,即使在高負載的高速網絡上,也能逐個分析所有的數據包。
2 數據挖掘概述
2.1 數據挖掘的方法
數據挖掘通常又被稱作數據庫中的知識發現(KDD),是一個用來從大型數據庫中提取出有價值知識的過程。
將數據挖掘技術應用到入侵檢測之中的目的就是為了從大量審計數據中挖掘出隱含在其中的用戶感興趣的有價值信息,而后再將所得到的知識以一種可理解的方式表示出來,最后使用得到的知識去檢測是否有入侵發生。
數據挖掘的目標是從數據庫中發現隱含的、有意義的知識,按其功能可分為以下幾類:
(1)關聯分析
關聯分析能尋找數據庫中大量數據的相關聯系,常用的2種技術為關聯規則和序列模式。關聯規則是發現一個事物與其他事物間的相互關聯性或相互依賴性,可用于如分析客戶在超市買牙刷的同時又買牙膏的可能性;關聯規則關聯規則是形如X→Y的蘊涵式,其中且, X和Y分別稱為關聯規則的先導(antecedent或left-hand-side, LHS)和后繼(consequent或right-hand-side, RHS) 。序列模式分析將重點放在分析數據之間的前后因果關系,如買了電腦的顧客則會在3個月內買殺毒軟件。序列模式挖掘 (sequence pattern mining )是指挖掘相對時間或其他模式出現頻率高的模式。一個序列模式的例子是“ 9 個月以前購買奔騰 PC 的客戶很可能在一個月內訂購新的 CPU 芯片”。由于很多商業交易、電傳記錄、天氣數據和生產過程都是時間序列數據,在針對目標市場、客戶吸引、氣象預報等的數據分析中,序列模式挖掘是很有用途的。
(2)聚類
輸入的數據并無任何類型標記,聚類就是按一定的規則將數據劃分為合理的集合,即將對象分組為多個類或簇,使得在同一個簇中的對象之間具有較高的相似度,而在不同簇中的對象差別很大。
(3)自動預測趨勢和行為
數據挖掘自動在大型數據庫中進行分類和預測,尋找預測性信息,自動地提出描述重要數據類的模型或預測未來的數據趨勢。
(4)概念描述
概念描述就是對某類對象的內涵進行描述并概括出這類對象的有關特征。對于數據庫中龐雜的數據,人們期望以簡潔的描述形式來描述匯集的數據集。
(5)偏差檢測
偏差包括很多潛在的知識,如分類中的反常實例、不滿足規則的特例、觀測結果與模型預測值的偏差、量值隨時間的變化等。
2.2 數據挖掘的過程
把數據挖掘引入到入侵檢測的優越之處在于可以從大量的網絡數據以及主機的日志數據中提取出人們需要的、事先未知的知識和規律。可以將入侵檢測看作是一個數據的分析過程,對大量的安全數據應用特定的數據挖掘算法,以達到建立一個具有自適應性以及良好的擴展性能的入侵檢測系統。
應用到入侵檢測上的數據挖掘算法主要集中在關聯、序列、分類和聚類這四個基本模型之上。
3 數據挖掘在入侵檢測中的應用
3.1 數據挖掘技術在入侵檢測中的應用
(1)關聯規則挖掘的應用
關聯規則是數據挖掘技術中最為廣泛應用的技術之一,也是最早用于入侵檢測的技術。最早運用這種技術是作為一種工具去產生關于網絡流(包括報文和連接)的報告。發現關聯規則問題就是發現所有支持度和可信度均超過規定閾值的關聯規則,這個發現過程分為兩步:第一步識別所有的頻繁項目集即所有支持度不低于用戶規定的最小支持度閾值的項目集;第二步是從第一步得到的頻繁集中構造可信度不低于用戶規定的最小可信度閾值的規則。應用在網絡流量分析上,將一次連接看作是一個事務T,將采集到的很多連接記錄組成事務數據庫D,每個事務T由duration、service、src-host、dst-host、dst-bytes、flag共7項組成,事務的唯一標識符為time,其中service為服務(或目的的端口),src-host為源主機,dst-host為目的主機,dst-bytes為源主機發出的數據包大小,flag為標記。
(2)序列模式分析的應用
序列模式用于發現如“在某一段時間內,客戶購買商品A,接著購買商品B,而后購買商品C,即序列A→B→C出頻度較高”之類的知識。由于網絡攻擊與時間變量緊密相關,因此序列模式分析在關聯分析基礎上進一步分析攻擊行為時間相關性。Lee利用關聯分析的數據結構和庫函數實現序列模式分析。其序列模式的形式化描述為:已知事件數據庫D,其中每次交易T與時間戳關聯,交易按照區間[t1,t2]順序從時間t1開始到t2結束。對于D中項目集X,如果某區間包含X,而其子區間不包含X時,稱此區間為X的最小出現區間。X的支持度定義為包括X的最小出現區間數目占D中記錄數目比例。其規則表示為X,Y→Z,[conficence,sup-port,window],式中X,Y,Z為D中項目集,規則支持度為sup-port(X∪Y∪Z),置信度為support(X∪Y∪Z)/support(X∪Y),每個出現的寬度必須小于窗口值。考慮到網絡或操作系統中審計數據流的特性,將入侵事件序列考慮為單序列,X、Y、Z滿足偏序關系。
(3)聚類分析的應用
聚類分析指將物理或抽象對象的集合分組成為由類似的對象組成的多個類的分析過程。它是一種重要的人類行為。聚類分析的目標就是在相似的基礎上收集數據來分類。聚類源于很多領域,包括數學,計算機科學,統計學,生物學和經濟學。在不同的應用領域,很多聚類技術都得到了發展,這些技術方法被用作描述數據,衡量不同數據源間的相似性,以及把數據源分類到不同的簇中。分類與聚類的區別在于分類是將分類規則應用于數據對象;而聚類是發現隱含于混雜數據對象的分類規則。Portnoy提出基于聚類分析的入侵檢測算法,無監督異常檢測算法,通過對未標識數據進行訓練檢測入侵。算法設計基于兩個假設:第一正常行為記錄數目遠大于入侵行為記錄數目;第二入侵行為本質上與正常行為不同。
(4)分類分析的應用
數據分類分為2個過程:(1)選擇一個數據集,訓練數據集的每個元組(訓練樣本)的類標號已知,例如,在入侵檢測中可以根據黑客入侵行為的危害程度將類標號賦值為:正常、弱入侵、一般入侵、強入侵。建立一個模型,通過分析由屬性描述的訓練數據庫元組來構造模型。由于提供了每個訓練樣本的類標號,所以該步也稱作為有指導的學習過程。通常,學習模型用分類規則、判定樹或數學公式的形式表示。(2)對模型進行分類。首先評估模型(分類規則)的預測準確率,對于每個測試樣本,將已知的類標號與該樣本的類預測標號進行比較,模型在給定測試集上的準確率是被模型分類的測試樣本的百分比。如果模型的準確率可以被接受,就可用它來對類標號未知的數據元組或對象進行分類。
3.2 數據挖掘技術用于入侵檢測的優點
(1)自適應性好
傳統入侵檢測系統規則庫的建立需要一個特別的專家小組根據現有的攻擊發現其特征并開發出它的檢測工具。然而當一種攻擊是復雜的或者是跨越時間很長時,要一個系統總能很快地跟蹤入侵技術的發展是不可能的。而且針對每一種新的攻擊去更換系統的代價是很大的。由于應用數據挖掘技術的異常檢測不基于信號匹配模式,并不就每一個特別的信號進行檢測,所以不存在上述問題,因而表現出一定程度的實時性。
(2)誤警率低
現有的系統過度依賴于單純的信號匹配,它發出的警報可能遠遠多于實際的情況,在某種正常的工作中如果包含(這是很有可能的)這種信號的話,就必然產生誤警。采用數據挖掘的系統可以從警報發生的序列發現某種規律從而濾出那些正常行為產生的信號。數據挖掘方法還可以有效地剔除重復的攻擊數據,因而具有較低的誤警率。
(3)漏報率低
當一種新的以前從未出現過的攻擊方式出現時,或者當一種攻擊改變它的某些方式時,傳統的系統很有可能就不會產生反應。應用數據挖掘技術的系統就可以很快地發現新的攻擊,在很大程度上減少了漏報的可能。
(4)減輕數據過載
對于傳統的入侵檢測系統,另外一個需要考慮的問題是不在于能否準確有效地檢測出來自各方面的攻擊,而是需要多少的數據才能準確地發現一個攻擊。現在網絡上的數據流量越來越大,如果一個大的公司的整個網絡需要一個入侵檢測系統的話,它的網絡流量及每天產生的各種網絡記錄是非常龐大的。應用數據挖掘技術可以很好地解決這個問題,現有的數據挖掘算法通過發掘數據之間的關系,可以提供各個不同側面的數據特征,特別是可以將以前的結果和最新的數據加以綜合,這樣可以大大減少不必要的數據。
3.3 需要改進的地方
數據挖掘用于入侵檢測也還有很多需要改進的地方。比如:(1)把整個工作的過程自動化,即從審計數據中自動建立可以直接應用的入侵檢測系統。這就需要對從審計數據中挖掘到的數據建立一種有效的編碼機制,把挖掘到的模式轉換成數字形式,以一種更加直觀的方式比較正常模式和攻擊模式,自動產生攻擊模式。(2)提高系統的整體性能、準確率及實時性和可用性,將科研成果應用到實際環境中。(3)數據挖掘結果的可視化。把數據挖掘得到的結果用圖形表示出來,可以更好地分析數據中隱藏的信息。(4)把入侵檢測系統與網絡管理系統結合起來。許多網絡異常行為通過網絡管理系統就可以過濾掉,在檢測到入侵時,入侵檢測系統可以與網絡管理系統進行通信,并采取及時的措施,如切斷連接、把受攻擊主機的服務重定向等。
-
數據
+關注
關注
8文章
7139瀏覽量
89569 -
計算機網絡
+關注
關注
3文章
341瀏覽量
22244 -
網絡系統
+關注
關注
0文章
85瀏覽量
25154
發布評論請先 登錄
相關推薦
評論