前言:本站為你精心整理了思維建設分布式模式研究范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
編者按:本論文主要從一次入侵可能分布在網絡中的多個機器上;一次攻擊可能只是一個更大規模入侵的一個部分;多次簡單攻擊可以組合成為一次更復雜的長時間協同入侵等進行講述,包括了能夠檢測到的入侵行動可能只是一部分,甚至檢測到的入侵行動可能是誤導的、入侵者可能采用靈活的計劃以同時完成多個目的等,具體資料請見:
摘要:研究網絡入侵和入侵檢測系統的現狀和發展趨勢,將對手思維建模和意圖識別技術引入入侵檢測系統,提出了一個基于對手思維建模的入侵檢測模型(IRAIDS),為解決大規模、分布式、智能化入侵提供了解決方法。
關鍵詞:思維建模;入侵檢測;網絡入侵
伴隨著網絡技術的不斷發展,網絡安全已經成為一個至關重要的問題,也是計算機領域的研究熱點之一。為了達到當場檢測出惡意的網絡入侵行為并馬上采取防范反擊措施的目的,實時監測黑客入侵行為并以程序自動產生響應的網絡入侵檢測系統(IntrusionDetectionSystem,IDS)產生了。入侵檢測被認為是防火墻之后的第二道安全閘門,可以在不影響網絡性能的情況下能對網絡進行監聽,從而提供對內部攻擊、外部攻擊和誤操作的實時保護,大大提高了網絡的安全性[1]。
自從1980年4月JamesP.Anderson第一次詳細闡述了入侵檢測的概念以來,入侵檢測系統經歷了從集中式系統向分布式、智能化系統的發展歷程。與此同時,高級入侵活動也變得越來越呈現出分布性和協調性的特點,具體表現在:
(1)一次入侵可能分布在網絡中的多個機器上[2]。
(2)一次攻擊可能只是一個更大規模入侵的一個部分,它只是使用當前被攻陷的網絡作為跳板,最終的目標可能是攻擊別的系統或非法得到其他資源[3]。
(3)多次簡單攻擊可以組合成為一次更復雜的長時間協同入侵[4]。
這使得傳統的基于分布式數據采集和集中分析的分布式入侵檢測系統很難檢測出大規模的分布式智能協作攻擊,并且不能對這些攻擊作出實時反應。然而,Agent技術的發展為解決這些問題提供了契機。一些學者提出,由于Agent本身具有協同工作、智能化、自治性和移動性等特點,將其引入入侵檢測系統可以彌補傳統分布式入侵檢測的不足,也為入侵檢測技術提供了很多新的思路。文獻[5]提出利用免疫學的思想設計出一個基于Agent的入侵檢測模型。這個模型是層狀結構,能動態學習、檢測出已知和未知的入侵、檢測出不同層次的入侵。文獻[6]提出了一種采取無控制中心的多Agent結構,每個檢測部件都是獨立的檢測單元,盡量降低各檢測部件間的相關性。文獻[7]提出了一種層次結構的基于自治Agent的入侵檢測框架AAFID。其中監視器是系統的單一失效點。盡管如此,入侵者出于自身利益的考慮會對檢測Agent有意回避甚至對關鍵節點Agent主動攻擊,而且協作入侵通常會故意采取一些行動以隱藏其意圖或掩蓋其行動軌跡,如:
(1)能夠檢測到的入侵行動可能只是一部分,甚至檢測到的入侵行動可能是誤導的。
(2)入侵者可能采用靈活的計劃以同時完成多個目的。
(3)入侵者也許多次重復一些步驟。
這些都極大地增大了入侵檢測的難度,僅僅對檢測系統自身采用Agent技術的分布式入侵系統很難達到實時檢測復雜入侵的目標。在更高的層次上,筆者將入侵者和入侵檢測方抽象為是以“局部運作、全局共享”為核心的多Agent系統,對抗雙方都是一組自治的Agent通過協調它們的知識完成入侵和入侵檢測。在求解的過程中,各Agent之間達成了協作、協調、協商、理性、對抗、交互等各種關系。基于這種抽象以及入侵檢測的本質(根據入侵者的行動及時推斷出入侵者的意圖),本文提出了以對手思維建模和對手意圖識別技術為基礎的多Agent分布式入侵檢測系統模型IRAIDS,為解決大規模、分布式、智能化入侵提供了解決方法。
1IRAIDS模型
1.1對手思維建模
對手思維模型的核心在于意圖的識別,因為意圖對應于實際的行為規劃,這也正是入侵檢測的目標。本文提到的意圖識別包含兩個層次的含義:
(1)單個對手意圖的識別
在該模型中使用TA(TracerAgent)針對單個對手的思維狀態建模,目標是通過分析單個對手的行動序列推測其可能的入侵行為。具體請見TA部分。
(2)對手群體意圖的識別
單個對手的思維建模只能檢測出簡單的個體入侵意圖,對于大規模的分布式網絡入侵就無能為力了。為了解決這個問題,筆者在模型中提出通過檢測Agent之間的協作方式,分析群體對手的意圖以找出其入侵計劃。這些工作主要是通過BA(BasicAgent)內部TA之間的合作以及BA之間的協作完成的。
1.2IRAIDS模型描述
IRAIDS模型由TA、BA、SA(SuperviseAgent)和MA(Ma-nageAgent)組成,如圖1所示。在一個網絡中BA、SA、MA通過相互協作監督組成了一個嚴密安全的入侵檢測系統。其中TA是BA內根據檢測到的對手主機的訪問情況對對手思維建模的Agent,主要用來識別單個對手的入侵及其意圖。BA是執行某些檢測任務的Agent,它可以分布在主機或網絡上,將多個可疑對手歸結為一個對手群,對對手群體入侵目的進行意圖識別。SA是某一邏輯網段的監督Agent,它監督網段內的BA的運行狀態并對網段內的流量和訪問等信息進行統計。MA是整個系統的管理者,處于整個網絡與Internet接口處(通常是網關),對整個系統的流量、網段內的SA的狀態進行監督管理。
2模型結構分析
2.1TA的結構
由于網絡中需要檢測的對方主機的數量可能會很多,實現對手Agent要求所占資源必須足夠小,在模型上就需要足夠精簡。本文對對手建立一個簡潔的輕型Agent模型,如圖2所示。對手思維模型由三層組成,分別是:(1)交互層。當某個BA判斷網絡中某臺主機的行為超過了可能入侵的閾值時,就根據下面的模型對對手建立一個輕型Agent,以后獲取的這個對手的行為就交由該Agent處理,由TA對對手的操作進行匹配、識別其入侵意圖。交互層主要與產生它的BA進行交流,由BA將它所“關心”的對手情況傳送給它,處理后由交互層反饋給BA。
(2)處理層。利用所歸屬的BA檢測數據庫對交互層傳來的信息進行入侵規則匹配與意圖識別,在單個對手的層次上檢測可能的入侵。
(3)存儲層用來存放處理層的中間過程和結果。
2.2BA的主要功能和結構
BA是運用對手群意圖識別技術,通過相互協商方式進行入侵檢測的Agent。每個BA負責一定的檢測任務,檢測入侵的某個方面。BA由下面幾個部分組成:DB(數據庫)、通信單元、加/解密單元、數據采集單元、數據預處理單元、分析引擎、狀態分析引擎、入侵處理單元、用戶接口和對對手思維建模的Agent(TA),如圖3所示。
下面按照分類詳細介紹各部分的功能:
(1)通信單元。提供BA與邏輯網段內其他BA以及上層SA進行加密通信的能力,也是BA的數據來源之一。
(2)加/解密單元。為了保障Agent之間通信的安全化而設立的一個對消息進行加密和解密的單元,是維護系統安全運行的重要單元之一。
(3)數據采集單元。系統數據的另一來源,從系統日志、審計文件以及網絡數據包中獲取檢測需要的數據。
(4)數據預處理單元。對從采集單元獲得的數據進行過濾、抽象化和標準化操作,便于分析引擎對數據進行分析。
(5)分析引擎。BA的核心單元,利用內部TA反饋的可疑入侵信息,對可疑入侵群體進行意圖識別,同時與邏輯網段內其他BA協作檢測并向上層SA報告。
本文原文
(6)狀態分析引擎。它是系統進行自我狀態進行監督以及對上層SA觀察的單元,一旦發現SA存在問題將及時發動一次選舉,保證系統運行的完整性。
(7)入侵處理單元。發現入侵時的處理模塊,通常的做法是向用戶報警并根據其危害性采取限制登錄范圍、鎖定用戶賬號甚至切斷網絡連接等措施。
(8)用戶接口。它是用戶與BA交互的單元,用戶可以向BA中添加新的檢測模型、規則等信息,也可以對可疑入侵進行判斷分析并給出結論。
(9)DB。數據庫是BA存儲系統信息、檢測模型、經預處理后的數據和中間數據的單元。數據庫中的內容主要有下面三部分:
①網絡的拓撲信息,包括當前BA所處網絡的其他BA的地址、上層SA的地址、MA地址等描述網絡拓撲結構的信息。
②知識庫,主要包括入侵檢測方法、單個對手意圖識別算法、對手群體意圖識別算法。其中檢測方法數據庫包括正常模式庫和異常模式庫(分別用于異常檢測和誤用檢測方法)。這兩種數據庫可以根據數據來源分為不同類別子數據庫。這樣,異常數據可以根據其來源在相應的子數據庫中得到迅速的匹配。
③經預處理的數據。所有經過預處理得到的標準化和格式化的數據都保存在數據庫中,用來保存對手的入侵證據。
2.3SA的主要功能和結構
SA的主要作用是對所在邏輯網段內其他BA的狀態進行監督管理、接收BA發送的可疑報告、同其他SA協商以及向上層MA提交入侵和可疑入侵情況。由于SA是從一個邏輯網段的所有BA中選舉出來的,與BA的結構基本相同。不同的是,SA數據庫中的網絡拓撲結構除了包括本邏輯網段內的其他主機的地/址信息外,還保存其他網段的SA和部分BA(便于發現某個SA失效時可以通知其網段內的BA)的地址信息。
2.4MA的主要功能和結構
MA是處于整個網絡與Internet接口處,是對整個網絡進行監控和檢測入侵的核心單元,常常處于與Internet接口的網絡設備中,對全網的數據流量進行統計跟蹤。MA可以通過大量的學習,統計正常和異常情況下網絡中的數據流量、各個局域網段的流量以及正常和異常的訪問信息等知識。通過MA在高層監控,一旦發現流向某個網段或者整個系統的流量發生劇烈變化,可以通過學習的結果判斷是否出現入侵,并及時向可能發生的入侵網段的SA發出警告。
MA的結構與BA、SA十分相似,但是它只需要對網絡中的數據包進行分析,在數據采集單元中只接收通信單元和網絡中的數據包的信息。其他部分類似,需要詳細解釋的是MA的數據庫。MA的數據庫中存放著下面三種數據:(1)整個網絡主機和Agent位置的實時信息,尤其是網絡中SA的實時位置信息。這個目標主要通過定期檢測和接收更新的方式達到。
(2)知識庫,其中包括了MA、SA、BA檢測需要使用的所有知識。也就是說,MA的數據庫中存放了整個系統需要的知識的總和。
(3)MA從網絡中獲取的數據流量和統計信息,以及入侵檢測的中間信息都存儲在數據庫中,便于進一步的統計學習。
MA為用戶提供了觀測整個系統的運行狀態、網絡中的數據流量以及動態配置系統的功能。更重要的是為用戶提供了一個向系統添加修改檢測模式的入口,可以隨時更新系統的檢測模式庫,增強了系統檢測入侵的能力。
2.5系統運行流程
系統工作的流程主要包括兩部分,即自底向上過程和自頂向下過程。
2.5.1自底向上處理過程
(1)BA獲取系統日志、審計數據以及抓取網絡中的需要檢測數據包,經過預處理后根據源IP地址進行以下分類處理:
①對未建立的對手模型的數據包通過定義的疑似度函數度量入侵的可能性,對超過閾值的包建立對手思維追蹤Agent即TA,并將數據交給TA處理。②對已經建立起TA的對手直接將數據傳給TA。
(2)獲取數據后的TA進行誤用檢測、異常檢測、意圖識別等一系列操作,如檢測到可疑入侵則根據異常檢測設定的關聯閾值判斷是否需要向BA報告,若發現入侵則立即報告。
(3)BA接收到TA發送的關聯檢測報告時,將其內部TA的關聯閾值合并起來,看其是否超過聯合攻擊閾值,一旦超過立即進行聯合入侵檢測和群體意圖識別,即將各個TA在數據庫中存儲的數據合并起來,先檢測是否為已知的聯合攻擊,再對對手群體意圖進行識別。對于對手群的行動不符合任意已知的聯合入侵方式但入侵可疑度很高的,將利用數據挖掘技術從存儲的數據中挖掘出新的入侵模式并向系統中其他Agent廣播。
(4)當BA沒有發現大量可疑入侵,但SA監測網段內的數據流量等信息反映入侵可能發生時,BA之間通過相互協作檢測入侵。
(5)當MA根據統計分析判斷系統可能被入侵時,SA之間相互協作,完成共同檢測復雜入侵的任務。
2.5.2自頂向下處理過程
(1)用戶通過MA提供的接口向全局數據庫中添加能檢測新的入侵方式的模型,隨后MA將模型發送到下層的SA中。SA接收到新的檢測模型后,根據網絡情況選擇要擴充此類檢測類型的BA,并將模型發送到BA的數據庫中。
(2)BA接收到新的入侵檢查模型后,立即更新TA的檢測方式,即TA在檢測時對這個新模型的規則也進行匹配。
3關鍵技術
3.1檢測方法
文獻[8]中提到了用IP陷阱的方式,利用IP陷阱和流量標本不僅能夠識別已知的異常行為,還能夠不斷地學習和積累。文獻[9]中提到了一種追蹤可疑用戶入侵鏈的方式獲取入侵者的訪問信息。在檢測方法中,不管是誤用檢測還是異常檢測,基于主機型或是基于網絡型,各種檢測方法和技術手段都各有利弊。目前還沒有通用的檢測方法出現。比較恰當的做法是:綜合分析各種檢測方法的利弊以及最優使用場所,在復雜的網絡環境中根據各個網段的情況,在每個網段中部署多個最優檢測方法的Agent,這些Agent之間相互合作共同完成檢測任務。這樣做的好處是可以利用多種檢測方法的優點,避免其缺點,增強系統的檢測能力和檢測效率。
使用誤用檢測和異常檢測相結合的方法進行入侵檢測,即首先對于獲取的數據進行誤用檢測;如不能判斷是否為入侵(有可能是未曾識別出的入侵類型)再使用異常檢測方法獲取一個可疑度,將此可疑度與閾值相比判斷是否為入侵。
3.2Agent狀態監測及恢復策略
系統中的BA、SA、MA均存在狀態分析引擎,用于監控自身所處的狀態(如負載重、輕、沒有負載、是否被入侵等)、檢測其他Agent的狀態和回復其他Agent發送的詢問請求。Agent之間狀態的監督包括下面幾種:BA內的監督、SA內的監督、BA與SA之間相互監督,以及MA與SA之間相互監督。其中,BA每隔一定時間檢測所在網段的SA是否正常工作,并在需要時報告入侵檢測情況,SA也采用同樣的方法檢測BA的狀態;BA內、SA內采用被動監督方式,即在需要協同工作時才檢測對方狀態;MA與SA的監督方式和BA與SA的相似。
狀態監督可以保證系統整體的正常運行,當系統中某些Agent出現問題時按照下面的恢復策略進行恢復:
(1)如果SA發現BA沒有響應狀態請求,判定失效后立即調整網內其他BA的檢測工作,讓其他BA合作完成失效BA的檢測任務。如果在一定時間段內失效的BA仍沒有恢復,在確定所在主機正常工作的情況下復制一個新的BA重新開始檢測。
(2)如果BA發現SA停止響應,則立即發動一次選舉,從網絡中正常工作的BA中選舉一個負載最輕的擔任SA任務;被選中的SA向MA報告網段內SA的更換信息,確保MA的及時更新。
(3)如果MA或SA發現SA停止工作,則發送消息給同網段的其他BA發動一次選舉。具體的選舉算法可以使用Bully或者是Ring算法。
此外,Agent之間還存在著相互協作的關系。具體而言,這些協作包括單個BA內TA之間的協作、BA之間的協作、SA之間的協作。
3.3Agent安全問題
IDS的引入使得系統的安全得到了一定層次上的保證,然而,處于主機或網絡中的Agent也有可能被對手攻破,成為操縱系統的工具。為保證Agent的安全必須考慮兩個問題,即Agent自身的安全和Agent之間的通信。文獻[10]使用BEEP(BlocksExtensibleExchangeProtocol)來進行用戶驗證,確保傳輸數據的完整性和機密性。本文設計的系統中,對Agent之間的通信采取了加密的方式,這樣即使對手捕獲了數據包也不容易獲取其中的信息;Agent自身的安全是由Agent內部的狀態分析引擎以及其他Agent完成的。狀態分析引擎實時監督Agent所處的狀態,并在異常狀態時立即向上層Agent報告,同時其他Agent如發現其狀態異常也可以向上層Agent報告。
3.4Agent學習
Agent具有學習能力是入侵檢測系統能夠適應網絡環境變化的重要條件之一,也是當前對入侵檢測進行研究的一個熱點。在本文的系統中,Agent的學習主要是通過異常檢測和入侵模式挖掘的方法實現的。當Agent通過異常檢測或者高層的檢測發現新的入侵時,通過使用數據挖掘技術從訪問數據中挖掘出新的入侵規則并在檢測系統中廣播,使得其他Agent也立即具備檢測這種新的入侵方式的能力。
4結束語
本文提出了一種基于對手思維建模的多Agent分布式入侵檢測系統模型IRAIDS,可以識別單個對手的意圖和對手的群體意圖,適用于檢測大規模的分布式協作攻擊。另外,系統還具備了學習能力,可以識別并檢測出未知的入侵方式。本模型沒有采用集中式的控制方式,主要通過Agent之間的協作完成檢測任務,但考慮到集中式控制方式的優點,IRAIDS模型中設計了處于中上層的SA和MA,用于統計入侵情況和為用戶提供擴展接口和報警措施。但是SA和MA本質上是和BA與SA相同的Agent,只是分工的不同而已。