IDS簡介
IDS是Intrusion Detection System的縮寫,即入侵檢測系統,主要用于檢測Hacker或Cracker通過網絡進行的入侵行為。IDS的運行方式有兩種,一種是在目標主機上運行以監測其本身的通信信息,另一種是在一臺單獨的機器上運行以監測所有網絡設備的通信信息,比如Hub、路由器。
當有某個事件與一個已知攻擊的信號相匹配時,多數IDS都會告警。一個基于anomaly(異常)的IDS會構造一個當時活動的主機或網絡的大致輪廓,當有一個在這個輪廓以外的事件發生時,IDS就會告警,例如有人做了以前他沒有做過的事情的時候,例如,一個用戶突然獲取了管理員或根目錄的權限。有些IDS廠商將此方法看做啟發式功能,但一個啟發式的IDS應該在其推理判斷方面具有更多的智能。
攻擊(Attack)可以理解為試圖滲透系統或繞過系統的安全策略,以獲取信息、修改信息以及破壞目標網絡或系統功能的行為。以下列出IDS能夠檢測出的最常見的Internet攻擊類型:
●攻擊類型1-DOS(Denial Of Service attack,拒絕服務攻擊):DOS攻擊不是通過黑客手段破壞一個系統的安全,它只是使系統癱瘓,使系統拒絕向其用戶提供服務。其種類包括緩沖區溢出、通過洪流(flooding)耗盡系統資源等等。
●攻擊類型2-DDOS(Distributed Denial of Service,分布式拒絕服務攻擊):一個標準的DOS攻擊使用大量來自一個主機的數據向一個遠程主機發動攻擊,卻無法發出足夠的信息包來達到理想的結果,因此就產生了DDOS,即從多個分散的主機一個目標發動攻擊,耗盡遠程系統的資源,或者使其連接失效。
●攻擊類型3-Smurf:這是一種老式的攻擊,但目前還時有發生,攻擊者使用攻擊目標的偽裝源地址向一個smurf放大器廣播地址執行ping操作,然后所有活動主機都會向該目標應答,從而中斷網絡連接。以下是10大smurf放大器的參考資料URL:http://www.powertech.no/smurf/。
●攻擊類型4-Trojans(特洛伊木馬):Trojan這個術語來源于古代希臘人攻擊特洛伊人使用的木馬,木馬中藏有希臘士兵,當木馬運到城里,士兵就涌出木馬向這個城市及其居民發起攻擊。在計算機術語中,它原本是指那些以合法程序的形式出現,其實包藏了惡意軟件的那些軟件。這樣,當用戶運行合法程序時,在不知情的情況下,惡意軟件就被安裝了。但是由于多數以這種形式安裝的惡意程序都是遠程控制工具,Trojan這個術語很快就演變為專指這類工具,例如BackOrifice、SubSeven、NetBus等等。
除了對攻擊發出警報,有些IDS還能自動抵御這些攻擊。抵御方式有很多:首先,可以通過重新配置路由器和防火墻,拒絕那些來自同一地址的信息流;其次,通過在網絡上發送reset包切斷連接。但是這兩種方式都有問題,攻擊者可以反過來利用重新配置的設備,其方法是:通過偽裝成一個友方的地址來發動攻擊,然后IDS就會配置路由器和防火墻來拒絕這些地址,這樣實際上就是對“自己人”拒絕服務了。發送reset包的方法要求有一個活動的網絡接口,這樣它將置于攻擊之下,一個補救的辦法是:使活動網絡接口位于防火墻內,或者使用專門的發包程序,從而避開標準IP棧需求。
IDS分類
IDS有許多不同類型的,以下分別列出:
●IDS分類1-Application IDS(應用程序IDS):應用程序IDS為一些特殊的應用程序發現入侵信號,這些應用程序通常是指那些比較易受攻擊的應用程序,如Web服務器、數據庫等。有許多原本著眼于操作系統的基于主機的IDS,雖然在默認狀態下并不針對應用程序,但也可以經過訓練,應用于應用程序。例如,KSE(一個基于主機的IDS)可以告訴我們在事件日志中正在進行的一切,包括事件日志報告中有關應用程序的輸出內容。應用程序IDS的一個例子是Entercept的Web Server Edition。
●IDS分類2-Consoles IDS(控制臺IDS):為了使IDS適用于協同環境,分布式IDS代理需要向中心控制臺報告信息。現在的許多中心控制臺還可以接收其它來源的數據,如其它產商的IDS、防火墻、路由器等。將這些信息綜合在一起就可以呈現出一幅更完整的攻擊圖景。有些控制臺還將它們自己的攻擊特征添加到代理級別的控制臺,并提供遠程管理功能。這種IDS產品有Intellitactics Network Security Monitor和Open Esecurity Platform。
●IDS分類3-File Integrity Checkers(文件完整性檢查器):當一個系統受到攻擊者的威脅時,它經常會改變某些關鍵文件來提供持續的訪問和預防檢測。通過為關鍵文件附加信息摘要(加密的雜亂信號),就可以定時地檢查文件,查看它們是否被改變,這樣就在某種程度上提供了保證。一旦檢測到了這樣一個變化,完整性檢查器就會發出一個警報。而且,當一個系統已經受到攻擊后,系統管理員也可以使用同樣的方法來確定系統受到危害的程度。以前的文件檢查器在事件發生好久之后才能將入侵檢測出來,是“事后諸葛亮”,最近出現的許多產品能在文件被訪問的同時就進行檢查,可以看做是實時IDS產品了。該類產品有Tripwire和Intact。
●IDS分類4-Honeypots(蜜罐):關于蜜罐,前面已經介紹過。蜜罐的例子包括Mantrap和Sting。
●IDS分類5-Host-based IDS(基于主機的IDS):這類IDS對多種來源的系統和事件日志進行監控,發現可疑活動。基于主機的IDS也叫做主機IDS,最適合于檢測那些可以信賴的內部人員的誤用以及已經避開了傳統的檢測方法而滲透到網絡中的活動。除了完成類似事件日志閱讀器的功能,主機IDS還對“事件/日志/時間”進行簽名分析。許多產品中還包含了啟發式功能。因為主機IDS幾乎是實時工作的,系統的錯誤就可以很快地檢測出來,技術人員和安全人士都非常喜歡它。現在,基于主機的IDS就是指基于服務器/工作站主機的所有類型的入侵檢測系統。該類產品包括Kane Secure Enterprise和Dragon Squire。
●IDS分類6-Hybrid IDS(混合IDS):現代交換網絡的結構給入侵檢測操作帶來了一些問題。首先,默認狀態下的交換網絡不允許網卡以混雜模式工作,這使傳統網絡IDS的安裝非常困難。其次,很高的網絡速度意味著很多信息包都會被NIDS所丟棄。Hybrid IDS(混合IDS)正是解決這些問題的一個方案,它將IDS提升了一個層次,組合了網絡節點IDS和Host IDS(主機IDS)。雖然這種解決方案覆蓋面極大,但同時要考慮到由此引起的巨大數據量和費用。許多網絡只為非常關鍵的服務器保留混合IDS。有些產商把完成一種以上任務的IDS都叫做Hybrid IDS,實際上這只是為了廣告的效應。混合IDS產品有CentraxICE和RealSecure Server Sensor。
●IDS分類7-Network IDS(NIDS,網絡IDS):NIDS對所有流經監測代理的網絡通信量進行監控,對可疑的異常活動和包含攻擊特征的活動作出反應。NIDS原本就是帶有IDS過濾器的混合信息包嗅探器,但是近來它們變得更加智能化,可以破譯協議并維護狀態。NIDS存在基于應用程序的產品,只需要安裝到主機上就可應用。NIDS對每個信息包進行攻擊特征的分析,但是在網絡高負載下,還是要丟棄些信息包。網絡IDS的產品有SecureNetPro和Snort。
●IDS分類8-Network Node IDS(NNIDS,網絡節點IDS):有些網絡IDS在高速下是不可靠的,裝載之后它們會丟棄很高比例的網絡信息包,而且交換網絡經常會防礙網絡IDS看到混合傳送的信息包。NNIDS將NIDS的功能委托給單獨的主機,從而緩解了高速和交換的問題。雖然NNIDS與個人防火墻功能相似,但它們之間還有區別。對于被歸類為NNIDS的個人防火墻,應該對企圖的連接做分析。例如,不像在許多個人防火墻上發現的“試圖連接到端口xxx”,一個NNIDS會對任何的探測都做特征分析。另外,NNIDS還會將主機接收到的事件發送到一個中心控制臺。NNIDS產品有BlackICE Agent和Tiny CMDS。
●IDS分類9-Personal Firewall(個人防火墻):個人防火墻安裝在單獨的系統中,防止不受歡迎的連接,無論是進來的還是出去的,從而保護主機系統。注意不要將它與NNIDS混淆。個人防火墻有ZoneAlarm和Sybergen。
●IDS分類10-Target-Based IDS(基于目標的IDS):這是不明確的IDS術語中的一個,對不同的人有不同的意義。可能的一個定義是文件完整性檢查器,而另一個定義則是網絡IDS,后者所尋找的只是對那些由于易受攻擊而受到保護的網絡所進行的攻擊特征。后面這個定義的目的是為了提高IDS的速度,因為它不搜尋那些不必要的攻擊。
IDS性能指標
對于IDS,用戶會關注每秒能處理的網絡數據流量、每秒能監控的網絡連接數等指標。但除了上述指標外,其實一些不為一般用戶了解的指標也很重要,甚至更重要,例如每秒抓包數、每秒能夠處理的事件數等。
1.每秒數據流量(Mbps或Gbps)
每秒數據流量是指網絡上每秒通過某節點的數據量。這個指標是反應網絡入侵檢測系統性能的重要指標,一般涌Mbps來衡量。例如10Mbps, 100Mbps和1Gbps。
網絡入侵檢測系統的基本工作原理是嗅探(Sniffer),它通過將網卡設置為混雜模式,使得網卡可以接收網絡接口上的所有數據。
如果每秒數據流量超過網絡傳感器的處理能力,NIDS就可能會丟包,從而不能正常檢測攻擊。但是NIDS是否會丟包,不主要取決于每秒數據流量,而是主要取決于每秒抓包數。
2.每秒抓包數(pps)
每秒抓包數是反映網絡入侵檢測系統性能的最重要的指標。因為系統不停地從網絡上抓包,對數據包作分析和處理,查找其中的入侵和誤用模式。所以,每秒所能處理的數據包的多少,反映了系統的性能。業界不熟悉入侵檢測系統的往往把每秒網絡流量作為判斷網絡入侵檢測系統的決定性指標,這種想法是錯誤的。每秒網絡流量等于每秒抓包數乘以網絡數據包的平均大小。由于網絡數據包的平均大小差異很大時,在相同抓包率的情況下,每秒網絡流量的差異也會很大。例如,網絡數據包的平均大小為1024字節左右,系統的性能能夠支持10,000pps的每秒抓包數,那么系統每秒能夠處理的數據流量可達到78Mbps,當數據流量超過78Mbps時,會因為系統處理不過來而出現丟包現象;如果網絡數據包的平均大小為512字節左右,在10,000pps的每秒抓包數的性能情況下,系統每秒能夠處理的數據流量可達到40Mbps,當數據流量超過40Mbps時,就會因為系統處理不過來而出現丟包現象。
在相同的流量情況下,數據包越小,處理的難度越大。小包處理能力,也是反映防火墻性能的主要指標。
3.每秒能監控的網絡連接數
網絡入侵檢測系統不僅要對單個的數據包作檢測,還要將相同網絡連接的數據包組合起來作分析。網絡連接的跟蹤能力和數據包的重組能力是網絡入侵檢測系統進行協議分析、應用層入侵分析的基礎。這種分析延伸出很多網絡入侵檢測系統的功能,例如:檢測利用HTTP協議的攻擊、敏感內容檢測、郵件檢測、Telnet會話的記錄與回放、硬盤共享的監控等。
4.每秒能夠處理的事件數
網絡入侵檢測系統檢測到網絡攻擊和可疑事件后,會生成安全事件或稱報警事件,并將事件記錄在事件日志中。每秒能夠處理的事件數,反映了檢測分析引擎的處理能力和事件日志記錄的后端處理能力。有的廠商將反映這兩種處理能力的指標分開,稱為事件處理引擎的性能參數和報警事件記錄的性能參數。大多數網絡入侵檢測系統報警事件記錄的性能參數小于事件處理引擎的性能參數,主要是Client/Server結構的網絡入侵檢測系統,因為引入了網絡通信的性能瓶頸。這種情況將導致事件的丟失,或者控制臺響應不過來了。


