一個(gè)基于移動(dòng)Agent的分布式入侵檢測模型 作者: 時(shí)間:2016-12-22 來(lái)源:網(wǎng)絡(luò ) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢(xún) 收藏 摘要:在分析了入侵檢測系統的基本狀況和移動(dòng)代理的特點(diǎn)后,指出了目前入侵檢測系統存在的不足,提出了基于移動(dòng)代理的分布入侵檢測模型(MADIDS)。在這個(gè)入侵檢測系統中,引入了移動(dòng)代理技術(shù),使入侵檢測系統能夠跨平臺使用;將基于主機和基于網(wǎng)絡(luò )的檢測結合起來(lái),配置多個(gè)檢測部件處理,各檢測部件代理側重某一方面的工作;并且將所有配置信息存放在數據庫中,實(shí)現了數據和處理的分離、數據收集、入侵檢測和實(shí)時(shí)響應的分布化。關(guān)鍵詞:入侵檢測 分布式 移動(dòng)代理隨著(zhù)計算機技術(shù)尤其是網(wǎng)絡(luò )技術(shù)的發(fā)展,計算機系統已經(jīng)從獨立的主機發(fā)展到復雜的、互連的開(kāi)放式的系統,這給人們在信息利用和資源共享上帶來(lái)了無(wú)與倫比的便利。與此同時(shí),人們又面臨著(zhù)由于入侵而引發(fā)的一系列的安全問(wèn)題的困擾。傳統的安全防御策略(如訪(fǎng)問(wèn)控制機制、加密技術(shù)、防火墻技術(shù)等均屬于靜態(tài)的安全防御技術(shù))在某種程度上無(wú)法滿(mǎn)足越來(lái)越苛記得的安全需求。正是由于靜態(tài)的安全技術(shù)本自身存在著(zhù)不可克服的缺點(diǎn),從而引出了入侵檢測這一安全領(lǐng)域的新課題的誕生。入侵檢測是動(dòng)態(tài)安全技術(shù)的最核心技術(shù)之一,是防火墻的合理補充,是安全防御體系的一個(gè)重要組成部分。1 入侵檢測系統概述1.1 入侵及入侵檢測(Intrusion Detection)入侵是指任何企圖破壞資源的完整性、保密性和有效性的行為,也指違背系統安全策略的任何事件。入侵行為不僅僅指來(lái)自外部的攻擊,同時(shí)也包括內部用戶(hù)的未授權行為,有時(shí)內部人員濫用他們特權的攻擊是系統安全的最大隱患。入侵檢測是指通過(guò)從計算機網(wǎng)絡(luò )或計算機系統中的若干關(guān)鍵點(diǎn)收集信息并對其進(jìn)行分析,從中發(fā)現網(wǎng)絡(luò )或系統中是否有違反安全策略的行為和遭到攻擊的跡象,同時(shí)作出響應。入侵檢測系統(IDS:Intrusion Detection System)是實(shí)現入侵檢測功能的一系列的軟件、硬件的組合,它是入侵檢測的具體實(shí)現。入侵檢測系統就其最基本的形式來(lái)講,可以說(shuō)是一個(gè)分類(lèi)器,它是根據系統的安全策略來(lái)對收集到的事件/狀態(tài)信息進(jìn)行分類(lèi)處理,從而判斷出入侵和非入侵行為。1.2 入侵檢測系統的分類(lèi)按獲得原始數據的方法,入侵檢測系統可分為基于網(wǎng)絡(luò )的入侵檢測系統和基于主機的入侵檢測系統兩種。通常,基于主機的IDS可監測系統、事件和Window NT下的安全記錄以及UNIX環(huán)境下的系統記錄。當有文件發(fā)生變化時(shí),IDS將新的記錄條目與攻擊標記相比較,看其是否匹配。如果匹配,系統就會(huì )向管理員報警并向別的目標報告,以采取措施?;诰W(wǎng)絡(luò )的入侵檢測系統使用原始網(wǎng)絡(luò )包作為數據源?;诰W(wǎng)絡(luò )的IDS通常利用一個(gè)運行在隨機模式下網(wǎng)絡(luò )的適配器來(lái)實(shí)時(shí)監視并分析通過(guò)網(wǎng)絡(luò )的所有通信業(yè)務(wù)。1.3 現有入侵檢測系統的不足(1)入侵檢測系統不能很好的檢測所有的數據包?;诰W(wǎng)絡(luò )的入侵檢測系統難以跟上網(wǎng)絡(luò )速度的發(fā)展。截獲網(wǎng)絡(luò )的每一個(gè)數據包,并分析匹配是否具有某種攻擊的特征、需要花費時(shí)間系統資源?,F在很多網(wǎng)絡(luò )都是100M甚至千兆網(wǎng)絡(luò ),網(wǎng)絡(luò )速度的發(fā)展遠遠超過(guò)了數據包模式分析技術(shù)發(fā)展的速度。(2)攻擊特征庫的更新不及時(shí),絕大多數的入侵檢測系統都是適用模式匹配的分析方法,這需要攻擊特征庫的特征值應該是最新的。但現在很多入侵檢測系統沒(méi)有提供某種如“推技術(shù)”的方法來(lái)時(shí)刻更新攻擊特征。在如今每天都有新漏洞發(fā)布、每天都有新的攻擊方法產(chǎn)生的情況下顯然不能滿(mǎn)足安全需求。(3)檢測分析方法單一。攻擊方法的越來(lái)越復雜,單一的基于模式匹配或統計的分析方法已經(jīng)難以發(fā)現某一些攻擊?,F在幾乎所有的入侵檢測系統都使用了單一的分析方法。(4)不同的入侵檢測系統之間不能互操作。在大型網(wǎng)絡(luò )中,網(wǎng)絡(luò )不同的部分可能使用了不同的入侵檢測系統,但現在的入侵檢測系統之間不能夠交換信息,使得發(fā)現了攻擊時(shí)難以找到攻擊的源頭,甚至給入侵者制造了攻擊的漏洞。(5)不能和其他網(wǎng)絡(luò )安全產(chǎn)品互操作。入侵檢測不是安全的終極武器,一個(gè)安全的網(wǎng)絡(luò )中應該根據安全政策使用多種安全產(chǎn)品。但入侵檢測系統不能很好的和其他安全產(chǎn)品協(xié)作。比如,一個(gè)網(wǎng)絡(luò )中每?jì)蓚€(gè)小時(shí)自動(dòng)運行一次漏洞掃描程序,如果他們不能夠互操作,入侵檢測系統將每?jì)蓚€(gè)小時(shí)產(chǎn)生一次警報。(6)結構存在問(wèn)題?,F在的很多入侵檢測系統是從原來(lái)的基于網(wǎng)絡(luò )或基于主機的入侵檢測系統不斷改進(jìn)而得來(lái)的,在體系結構等方面不能滿(mǎn)足分布、開(kāi)放的要求。2 在入侵檢測系統中的應用移動(dòng)代理2.1 移動(dòng)代理及其特點(diǎn)移動(dòng)代理與普通程序的最大不同就是可以在運行期間在虛擬機之間遷移而無(wú)意中止程序的執行。通過(guò)在各個(gè)操作系統中運行移動(dòng)代理的虛擬機,可以將硬件和操作系統的平臺細節屏蔽,使代理獲得一個(gè)統一的界面。在這個(gè)基礎上,代理可以在各個(gè)平臺之間自由移動(dòng)。2.2 將移動(dòng)代理應用于入侵檢測的優(yōu)點(diǎn)(1)移動(dòng)邏輯計算,而不是數據,從而減少網(wǎng)絡(luò )流量。以往的入侵檢測系統,大多是分散收集數據包,而后交由控制中心分析是否有攻擊出現,這種檢測系統將增加網(wǎng)絡(luò )負擔,加大了流量。移動(dòng)代理的使用是對RPC(遠程過(guò)程調用)思想的一個(gè)擴展,遠程代碼保留在本地,只需要傳遞函數參數,意味著(zhù)在各節點(diǎn)收集的大量初始信息可以在本地處理,這樣就增加了入侵檢測系統的效率。(2)負載平衡。如果在一個(gè)中心接點(diǎn)分析數據包,將會(huì )大大增加中心加點(diǎn)的計算工作量,是入侵檢測系統的一個(gè)瓶頸,效率降低,檢測處理時(shí)間多。根據RPC的思想,移動(dòng)代理可將較大的計算工作分布在多個(gè)處理器上并行執行,從而避免了瓶頸問(wèn)題的出現。(3)動(dòng)態(tài)可擴展性。一個(gè)長(cháng)期有效的入侵檢測系統必須具有可擴展性,跟蹤入侵方法和入侵技術(shù),及時(shí)擴充對應的檢測技術(shù)。代理是自治的,在一定程序上是松散捆綁的,雖然句柄之間有一定的聯(lián)系,它們之間相互是可以獨立操作的。因此,即使系統很復雜,在不影響其他代理正常工作的情況下,單個(gè)的功能模塊也能夠被刪除、更改,甚至改進(jìn)??梢?jiàn),這種系統也內含著(zhù)一種容錯機制。由此可見(jiàn)在入侵檢測領(lǐng)域,移動(dòng)代理技術(shù)有著(zhù)一般代理所不可比擬的優(yōu)勢。本文的目的就是提出一個(gè)基于移動(dòng)代理技術(shù)的入侵檢測模型,并對其進(jìn)行分析設計。3 基于移動(dòng)代理的分布式入侵檢測系統MADIDS3.1 系統框架MADIDS是Mobile Agent-based Distributed Intrusion Detection System(基于移動(dòng)代理的分布式入侵檢測系統)的縮寫(xiě)。MADIDS系統檢測框架如圖1所示。從圖2中,可以看出系統層次雖然可以是多層,但功能級別只有兩層:協(xié)調中心級和檢測目標級。檢測目標級的功能主要是針對需要安全保護的主機進(jìn)行入侵檢測,不是對于所有的主機都設定,避免不必要的資源占有,減少投資。協(xié)調中心級主要負責對本機所在網(wǎng)段內的網(wǎng)絡(luò )進(jìn)行監聽(tīng),并檢測可能的入侵行為,并且同本層的其它機器和上層機器代理進(jìn)行交互,協(xié)同檢測可能的入侵。本級的設置通常入于局域網(wǎng)絡(luò )的中心,通過(guò)對網(wǎng)絡(luò )接入點(diǎn)的數據進(jìn)行監控,所以能夠對于所有來(lái)自外部和發(fā)向外部的數據進(jìn)行監控。正是由于它的這個(gè)條件,所以它的功能對于來(lái)自外部的攻擊行為能夠更好的進(jìn)行檢測。最上層的協(xié)調中心處在入侵檢測系統的最上層,所有下層無(wú)法判斷的入侵行為在此處進(jìn)行匯總后,形成對于入侵行為的整體認識,可以更加方便、準確和全面的實(shí)現入侵檢測。它的處理結構與其他層次的協(xié)調中心結構相似,只是本地的入侵檢測功能主要是對來(lái)自網(wǎng)絡(luò )外部的數據流進(jìn)行分析。并且由于來(lái)自外部的網(wǎng)絡(luò )狀態(tài)難于進(jìn)行統計和分析,所以主要采用模式匹配的方法進(jìn)行處理。同時(shí)通過(guò)與來(lái)自下一層協(xié)調中心的協(xié)同處理來(lái)實(shí)現實(shí)際的入侵檢測。這種分層次的檢測框架不同于傳統意義上的集中式入侵檢測系統。這里的入侵檢測系統雖然是分層次的,各層的級別與作用都不一樣,但較高層次作用不是集中控制與分析,而是協(xié)調中心,是為了便于管理、檢測復雜入侵和系統自身的安全。集中式入侵檢測系統中采用單個(gè)主機對整個(gè)網(wǎng)絡(luò )中的數據流量進(jìn)行分析,尋找可能的入侵行為。這種技術(shù)優(yōu)點(diǎn)是:數據的集中處理可以更加準確地分析可能的入侵行為。缺點(diǎn)是:由于數據的集中處理,這個(gè)檢測主機成了網(wǎng)絡(luò )安全的瓶頸。它出現故障或遭受攻擊,則整個(gè)網(wǎng)絡(luò )的安全就會(huì )消失。同時(shí)這種方式數據的采集對于大型的網(wǎng)絡(luò )也很難實(shí)現,只能采用類(lèi)似于防火墻的方式,在網(wǎng)絡(luò )接入點(diǎn)采集網(wǎng)絡(luò )內外的出入數據,故無(wú)法實(shí)現內部的安全檢測。MADIDS系統不是單純的主機檢測或是網(wǎng)絡(luò )檢測,也不是單純 集中式檢測或分布比檢測。而是將這些技術(shù)結合起來(lái),并且與網(wǎng)絡(luò )的分層結構相匹配,采用一種與代理技術(shù)相融合的基于分層的網(wǎng)絡(luò )入侵檢測系統。代理技術(shù)應用到入侵檢測的每一層,移動(dòng)代理主要用于檢測分布式攻擊。3.2 系統功能模塊構成如圖2,MADIDS的主要部件有:檢測部件、協(xié)調部件和集成部件。其中,檢測部件可以脫離其它兩個(gè)部件而單獨工作,此時(shí),移動(dòng)代理失去功能。檢測部件的功能是截獲網(wǎng)絡(luò )原始數據包、查看日志采用相應的檢測方法進(jìn)行分析,并采取相應的響應措施,以減少協(xié)調部件的工作量及系統網(wǎng)絡(luò )傳輸的影響。檢測部件包括分析檢測器、響應器、數據存放器(數據庫)數據收集器和本地管理器五個(gè)部分。協(xié)調部分在檢測部件不能確定是否發(fā)生入侵的情況下發(fā)揮作用,協(xié)調各檢測部件進(jìn)行工作以便跟蹤檢測有關(guān)入侵,并能進(jìn)行較復雜的數據分析,來(lái)識別分布式入侵檢測。此外,代理的移動(dòng)也是在協(xié)調部件的安排下進(jìn)行活動(dòng)的。協(xié)調部件由移動(dòng)代理管理器、部件狀態(tài)顯示器、數據存入器和分析器構成。集成部件的主要作用是和機器上已安裝的IDS配合,充分利用原有的IDS的資源,提高檢測效率。集成部件由詞法分析器、配置管理器、數據存放器和格式轉換器構成。集成部件將其他IDS系統的檢測入侵記錄轉換成檢測部件所能識別的格式,便于分析檢測。系統中功能模塊可能是由具有特定功能的獨立的應用程序、靜態(tài)agent、移動(dòng)代理、小型的系統或者一個(gè)數據庫系統來(lái)構成。在具體部署時(shí),這些部件可能在同一臺計算機上,也可以各自分布在一個(gè)大型網(wǎng)絡(luò )的不同節點(diǎn)??傊?,各功能模塊都是MADIDS的一部分。模塊之間借助代理平臺提供的通信機制實(shí)現進(jìn)行信息交換,這樣既簡(jiǎn)化了模塊之間的數據交換的復雜性,使得各功能模塊非常容易地分布在不同主機上,也給系統提供了一個(gè)擴展的接口。3.3 MADIDS中代理構成MADIDS是一個(gè)具有多代理協(xié)同工作的分布式入侵檢測系統。在MADIDS系統框架中,Agent處于系統最底層,是最基本的結構單元,進(jìn)行著(zhù)最初的數據收集與數據處理等各種工作,是最具靈活性的組成部分,MADIDS系統框架的可擴展性的一個(gè)方面就在于此。集成部件中的agent負責吸取其它IDS的檢測信息。檢測部件是每臺監控主機上各Agent的總控實(shí)體,負責主機級的入侵檢測。協(xié)調部件是被保護網(wǎng)絡(luò )上各主機檢測部件的協(xié)調實(shí)體,它們還可以相互級連起來(lái),形成層次結構,負責網(wǎng)絡(luò )級的入侵檢測,它也有agent完成基本的功能。3.3.1 數據收集Agent數據收集agent有三類(lèi):主機日志收集代理、網(wǎng)絡(luò )數據收集代理和其它IDS數據收集代理。它們各自是一個(gè)獨立運行實(shí)體,監控主機某一方面并負責向相應分析器報告異常行為或者可疑行為。例如,有這樣一個(gè)簡(jiǎn)單的Agent,它檢查telnet連接數量,當在一定時(shí)間內有大量的連接(可以基于某個(gè)閾值來(lái)定)發(fā)生時(shí),就認為是可疑事件發(fā)生。這個(gè)Agent就會(huì )向其上級分析器發(fā)出一個(gè)報告。但是Agent本身無(wú)權直接產(chǎn)生警報。通常情況下,對一到多個(gè)由Agent產(chǎn)生的報告,分析器會(huì )向用戶(hù)發(fā)出一個(gè)警告。依靠對所控制的各個(gè)事件Agent的報告進(jìn)行綜合,檢測部件可以了解到所在主機系統當前的安全狀態(tài),而協(xié)調部件可以了解到所監控網(wǎng)絡(luò )的安全狀態(tài)。事件收集Agent之間并不直接進(jìn)行通信。相反,Agent將所有的消息都發(fā)送給其控制者——分析器,由分析器根據Agent的配置信息來(lái)決定將如何處理這些信息。對Agent本身而言,它可以使用以下技術(shù)來(lái)增強其處理能力:1.Agent可以使用遺傳程序設計技術(shù),這樣隨著(zhù)使用時(shí)間的增加,Agent本身可以逐漸學(xué)習,逐漸積累經(jīng)驗,從而可以進(jìn)化。2.Agent可以使用狀態(tài)保持技術(shù)來(lái)記憶每次運行時(shí)獲得的信息,這樣可以使Agent能夠檢測到持續很長(cháng)時(shí)間的入侵行為,也能夠檢測以行為模式的改變。由于在基于主機的異常入侵檢測中,使用了歷史行為統計模式,而為了更好地適應用戶(hù)的全法行為模式,就需要將歷史行為統計模式進(jìn)行更新,而Agent在運行中所檢測的事件正是更新統計數據的絕好材料。3.3.2 移動(dòng)代理(mobile agent)mobile agent由協(xié)調部件管理,可以在系統內向下層或者在同一層次移動(dòng),作用是跟蹤入侵路徑和收集信息。移動(dòng)代理跟蹤入侵路徑,并且確定它的起點(diǎn),即入侵用戶(hù)留下被目標主機日志記載的有入侵嫌疑的地方。協(xié)調部件、檢測部件和移動(dòng)代理以下列方式協(xié)同工作:首先,檢測部件檢測到一個(gè)嫌疑事件,并將其報告給協(xié)調部件,要求協(xié)調部件跟蹤處理;協(xié)調器件利用ATP(agent transfer protocol)協(xié)議分派一個(gè)移動(dòng)代理負責跟蹤到目標系統;這個(gè)移動(dòng)代理自動(dòng)在每一臺機器之間進(jìn)行遷移,為此不需要協(xié)調部件引導而能獨立跟蹤入侵。當某一個(gè)目標系統在短時(shí)間內被發(fā)現有我個(gè)嫌疑事件時(shí),協(xié)調部件將分派多個(gè)移動(dòng)代理到目標系統中收集所有的嫌疑事件的信息。單獨的一個(gè)移動(dòng)代理不會(huì )對入侵作出判斷,也無(wú)法確定是否發(fā)生了入侵,多個(gè)移動(dòng)代理結合起來(lái)才能夠供協(xié)調部件作出判斷。由于移動(dòng)代理可以轉移到安裝了agent執行環(huán)境中的任何系統中,因此它能夠智能地進(jìn)行入侵路由跟蹤。3.3.3 代理之間的消息協(xié)作代理之間通訊的協(xié)作消息按照傳播的方式不同,可以分為點(diǎn)對點(diǎn)消息和廣播消息。點(diǎn)對點(diǎn)消息用于低層代理向高層代理提供的信息,低層代理由于時(shí)間和空間的局限性,根據現有的信息無(wú)法判斷是否是攻擊,就將可疑事件提交給高層代理。例如,當攻擊者進(jìn)行FTP Bounce攻擊時(shí),由于這種攻擊是在三臺機器間進(jìn)行的,單臺機器上的檢測代理是無(wú)法確定攻擊的,必須同時(shí)提交給高一級的代理才能作出判斷。由于某些攻擊(或者潛在的攻擊)在空間上或時(shí)間上具有一定的連續性,當某個(gè)代理檢測出攻擊時(shí),可以讓其它的代理獲得先驗知識,來(lái)提高檢測效率,這時(shí)代理就會(huì )用廣播消息來(lái)通知其它代理。例如攻擊者攻擊某個(gè)網(wǎng)絡(luò )時(shí),往往是先掃描該網(wǎng)絡(luò )中的主機所開(kāi)啟的服務(wù),從中找突破口。當一個(gè)代理探測出是端口掃描時(shí),可以將消息廣播給同一級的代理,使它們能提前預防,當攻擊者再掃描時(shí),無(wú)法知道系統開(kāi)啟的服務(wù)。入侵檢測作為一種信息安全措施,在現階段的中國還處于初步研究和探索階段。本文就是在這一社會(huì )背景下開(kāi)展研究和探索的。經(jīng)過(guò)研究、探索、分析和設計后,本文對agent這一新興的技術(shù)在入侵檢測系統中應用的優(yōu)勢進(jìn)行探討,提出了較完整的MADIDS的體系結構,并將這一技術(shù)引入MADIDS。MADIDS系統能夠滿(mǎn)足分布式環(huán)境下對入侵檢測系統的要求,能檢測分布式攻擊,這也是目前入侵檢測系統發(fā)展的一個(gè)方向。盡管采取了先進(jìn)了技術(shù)和平臺,但是正如攻擊技術(shù)不斷發(fā)展一樣,入侵的檢測也會(huì )不斷更新、成熟。同時(shí),網(wǎng)絡(luò )安全需要縱深的、多樣的防護。MADIDS系統還需要在檢測方法上進(jìn)一步改進(jìn),提高檢測的準確率和檢測速度,加強系統自身安全性。另外,同防火墻、網(wǎng)絡(luò )管理工具結合,構成立體式的防衛城墻也是MADIDS進(jìn)一步研究的方向。
評論