張 波
摘要入侵檢測技術是為保證計算機系統的安全而設計的一種能夠及時發現并報告系統中未授權或異?,F象的技術,是一種用于檢測計算機網絡中違反安全策略行為的技術。概述了入侵檢測系統的重要性,介紹了其分類,并對其規劃的建立進行了闡述。
關鍵詞入侵檢測;重要性;分類;規則建立
中圖分類號TP393.08文獻標識碼A文章編號 1007-5739(2009)15-0366-03
入侵檢測(Intrusion Detection)是防火墻的合理補充,幫助系統對付網絡攻擊,擴展了系統管理員的安全管理能力(包括安全審計、監視、進攻識別和響應),提高了信息安全基礎結構的完整性。它從計算機網絡系統中的若干關鍵點收集信息,并分析這些信息,分析網絡中是否有違反安全策略的行為和遭到襲擊的跡象。入侵檢測被認為是防火墻之后的第2安全閘門,在不影響網絡性能的情況下能對網絡進行監測,從而提供對內部攻擊、外部攻擊和誤操作的實時保護。這些功能是通過它執行以下任務來實現的:一是監視、分析用戶及系統活動;二是系統構造和弱點的審計;三是識別反映已知進攻的活動模式并向相關人士報警;四是異常行為模式的統計分析;五是評估重要系統和數據文件的完整性;六是操作系統的審計跟蹤管理,并識別用戶違反安全策略的行為。
對一個成功的入侵檢測系統來講,它不但可使系統管理員隨時了解網絡系統(包括程序、文件和硬件設備等)的任何變更,還能給網絡安全策略的制訂提供指南。且它管理、配置簡單,從而使非專業人員非常容易地獲得網絡安全。此外,入侵檢測的規模還應根據網絡威脅、系統構造和安全需求的改變而改變。入侵檢測系統在發現入侵后,會及時做出響應,包括切斷網絡連接、記錄事件和報警等。
1入侵檢測系統(IDS)的重要性

