【正文】
一個里程碑,這就是1985年美國國防部(DoD)國家計算機(jī)安全中心(NCSC)發(fā)布的可信計算機(jī)安全評估準(zhǔn)則(TCSEC)[1]。針對網(wǎng)絡(luò)吞吐量、主機(jī)的運(yùn)算速度、數(shù)據(jù)庫的TPC指標(biāo)等這類性能問題,用戶可以根據(jù)自己的業(yè)務(wù)要求、資金條件等方面考慮取舍。目前入侵檢測品主要廠商有ISS公司(RealSecure)、Axent公司(ITA、ESM), 以 及NAI(CyberCop Monitor)。檢測已經(jīng)是系統(tǒng)安全模型中非常重要的一部分。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。在主機(jī)代理中的網(wǎng)絡(luò)接口檢測功能,有效地解決了未來交換式網(wǎng)絡(luò)中入侵檢測系統(tǒng)無法檢測的致命弱點(diǎn)。分布式入侵檢測系統(tǒng)設(shè)計與實(shí)現(xiàn)分布式入侵監(jiān)測系統(tǒng)設(shè)計與實(shí)現(xiàn)摘 要隨著黑客入侵事件的日益猖獗,人們發(fā)現(xiàn)只從防御的角度構(gòu)造安全系統(tǒng)是不夠的。關(guān)鍵字 入侵檢測;模式匹配AbstractWith more and more site intruded by hackers, security expert found than only use crypt technology to build a security system is not enough. The Intrusion Detection is a new security technology, apart from tradition security protect technology, such as firewall and data crypt. IDSs watch the puter and network traffic for intrusive and suspicious activities. they not only detect the intrusion from the Extranet hacker, but also the intranet users.We design a ponentbased Intrusion Detection System, which has good distribute and scalable ability. It bine the networkbased IDS and hostbased IDS into a system, and provide detection, report and respone together.In the implement of the network engine, the bination of network protocol analyze and pattern match technology is used, and reduce scope to search. We also improved pattern match algorithm, the network engine can search intrusion signal more quickly. We use network interface detection in host agent, which will enable the IDS work on switch network fine.Keyword IDS。本人完全意識到本聲明的法律后果由本人承擔(dān)。入侵檢測作為一種積極主動地安全防護(hù)技術(shù),提供了對內(nèi)部攻擊、外部攻擊和誤操作的實(shí)時保護(hù),在網(wǎng)絡(luò)系統(tǒng)受到危害之前攔截和響應(yīng)入侵。他們都在入侵檢測技術(shù)上有多年的研究。系統(tǒng)性能的高低在一定程度上可以通過量化指標(biāo)來表現(xiàn)。這個準(zhǔn)則的發(fā)布對操作系統(tǒng)、數(shù)據(jù)庫等方面的安全發(fā)展起到了很大的推動作用。這些措施實(shí)際上就是一些緊急應(yīng)對和響應(yīng)措施。防火墻的管理及配置相當(dāng)復(fù)雜,要想成功的維護(hù)防火墻,要求防火墻管理員對網(wǎng)絡(luò)安全攻擊的手段及其與系統(tǒng)配置的關(guān)系有相當(dāng)深刻的了解。再次,保證信息系統(tǒng)安全的經(jīng)典手段是“存取控制”或“訪問控制”,這種手段在經(jīng)典的以及現(xiàn)代的安全理論中都是實(shí)行系統(tǒng)安全策略的最重要的手段。 入侵檢測系統(tǒng)的分類按獲得原始數(shù)據(jù)的方法可以將入侵檢測系統(tǒng)分為基于網(wǎng)絡(luò)的入侵檢測和基于主機(jī)的入侵檢測系統(tǒng)。如果匹配,系統(tǒng)就會向管理員報警并向別的目標(biāo)報告,以采取措施。盡管基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)能很容易地提供廣泛覆蓋,但其價格通常是昂貴的。一旦發(fā)生了更改,基于主機(jī)的IDS就能檢測到這種不適當(dāng)?shù)母??;谥鳈C(jī)的入侵檢測系統(tǒng)存在于現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)之中,包括文件服務(wù)器、Web服務(wù)器及其它共享資源?;谥鳈C(jī)的入侵檢測系統(tǒng)可安裝在所需的重要主機(jī)上,在交換的環(huán)境中具有更高的能見度。反應(yīng)因產(chǎn)品而異,但通常都包括通知管理員、中斷連接并且/或為法庭分析和證據(jù)收集而做的會話記錄。l 視野更寬 基于網(wǎng)絡(luò)的入侵檢測甚至可以在網(wǎng)絡(luò)的邊緣上,即攻擊者還沒能接入網(wǎng)絡(luò)時就被發(fā)現(xiàn)并制止。l 操作系統(tǒng)無關(guān)性 基于網(wǎng)絡(luò)的IDS作為安全監(jiān)測資源,與主機(jī)的操作系統(tǒng)無關(guān)。基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)可以研究負(fù)載的內(nèi)容,查找特定攻擊中使用的命令或語法,這類攻擊可以被實(shí)時檢查包序列的入侵檢測系統(tǒng)迅速識別。從技術(shù)上,入侵檢測分為兩類:一種基于模式匹配(signaturebased)的入侵檢測系統(tǒng),另一種基于異常發(fā)現(xiàn)(anomalybased)的入侵檢測系統(tǒng)。審計系統(tǒng)實(shí)時地檢測用戶對系統(tǒng)的使用情況,根據(jù)系統(tǒng)內(nèi)部保持的用戶行為的概率統(tǒng)計模型進(jìn)行監(jiān)測,當(dāng)發(fā)現(xiàn)有可疑的用戶行為發(fā)生時,保持跟蹤并監(jiān)測該用戶的行為。神經(jīng)網(wǎng)絡(luò)可能用于解決傳統(tǒng)的統(tǒng)計分析技術(shù)所面臨的以下幾個問題: ●難于建立確切的統(tǒng)計分布 ●難于實(shí)現(xiàn)方法的普適性 ●算法實(shí)現(xiàn)比較昂貴 ●系統(tǒng)臃腫難于剪裁目前,神經(jīng)網(wǎng)絡(luò)技術(shù)提出了對基于傳統(tǒng)統(tǒng)計技術(shù)的攻擊檢測方法的改進(jìn)方向,但尚不十分成熟,所以傳統(tǒng)的統(tǒng)計方法仍將繼續(xù)發(fā)揮作用,也仍然能為發(fā)現(xiàn)用戶的異常行為提供相當(dāng)有參考價值的信息。用基于模型的推理方法人們能夠為某些行為建立特定的模型,從而能夠監(jiān)視具有特定行為特征的某些活動。如果條件允許,兩者結(jié)合的檢測會達(dá)到更好的效果。在現(xiàn)有的入侵檢測系統(tǒng)中,經(jīng)常用數(shù)據(jù)采集部分、分析部分和響應(yīng)部分來分別代替事件產(chǎn)生器、事件分析器和響應(yīng)單元這些術(shù)語。攻擊特征庫的更新不及時:絕大多數(shù)的入侵檢測系統(tǒng)都是適用模式匹配的分析方法,這要求攻擊特征庫的特征值應(yīng)該是最新的。但入侵檢測系統(tǒng)不能很好的和其他安全產(chǎn)品協(xié)作。并且在入侵檢測系統(tǒng)的整體功能設(shè)計上,也必須建立一種可以擴(kuò)展的結(jié)構(gòu),以便系統(tǒng)結(jié)構(gòu)本身能夠適應(yīng)未來可能出現(xiàn)的擴(kuò)展要求。 系統(tǒng)概述 ODIDS系統(tǒng)是基于部件的分布式入侵檢測系統(tǒng)。主機(jī)代理在所在主機(jī)以各種方法收集信息,包括分析日志、監(jiān)視用戶行為、分析系統(tǒng)調(diào)用、分析該主機(jī)的網(wǎng)絡(luò)通信等。同時負(fù)責(zé)分布式攻擊進(jìn)行檢測。用戶可以提供控制臺配置系統(tǒng)中的各個部件,也通過控制臺了解各部件的運(yùn)行情況。DMZ 是介于ISP和最外端防火墻界面之間的區(qū)域。設(shè)置良好的防火墻確實(shí)阻止了大部分低層次的攻擊,人們也確實(shí)把太多的注意力放在檢測和分析這些低層次的攻擊上了。4. 檢測器的其他位置檢測器最通常的位置在防火墻外,但這當(dāng)然不是唯一一個對機(jī)構(gòu)有利的擺放位置。有必要被檢測器配置兩塊接口卡,一塊連接到網(wǎng)絡(luò)跨接端口用于監(jiān)聽混雜模式(監(jiān)聽所有數(shù)據(jù)包,不管它們是否是發(fā)給檢測器)的,另一塊連接到單獨(dú)VLAN用來與分析工作站進(jìn)行通信。優(yōu)點(diǎn):可得到幾乎所有關(guān)鍵數(shù)據(jù)。他的功能基本上相當(dāng)于一個完整的基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)。下面給出一個例子可以很高的說明其工作原理。他對于網(wǎng)絡(luò)中傳輸?shù)膱D像或音頻流同樣進(jìn)行匹配。2〕 IP協(xié)議規(guī)定IP包的第24字節(jié)處有一個1字節(jié)的第四層協(xié)議標(biāo)識。它的結(jié)構(gòu)如下:圖3-1 入侵檢測系統(tǒng)框圖監(jiān)聽部分:網(wǎng)絡(luò)監(jiān)聽模塊將網(wǎng)絡(luò)接口設(shè)置為混亂模式,將接收到達(dá)到網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包截取下來,供協(xié)議分析模塊使用。數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動程序直接從數(shù)據(jù)鏈路層取得網(wǎng)絡(luò)數(shù)據(jù)包不加修改地傳遞給運(yùn)行在用戶層的應(yīng)用程序,他在不同的WINDOWS系統(tǒng)下是不同。 在該樹結(jié)構(gòu)中可以加入自定義的協(xié)議結(jié)點(diǎn),如在HTTP協(xié)議中可以把請求URL列入該樹中作為一個結(jié)點(diǎn),再將URL中不同的方法作為子節(jié)點(diǎn),這樣可以細(xì)化分析數(shù)據(jù),提高檢測效率。圖3-3 協(xié)議樹示意圖數(shù)據(jù)分析:數(shù)據(jù)分析模塊的功能是分析某一特定協(xié)議數(shù)據(jù),得出是否關(guān)注該主機(jī)的結(jié)論。數(shù)據(jù)分析的方法是入侵檢測系統(tǒng)的核心。對于已經(jīng)有的分析功能,可以在入侵特征數(shù)據(jù)庫中添加新的入侵特征,以增強(qiáng)現(xiàn)有模式匹配分析方法的檢測能力。其主要來源有:1.系統(tǒng)和網(wǎng)絡(luò)日志文件黑客經(jīng)常在系統(tǒng)日志文件中留下他們的蹤跡,因此,充分利用系統(tǒng)和網(wǎng)絡(luò)日志文件信息是檢測入侵的必要條件。3.程序執(zhí)行中的不期望行為網(wǎng)絡(luò)系統(tǒng)上的程序執(zhí)行一般包括操作系統(tǒng)、網(wǎng)絡(luò)服務(wù)、用戶起動的程序和特定目的的應(yīng)用,例如數(shù)據(jù)庫服務(wù)器。對于不同的主機(jī),上面運(yùn)行的應(yīng)用程序也各不相同,因此不同廠商設(shè)計的基于主機(jī)的入侵檢測系統(tǒng)的各不相同。攻擊者一般都會添加、刪除或更改一些敏感的文件獲得權(quán)限或者留下后門,所以檢測這些文件的改變可以得到攻擊的信息。它是基于主機(jī)的入侵檢測系統(tǒng)和基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)的結(jié)合。隨著網(wǎng)絡(luò)速度的加快,有時候網(wǎng)絡(luò)傳感器的工作速度可能無法跟上網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)乃俣?。該方式有如下?yōu)點(diǎn):1. 網(wǎng)絡(luò)速度不成問題。我們選擇現(xiàn)有的數(shù)據(jù)庫系統(tǒng)來建立存儲系統(tǒng)。這樣做的影響減低了系統(tǒng)實(shí)時性的要求。為了提高檢測粒度,就可以將提交的數(shù)量適量增大。 對數(shù)據(jù)進(jìn)行縮減的一種有效的辦法是把數(shù)據(jù)庫分為兩個主要的存儲裝置:原始數(shù)據(jù)數(shù)據(jù)庫和長期記錄數(shù)據(jù)庫。 系統(tǒng)提供兩種保存原始數(shù)據(jù)的設(shè)置方式:按時間和按存儲容量??雌饋硗萍夹g(shù)可以獲得更好的實(shí)時性,但推技術(shù)也有一個嚴(yán)重的問題。但拉結(jié)構(gòu)有一個很好的應(yīng)用就是隱藏檢測器。它甚至有可能檢測出以前未出現(xiàn)過的攻擊方法,不像基于知識的檢測那樣受已知脆弱性的限制。用于描述特征的變量類型有:1)操作密度:度量操作執(zhí)行的速率,常用于檢測通過長時間平均覺察不到的異常行為;2)審計記錄分布:度量在最新紀(jì)錄中所有操作類型的分布;3)范疇尺度:度量在一定動作范疇內(nèi)特定操作的分布情況;4)數(shù)值尺度:度量那些產(chǎn)生數(shù)值結(jié)果的操作,如CPU使用量,I/O使用量。這種方法的優(yōu)越性在于能應(yīng)用成熟的概率統(tǒng)計理論。根據(jù)用戶的代表性命令序列訓(xùn)練網(wǎng)絡(luò)后,該網(wǎng)絡(luò)就形成了相應(yīng)用戶的特征表,于是網(wǎng)絡(luò)對下一事件的預(yù)測錯誤率在一定程度上反映了用戶行為的異常程度。這種方法由于依據(jù)具體特征庫進(jìn)行判斷,所以檢測準(zhǔn)確度很高,并且因為檢測結(jié)果有明確的參照,也為系統(tǒng)管理員做出相應(yīng)措施提供了方便。在具體實(shí)現(xiàn)中,專家系統(tǒng)主要面臨一下問題:1. 全面性問題,即難以科學(xué)地從各種入侵手段中抽象出全面的規(guī)則化知識;2. 效率問題,即所需處理的數(shù)據(jù)量過大,而且在大型系統(tǒng)上,如何獲得實(shí)時連續(xù)的審計數(shù)據(jù)也是個問題。其中有關(guān)攻擊者行為的知識被描述為:攻擊者目的,攻擊者達(dá)到此目的的可能行為步驟,以及對系統(tǒng)的特殊使用等?! ∧P屯评矸椒ǖ膬?yōu)越性有:對不確定性的推理有合理的數(shù)學(xué)理論基礎(chǔ),同時決策器使得攻擊腳本可以與審計記錄的上下文無關(guān)。 Petri 網(wǎng)用于入侵行為分析是一種類似于狀態(tài)轉(zhuǎn)換圖分析的方法。雖然很復(fù)雜的入侵特征能用Petri網(wǎng)表達(dá)得很簡單,但是對原始數(shù)據(jù)匹配時的計算量卻會很大。但是創(chuàng)建入侵檢測模型的工作量比別的方法要大,并且在系統(tǒng)實(shí)現(xiàn)時決策器如何有效地翻譯攻擊腳本也是個問題。檢測時先將這些攻擊腳本的子集看作系統(tǒng)正面臨的攻擊。像專家系統(tǒng)一樣,特征分析也需要知道攻擊行為的具體知識。并且檢測范圍受已知知識的局限,尤其是難以檢測出內(nèi)部人員的入侵行為,如合法用戶的泄漏,因為這些入侵行為并沒有利用系統(tǒng)脆弱性。神經(jīng)網(wǎng)絡(luò)方法的優(yōu)點(diǎn)在于能更好地處理原始數(shù)據(jù)的隨機(jī)特性,即不需要對這些數(shù)據(jù)作任何統(tǒng)計假設(shè),并且有較好的抗干擾能力。其次,定義是否入侵的判斷閾值也比較困難。在SRI/CSL的入侵檢測專家系統(tǒng)(IDES)中給出了一個特征簡表的結(jié)構(gòu):變量名,行為描述,例外情況,資源使用,時間周期,變量類型,門限值,主體,客體,值其中的變量名、主體、客體唯一確定了每一個特征簡表,特征值由系統(tǒng)根據(jù)審計數(shù)據(jù)周期性地產(chǎn)生。尤其在用戶數(shù)目眾多,或工作目的經(jīng)常改變的環(huán)境中。 分析系統(tǒng)分析系統(tǒng)在整個ODIDS系統(tǒng)中處于二級分析結(jié)構(gòu)中,它從存儲系統(tǒng)中的數(shù)據(jù)進(jìn)行進(jìn)一步的分析。經(jīng)過一段時間的觀察,攻擊者就能夠判斷出哪些是檢測器所忽略的。 長期記錄數(shù)據(jù)庫:長期記錄數(shù)據(jù)庫以縮減數(shù)據(jù)的格式記錄了很長一段時間內(nèi)的檢測情況。這個數(shù)據(jù)庫應(yīng)該建立多重索引和優(yōu)化,以便能夠進(jìn)行最有效的搜索。采用直接載入數(shù)據(jù)庫的方法,在不同規(guī)模的入侵檢測系統(tǒng)可以使用相同的接口。如果每個數(shù)據(jù)得到就提交一次,這樣對信息處理會提供方便但對影響系統(tǒng)的運(yùn)行性能。跟據(jù)入侵檢測系統(tǒng)的規(guī)模,存儲系統(tǒng)也有和大的區(qū)別,它可能是一個單一的數(shù)據(jù)文件,也可能是一個數(shù)據(jù)庫系統(tǒng),對于大規(guī)模的入侵檢測系統(tǒng)來也有可能配置一個數(shù)據(jù)倉庫作為其存儲系統(tǒng)。2. 網(wǎng)絡(luò)棧在數(shù)據(jù)包到達(dá)主機(jī)網(wǎng)絡(luò)接口檢測器之前即已將它們解密。如果網(wǎng)絡(luò)數(shù)據(jù)被加密的話,網(wǎng)絡(luò)傳感器即不能起作用,原因是它無法正確地“看到”網(wǎng)絡(luò)數(shù)據(jù)。比如對于斷口掃描的檢測,在網(wǎng)絡(luò)接口防護(hù)中檢測對本地主機(jī)的斷口掃描比在網(wǎng)絡(luò)引擎中檢測要容易得多。用戶行為檢測:用戶行為檢測主要是對付內(nèi)部人員的誤用和攻擊。日志分析: 日志分析是最早出現(xiàn)的入侵檢測的方法,開始于六、七十年代。每個進(jìn)程執(zhí)行在具有不同權(quán)限的環(huán)境中,這種環(huán)境控制著進(jìn)程可訪問的系統(tǒng)資源、程序和數(shù)據(jù)文件等。通過查看日志文件,能夠發(fā)現(xiàn)成功的入侵或入侵企圖,并很快地啟動相應(yīng)的應(yīng)急響應(yīng)程序。代理管理除與各部分間交互的部分外,主要實(shí)現(xiàn)一個動態(tài)的更新機(jī)制。如發(fā)現(xiàn)一個HTTP請求某個服務(wù)器上的“/cgibin/phf”,這很很可能是一個攻擊者正在尋找系統(tǒng)的CGI漏洞。一個協(xié)議數(shù)據(jù)可能有多個數(shù)據(jù)分析函數(shù)來處理它,這些函數(shù)的被放到一個鏈表中。協(xié)議名稱是該協(xié)議的唯一標(biāo)志。低級的動態(tài)鏈接庫運(yùn)行在用戶層,他把應(yīng)用程序和數(shù)據(jù)包監(jiān)聽設(shè)備驅(qū)動程序隔離開來,使得應(yīng)用程序可以不加修改地在不同的WINDOWS系統(tǒng)上運(yùn)行。網(wǎng)絡(luò)監(jiān)聽模塊的過濾功