網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 入侵檢測系統(IDS) 由于入侵檢測系統的市場在近幾年中飛速發展,許多公司投入到這一領域上來。Internet Security System(ISS)、思科、賽門鐵克等公司都推出了自己的產品。 系統組成 IETF將一個入侵檢測系統分為四個組件:事件產生器(Event generators);事件分析器(Event analyzers);響應單元(Response units );事件數據庫(Event databases )。 事件產生器的目的是從整個計算環境中獲得事件,并向系統的其他部分提供此事件。事件分析器分析得到的數據,并產生分析結果。響應單元則是對分析結果作出作出反應的功能單元,它可以作出切斷連接、改變文件屬性等強烈反應,也可以只是簡單的報警。事件數據庫是存放各種中間和最終數據的地方的統稱,它可以是復雜的數據庫,也可以是簡單的文本文件。 根據檢測對象的不同,入侵檢測系統可分為主機型和網絡型。 基于主機的監測。主機型入侵檢測系統就是以系統日志、應用程序日志等作為數據源,當然也可以通過其他手段(如監督系統調用)從所在的主機收集信息進行分析。主機型入侵檢測系統保護的一般是所在的系統。這種系統經常運行在被監測的系統之上,用以監測系統上正在運行的進程是否合法。最近出現的一種ID(intrusion detection):位于操作系統的內核之中并監測系統的最底層行為。所有這些系統最近已經可以被用于多種平臺。 網絡型入侵檢測。它的數據源是網絡上的數據包。往往將一臺機子的網卡設于混雜模式(promisc mode),對所有本網段內的數據包并進行信息收集,并進行判斷。一般網絡型入侵檢測系統擔負著保護整個網段的任務。 系統通信協議 IDS系統內部各組件之間需要通信,不同廠商的IDS系統之間也需要通信。因此,有必要定義統一的協議。目前,IETF目前有一個專門的小組Intrusion Detection Working Group (idwg)負責定義這種通信格式,稱作Intrusion Detection Exchange Format,但還沒有統一的標準。 以下是設計通信協議時應考慮的問題:1、系統與控制系統之間傳輸的信息是非常重要的信息,因此必須要保持數據的真實性和完整性。必須有一定的機制進行通信雙方的身份驗證和保密傳輸(同時防止主動和被動攻擊)。2. 通信的雙方均有可能因異常情況而導致通信中斷,IDS系統必須有額外措施保證系統正常工作。 入侵檢測技術 對各種事件進行分析,從中發現違反安全策略的行為是入侵檢測系統的核心功能。從技術上,入侵檢測分為兩類:一種基于標志(signature-based),另一種基于異常情況(anomaly-based)。 對于基于標識的檢測技術來說,首先要定義違背安全策略的事件的特征,如網絡數據包的某些頭信息。檢測主要判別這類特征是否在所收集到的數據中出現。此方法非常類似殺毒軟件。 而基于異常的檢測技術則是先定義一組系統“正!鼻闆r的數值,如CPU利用率、內存利用率、文件校驗和等(這類數據可以人為定義,也可以通過觀察系統、并用統計的辦法得出),然后將系統運行時的數值與所定義的“正!鼻闆r比較,得出是否有被攻擊的跡象。這種檢測方式的核心在于如何定義所謂的“正!鼻闆r。 兩種檢測技術的方法、所得出的結論有非常大的差異。基于異常的檢測技術的核心是維護一個知識庫。對于已知的攻擊,它可以詳細、準確的報告出攻擊類型,但是對未知攻擊卻效果有限,而且知識庫必須不斷更新;诋惓5臋z測技術則無法準確判別出攻擊的手法,但它可以(至少在理論上可以)判別更廣范、甚至未發覺的攻擊。 [page_break]入侵檢測過程 從總體來說,入侵檢測系統可以分為兩個部分:收集系統和非系統中的信息然后對收集到的數據進行分析,并采取相應措施。 信息收集 信息收集包括收集系統、網絡、數據及用戶活動的狀態和行為。而且,需要在計算機網絡系統中的若干不同關鍵點(不同網段和不同主機)收集信息,這除了盡可能擴大檢測范圍的因素外,還有一個就是對來自不同源的信息進行特征分析之后比較得出問題所在的因素。 入侵檢測很大程度上依賴于收集信息的可靠性和正確性,因此,很有必要只利用所知道的真正的和精確的軟件來報告這些信息。因為黑客經常替換軟件以搞混和移走這些信息,例如替換被程序調用的子程序、記錄文件和其它工具。黑客對系統的修改可能使系統功能失常并看起來跟正常的一樣。例如,unix系統的PS指令可以被替換為一個不顯示侵入過程的指令,或者是編輯器被替換成一個讀取不同于指定文件的文件(黑客隱藏了初試文件并用另一版本代替)。這需要保證用來檢測網絡系統的軟件的完整性,特別是入侵檢測系統軟件本身應具有相當強的堅固性,防止被篡改而收集到錯誤的信息。入侵檢測利用的信息一般來自以下三個方面(這里不包括物理形式的入侵信息): 系統和網絡日志文件 黑客經常在系統日志文件中留下他們的蹤跡,因此,可以充分利用系統和網絡日志文件信息。日志中包含發生在系統和網絡上的不尋常和不期望活動的證據,這些證據可以指出有人正在入侵或已成功入侵了系統。通過查看日志文件,能夠發現成功的入侵或入侵企圖,并很快地啟動相應的應急響應程序。日志文件中記錄了各種行為類型,每種類型又包含不同的信息,例如記錄“用戶活動”類型的日志,就包含登錄、用戶ID改變、用戶對文件的訪問、授權和認證信息等內容。很顯然地,對用戶活動來講,不正常的或不期望的行為就是重復登錄失敗、登錄到不期望的位置以及非授權的企圖訪問重要文件等等。 非正常的目錄和文件改變 網絡環境中的文件系統包含很多軟件和數據文件,他們經常是黑客修改或破壞的目標。目錄和文件中非正常改變(包括修改、創建和刪除),特別是那些正常情況下限制訪問的,很可能就是一種入侵產生的指示和信號。黑客經常替換、修改和破壞他們獲得訪問權的系統上的文件,同時為了隱藏系統中他們的表現及活動痕跡,都會盡力去替換系統程序或修改系統日志文件。 非正常的程序執行 網絡系統上的程序執行一般包括操作系統、網絡服務、用戶啟動的程序和特定目的的應用,例如WEB服務器。每個在系統上執行的程序由一到多個進程來實現。一個進程的執行行為由它運行時執行的操作來表現,操作執行的方式不同,它利用的系統資源也就不同。操作包括計算、文件傳輸、設備和其它進程,以及與網絡間其它進程的通訊。 一個進程出現了不期望的行為可能表明黑客正在入侵你的系統。黑客可能會將程序或服務的運行分解,從而導致它失敗,或者是以非用戶或管理員意圖的方式操作。 [page_break]信號分析 對收集到的有關系統、網絡、數據及用戶活動的狀態和行為等信息,一般通過三種技術手段進行分析:模式匹配、統計分析和完整性分析。其中前兩種方法用于實時的入侵檢測,而完整性分析則用于事后分析。 模式匹配 模式匹配就是將收集到的信息與已知的網絡入侵和系統已有模式數據庫進行比較,從而發現違背安全策略的行為。該過程可以很簡單(如通過字符串匹配以尋找一個簡單的條目或指令),也可以很復雜(如利用正規的數學表達式來表示安全狀態的變化)。一般來講,一種進攻模式可以用一個過程(如執行一條指令)或一個輸出(如獲得權限)來表示。該方法的一大優點是只需收集相關的數據集合,顯著減少系統負擔,且技術已相當成熟。它與病毒防火墻采用的方法一樣,檢測準確率和效率都相當高。但是,該方法存在的弱點是需要不斷的升級以對付不斷出現的黑客攻擊手法,不能檢測到從未出現過的黑客攻擊手段。 統計分析 統計分析方法首先給系統對象(如用戶、文件、目錄和設備等)創建一個統計描述,統計正常使用時的一些測量屬性(如訪問次數、操作失敗次數和延時等)。在比較這一點上與模式匹配有些相象之處。測量屬性的平均值將被用來與網絡、系統的行為進行比較,任何觀察值在正常值范圍之外時,就認為有入侵發生。例如,本來都默認用GUEST帳號登錄的,突然用ADMINI帳號登錄。這樣做的優點是可檢測到未知的入侵和更為復雜的入侵,缺點是誤報、漏報率高,且不適應用戶正常行為的突然改變。具體的統計分析方法如基于專家系統的、基于模型推理的和基于神經網絡的分析方法,目前正處于研究熱點和迅速發展之中。 完整性分析 完整性分析主要關注某個文件或對象是否被更改,這經常包括文件和目錄的內容及屬性,它在發現被更改的、被特咯伊化的應用程序方面特別有效。完整性分析利用強有力的加密機制,稱為消息摘要函數(例如MD5),它能識別哪怕是微小的變化。其優點是不管模式匹配方法和統計分析方法能否發現入侵,只要是成功的攻擊導致了文件或其它對象的任何改變,它都能夠發現。缺點是一般以批處理方式實現,用于事后分析而不用于實時響應。盡管如此,完整性檢測方法還應該是網絡安全產品的必要手段之一。例如,可以在每一天的某個特定時間內開啟完整性分析模塊,對網絡系統進行全面地掃描檢查。 [page_break]專家系統 用專家系統對入侵進行檢測,經常是針對有特征入侵行為,是較為智能的方法。專家系統主要是運用規則進行分析,規則即知識,不同的系統與設置具有不同的規則,且規則之間往往無通用性。專家系統的建立依賴于知識庫的完備性,知識庫的完備性又取決于審計記錄的完備性與實時性。入侵的特征抽取與表達,是入侵檢測專家系統的關鍵。在系統實現中,將有關入侵的知識轉化為if-then結構(也可以是復合結構),條件部分為入侵特征,then部分是系統防范措施。運用專家系統防范有特征入侵行為的有效性完全取決于專家系統知識庫的完備性。 實現一例 以下是在WINDOWS2000,VB6.0環境下測試通過的對本機的木馬探測及常規掃描進行監聽的簡單程序。 Dim tmpstr As String ’存放捕獲的數據 Private Sub Command1_Click() Private Sub Command2_Click() Private Sub Command3_Click() [page_break]Private Sub Form_Load() txtLOG.Text = "日志:" & vbCrLf NOW_OUT = 1 End Sub ’在窗體載入時初始化日志文件和連接變量 Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long) Private Sub Winsock2_DataArrival(Index As Integer, ByVal bytesTotal As Long) Sub myAddLog(tmptext As String) '加入日志 程序說明:這是一個簡單的監聽程序,并不具有分析的功能,因此,它不是一個入侵檢測系統,而是入侵檢測系統的前半部分——數據收集。它是通過winsock(系統本身提供的組件)本身的功能,簡單的實現對本地斷口的監聽和對到達本地的數據進行捕獲。 總結 入侵檢測作為一種積極主動地安全防護技術,提供了對內部攻擊、外部攻擊和誤操作的實時保護,在網絡系統受到危害之前攔截和響應入侵。入侵檢測系統面臨的最主要挑戰有兩個:一個是虛警率太高,一個是檢測速度太慢。現有的入侵檢測系統還有其他技術上的致命弱點。因此,可以這樣說,入侵檢測產品仍具有較大的發展空間,從技術途徑來講,除了完善常規的、傳統的技術(模式識別和完整性檢測)外,應重點加強統計分析的相關技術研究。 但無論如何,入侵檢測不是對所有的入侵都能夠及時發現的,即使擁有當前最強大的入侵檢測系統,如果不及時修補網絡中的安全漏洞的話,安全也無從談起。 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!