1.1應用IDS的原因
提到網絡安全,人們第一個想到的就是防火墻。但隨著現代技術的發展,網絡日趨復雜,傳統防火墻暴露出來的不足和弱點促進人們對入侵檢測系統(Intrusion Detection System,IDS)技術的研究和開發。一是傳統的防火墻在工作時,入侵者可以找到防火墻滋生可能敞開的后門;二是防火墻不能阻止來自內部的攻擊,通過調查發現,50%的攻擊都來自內部,對于企業內部心懷不滿的員工來說,防火墻形同虛設;三是由于性能的限制,防火墻通常不能提供實時的入侵檢測的能力,而這一點,對于現在層出不窮的攻擊技術來說是至關重要的;四是防火墻對病毒也束手無策。因此,僅在Internet入口處部署防火墻系統就安全的想法是不切實際的。
入侵檢測系統(IDS)可以彌補防火墻的不足,為網絡安全提供實時的入侵檢測及采取相應的防護手段,如記錄證據用于跟蹤、恢復、斷開網絡連接等?;谝陨系墓δ?可給出一個統一的計算機網絡入侵檢測模型。這個模型由5個主要部分(信息收集器、分析器、響應、數據庫及目錄服務器)組成(見圖1)。
1.2IDS所用信息的收集
入侵檢測的第1步是信息收集,內容包括系統、網絡、數據及用戶活動的狀態和行為。而且,需要在計算機網絡系統中的若干不同關鍵點(不同網段和不同主機)收集信息,這樣除了盡可能擴大檢測范圍的因素外,還有一個重要的因素就是從一個源來的信息有可能看不出疑點,但從多個源來的信息的不一致性卻是可疑行為或入侵的最好標識。入侵檢測在很大程度上依賴于收集信息的可靠性和正確性。
入侵檢測利用的信息一般來自以下4個方面:一是系統和網絡日志文件。黑客經常在系統日志文件中留下他們的蹤跡,因此充分利用系統和網絡日志文件信息是檢測入侵的必要條件。日志中包含發生在系統和網絡上的不尋常和不期望活動的證據,這些證據可以指出有人正在入侵或已成功入侵了系統。通過查看日志文件,能夠發現成功的入侵或入侵企圖,并很快地啟動相應的應急響應程序。日志文件中記錄了各種行為類型,每種類型又包含不同的信息,例如記錄“用戶活動”類型的日志,就包含登錄、用戶ID改變、用戶對文件的訪問、授權和認證信息等內容。很顯然,對用戶活動來講,不正常的或不期望的行為就是重復登錄失敗、登錄到不期望的位置以及非授權的企圖訪問重要文件等。二是目錄和文件中的不期望改變。網絡環境中的文件系統包含很多軟件和數據文件,包含重要信息的文件和私有數據文件經常是黑客修改或破壞的目標。目錄和文件中的不期望的改變(包括修改、創建和刪除),特別是那些正常情況下限制訪問的,很可能就是一種入侵產生的指示和信號。黑客經常替換、修改和破壞他們獲得訪問權的系統上的文件,同時為了隱藏他們在系統中的表現及活動痕跡,都會盡力去替換系統程序或修改系統日志文件。三是程序執行中的不期望行為。網絡系統上的程序執行一般包括操作系統、網絡服務、用戶啟動的程序和特定目的的應用,例如數據庫服務器。每個在系統上執行的程序由1個到多個進程來實現。每個進程執行在具有不同權限的環境中,這種環境控制著進程可訪問的系統資源、程序和數據文件等。一個進程的執行行為由它運行時執行的操作來表現,操作執行的方式不同,它利用的系統資源也就不同。操作包括計算、文件傳輸、設備和其他進程,以及與網絡間其他進程的通訊。一個進程出現了不期望的行為可能表明黑客正在入侵系統。四是物理形式的入侵信息。這包括2個方面的內容,即未授權的對網絡硬件連接和對物理資源的未授權訪問。黑客會想方設法去突破網絡的周邊防衛,如果他們能夠在物理上訪問內部網,就能安裝他們自己的設備和軟件。因此,黑客就可以知道網上的由用戶加上去的不安全(未授權)設備,然后利用這些設備訪問網絡。例如,用戶在家里可能安裝Modem以訪問遠程辦公室,與此同時黑客正在利用自動工具來識別在公共電話線上的Modem,如果某一撥號訪問流量經過了這些自動工具,那么這一撥號訪問就成為了威脅網絡安全的后門。黑客就會利用這個后門來訪問內部網,從而越過了內部網絡原有的防護措施,然后捕獲網絡流量,進而攻擊其他系統,并偷取敏感的私有信息等。
1.3對信息的分析
信息收集器將收集到的有關系統、網絡、數據及用戶活動的狀態和行為等信息,通過3種技術手段進行分析,即模式匹配、統計分析和完整性分析。其中前2種方法用于實時的入侵檢測,而完整性分析則用于事后分析。一是模式匹配。模式匹配就是將收集到的信息與已知的網絡入侵和系統誤用模式數據庫進行比較,從而發現違背安全策略的行為。該過程可以很簡單(如通過字符串匹配以尋找一個簡單的條目或指令),也可以很復雜(如利用正規的數學表達式來表示安全狀態的變化)。一般來講,一種攻擊模式可以用一個過程(如執行一條指令)或一個輸出(如獲得權限)來表示。該方法的一大優點是只需收集相關的數據集合,顯著減少系統負擔,且技術已相當成熟。它與病毒防火墻采用的方法一樣,檢測準確率和效率都相當高。但是,該方法存在的弱點是需要不斷的升級以對付不斷出現的黑客攻擊手法,不能檢測到從未出現過的黑客攻擊。二是統計分析。統計分析方法首先為系統對象(如用戶、文件、目錄和設備等)創建一個統計描述,統計正常使用時的一些測量屬性(如訪問次數、操作失敗次數和延時等)。測量屬性的平均值將被用來與網絡、系統的行為進行比較,任何觀察值在正常值范圍之外時,就認為有入侵發生。例如,統計分析可能標識一個不正常行為,因為它發現一個在晚8時早6時登錄的帳號卻在凌晨2時試圖登錄。其優點是可檢測到未知的入侵和更為復雜的入侵,缺點是誤報、漏報率高,且不適應用戶正常行為的突然改變。具體的統計分析方法如基于專家系統的、基于模型推理的和基于神經網絡的分析方法,目前正處于研究熱點和迅速發展之中。三是完整性分析。完整性分析主要關注某個文件或對象是否被更改,這通常包括文件和目錄的內容及屬性,它在發現被更改的、被特洛伊化的應用程序方面特別有效。完整性分析利用強有力的加密機制,稱為消息摘要函數(如MD5),它能識別微小的變化。其優點是不管模式匹配方法和統計分析方法能否發現入侵,只要是成功的攻擊導致了文件或其他對象的任何改變,它都能被發現。缺點是一般以批處理方式實現,不用于實時響應。盡管如此,完整性檢測方法還應該是網絡安全產品的必要手段之一。例如,可以在每一天的某個特定時間內開啟完整性分析模塊,對網絡系統進行全面的掃描檢查。
2IDS的分類
2.1根據檢測原理進行分類
傳統的觀點根據入侵行為的屬性將其分為異常和濫用2種,然后分別對其建立異常檢測模型和濫用檢測模型。近4~5年來又涌現出了一些新的檢測方法,它們產生的模型對異常和濫用都適用,如人工免疫方法、遺傳算法、數據挖掘等。根據系統所采用的檢測模型,將IDS分為3類:一是異常檢測。異常檢測中,觀察到的不是已知的入侵行為,而是所研究的通信過程中的異常現象,它通過檢測系統的行為或使用情況的變化來完成。在建立該模型之前,首先必須建立統計概率模型,明確所觀察對象的正常情況,然后決定在何種程度上將一個行為標為“異常”,并如何做出具體決策。異常檢測只能識別出與正常過程有較大偏差的行為,而無法知道具體的入侵情況。由于對各種網絡環境的適應性不強,且缺乏精確的判定準則,異常檢測經常會出現虛警情況。異常檢測可以通過以下系統實現:①自學習系統。自學習系統通過學習事例構建正常行為模型,又可分為時序和非時序2種;②編程系統。系統需要通過編程學習如何檢測確定的異常事件,從而讓用戶知道什么樣的異常行為足以破壞系統的安全。編程系統可以再細分為描述統計和缺省否認2種。二是濫用檢測。在濫用檢測中,入侵過程模型及它在被觀察系統中留下的蹤跡是決策的基礎。因此,可事先定義某些特征的行為是非法的,然后將觀察對象與之進行比較以做出判別。濫用檢測基于已知的系統缺陷和入侵模式,故又稱特征檢測。它能夠準確地檢測到某些特征的攻擊,但卻過度依賴事先定義好的安全策略,所以無法檢測系統未知的攻擊行為,從而產生漏警。濫用檢測通過對確知決策規則編程實現,可以分為以下4種:①狀態建模。將入侵行為表示成許多個不同的狀態。如果在觀察某個可疑行為期間,所有狀態都存在,則判定為惡意入侵。狀態建模從本質上來講是時間序列模型,可以再細分為狀態轉換和Petri網,前者將入侵行為的所有狀態形成一個簡單的遍歷鏈,后者將所有狀態構成一個更廣義的樹形結構的Petri網。②專家系統??梢栽诮o定入侵行為描述規則的情況下,對系統的安全狀態進行推理。一般情況下,專家系統的檢測能力強大,靈活性也很高,但計算成本較高,通常以降低執行速度為代價。③串匹配。通過對系統之間傳輸的或系統自身產生的文本進行子串匹配實現。該方法靈活性欠差,但易于理解,目前有很多高效的算法,其執行速度很快。④基于簡單規則。類似于專家系統,但相對簡單一些,故執行速度快。三是混合檢測。近幾年來,混合檢測日益受到人們的重視。這類檢測在做出決策之前,既分析系統的正常行為,同時還觀察可疑的入侵行為,所以判斷更全面、準確、可靠。它通常根據系統的正常數據流背景來檢測入侵行為,故而也稱為“啟發式特征檢測”。Wenke Lee從數據挖掘得到啟示,開發出了一個混合檢測器RIPPER。它并不為不同的入侵行為分別建立模型,而是首先通過大量的事例學習什么是入侵行為以及什么是系統的正常行為,發現描述系統特征的一致使用模式,然后再形成對異常和濫用都適用的檢測模型。
2.2根據體系結構分類
按照體系結構,IDS可分為集中式、等級式和協作式3種。一是集中式。這種結構的IDS可能有多個分布于不同主機上的審計程序,但只有一個中央入侵檢測服務器。審計程序把當地收集到的數據蹤跡發送給中央服務器進行分析處理。但這種結構的IDS在可伸縮性、可配置性方面存在著致命缺陷:①隨著網絡規模的增加,主機審計程序和服務器之間傳送的數據量會驟增,導致網絡性能大大降低;②系統安全性脆弱,一旦中央服務器出現故障,整個系統就會陷入癱瘓;③根據各個主機不同需求服務器配置也非常復雜。二是等級式。它用來監控大型網絡,定義了若干個分等級的監控區,每個IDS負責1個區,每一級IDS只負責所監控區的分析,然后將當地的分析結果傳送給上一級IDS。這種結構仍存2個問題:①當網絡拓撲結構改變時,區域分析結果的匯總機制也需要做相應的調整;②這種結構的IDS最后還是要把各地收集到的結果傳送到最高級的檢測服務器進行全局分析,所以系統的安全性并沒有實質性的改進。三是協作式。將中央檢測服務器的任務分配給多個基于主機的IDS,這些IDS不分等級,各司其職,負責監控當地主機的某些活動。因此,其可伸縮性、安全性都得到了顯著的提高,但維護成本也高了很多,并且增加了所監控主機的工作負荷,如通信機制、審計開銷、蹤跡分析等。
3IDS規則的建立
IDS要有效地捕捉入侵行為,必須擁有一個強大的攻擊特征數據庫。但是,IDS一般所帶的特征數據庫都比較死板,遇到“變臉”的入侵行為往往無法識別。因此,管理員有必要學會如何創建滿足實際需要的特征數據樣板,做到以不變應萬變。
3.1特征的基本概念
特征也被稱為屬性,對應IP數據包中的字段。在這些特征中有一些對攻擊的判別至關重要。以下是一些典型情況及通過相應特征進行識別的方法:①從某一固定IP發送的連接請示:可通過檢查IP頭文件的源地址輕易地識別。②帶有非法TCP標記包的集合:可通過已知的合法與非法的標記集合與TCP頭文件中的標記進行比較而得出結論。③含有特殊病毒信息的Email:IDS可以通過將郵件的標題或附件的名稱與已知的病毒郵件相關的標題做比較得出結論。④查詢負載中的DNS緩沖區溢出企圖:可通過解析DNS域及檢查每個域的長度來識別利用DNS域的緩沖區溢出企圖。還有另外一個識別方法是:在負載中搜索“殼代碼利用”(exploit shell code)的序列代碼組合。⑤通過對POP3服務器發出上千次同一命令而導致的DoS攻擊:通過跟蹤記錄某個命令連續發出的次數,看看是否超過了預設上限,而發出報警信息。⑥未登錄情況下使用文件和目錄命令對FTP服務器的文件訪問攻擊:通過創建具備狀態跟蹤的特征樣板以監視成功登錄的FTP對話、發現未經驗證卻發命令的入侵企圖。
3.2頭文件屬性
一些頭文件屬性在出現攻擊時會有明顯的不正?,F象,所以可用于制定規則。這一規則的經典例子是帶有SYN和FIN標志的TCP包設置。在RFC793(用來定義TCP標準)中存在一個漏洞,使很多工具都試圖通過這一漏洞來嘗試繞過防火墻、路由器和入侵檢測系統。很多攻擊程序包括頭文件屬性其目的在于違背RFCs,因為很多操作系統和應用程序是基于遵守RFCs的假定而寫成的,且對在此基礎上的通訊中的錯誤不進行糾正。也有很多工具包含錯誤或不完整的代碼,于是由這些工具制成的包中包含了違背RFCs的頭文件屬性。那些寫得很糟糕的工具和各種入侵技術提供了用于寫規則的可辨別屬性。
基于頭文件屬性來開發規則的最好辦法就是通過實例。Synscan是一種應用廣泛的掃描和探測系統工具。在2001年初的互聯網上,它頻繁活動,因為它的代碼經常被用于制造Ramen蠕蟲的第1階段。這一活動提供了很好的實例,因為它的包中含有大量的可識別特征。這里有一些在蠕蟲傳播初期存在于Ramen蠕蟲包中的IP和TCP頭文件屬性:①各種不同的源IP地址;②TCP源端口21,目標端口21;③服務類型為0;④IP識別號39426;⑤SYN和F1N標記設置;⑥各種序列號碼設置;⑦各種確認號碼設置;⑧TCP windows大小為1 028。
現在已經知道Synscan包的頭文件含有的特征,可以開始考慮怎樣制訂一個好的規則。首先尋找那些非法的、不正常的、可疑的屬性,在很多事件中,這些特征都有相對應的攻擊者試圖利用的漏洞或者對應于攻擊者使用的一種特殊技術。
Synscan包的某些不正常的特征可以使用以下規則識別:僅有SYN和FIN標記設置是惡意行為的明顯標志;另一種特征是,這些包的確認號有各種不同的值,但ACK標志未設置。如果沒有設置ACK標志的話,確認號碼應該設為0;還有一種可疑的特征是,源端口和目標端口都被設為21,這是一種不正常的與FTP服務器的聯接。如果這兩者端口號相同,則稱之為反身。除了某些特殊的通訊(如特定的NetBIOS通訊),通常都不應該存在這樣的情況。反身端口不違背TCP標準,但在大多數的事件中是不正常的。在正常的FTP通訊中,會看見一個高端口(大于1 023)作為源端口,而目標端口為21。
4參考文獻
[1] 李俊霞,劉其群.淺談網絡入侵檢測系統[J].河南農業教育報,2007,4(2):56-58.
[2] 陳浩.網絡入侵檢測系統的應用研究[J].雅安職業技術學院學報,2006, 20(3):8-11.
[3] 李新遠,吳宇紅,狄文遠.基于數據發掘的入侵檢測建模[J].計算機工程,2002,28(2):159-161.
[4] 韓東海,王超,李群.入侵檢測系統實例分析[M].北京:清華大學出版社,2002.
[5] 陳波.入侵檢測規則一[J].信息網絡安全(技術廣場),2002,5(32):44-45.
[6] 郭山清,謝立,曾英佩.入侵檢測在線規則生成[J].模型計算機學報,2006,29(9):1523-1532.