分析偵測系統漏洞駭客的入侵手法

本文針對檢測系統的漏洞來瞭解一下駭客的手法。一旦安裝了網路檢測系統,網路檢測系統就會為你分析出網上出現的駭客事件,而且你能用此檢測系統的反擊功能,即時將這種連線獵殺或阻斷。你也可以配合防火牆的設置,由入侵偵測系統自動為你動態修改防火牆的存取規則,拒絕來自這個IP 的後續連線動作!」這種美好的「前景」,可能是許多入侵偵測系統提供商的慣用銷售手法,一般的企業或組織在建立自己的入侵偵測系統時也會有這種預期目的。誠然,入侵偵測系統可以具有很好的監視及檢測入侵的能力,也可以對企業或組織的安全提供很好的協助。但是,正如小偷的手法會隨著鎖的設計而不斷「更新」一樣,隨著入侵偵測系統的出現,許多針對網路入侵偵測系統的規避手法也隨之不斷「升級」。如今,駭客對於入侵偵測系統已經有了一套較完整的入侵手法。下面我們將針對入侵偵測系統的漏洞來瞭解一下駭客的入侵手法。

一、識別方式的設計漏洞

  1. 對比已知手法與入侵偵測系統監視到的在網上出現的字串,是大部分網路入侵偵測系統都會採取的一種方式。例如,在早期Apache Web伺服器版本上的phf CGI程式,就是過去常被駭客用來讀取伺服器系統上的密碼檔(/etc/password),或讓伺服器為其執行任意指令的工具之一。當駭客利用這種工具時,在其URL request請求中多數就會出現類似「GET /cgi-bin/phf?.....」的字串。因此許多入侵偵測系統就會直接對比所有的URL request 中是否出現/cgi-bin/phf 的字串,以此判斷是否出現phf 的行為。
  2. 這樣的檢查方式,雖然適用於各種不同的入侵偵測系統,但那些不同的入侵偵測系統,因設計思想不同,採用的對比方式也會有所不同。有的入侵偵測系統僅能進行單純的字串對比,有的則能進行詳細的TCP Session重建及檢查工作。這兩種設計方式,一個考慮了效能,一個則考慮了識別能力。者在進行時,為避免被入侵偵測系統發現其行為,可能會採取一些規避手法,以隱藏其意圖。例如:攻擊者會將URL中的字元編碼成%XX 的警惕6進值,此時「cgi-bin」就會變成「%63%67%69%2d%62%69%6e」,單純的字串對比就會忽略掉這串編碼值。 內部代表的意義。攻擊者也可以通過目錄結構的特性,隱藏其真正的意圖,例如:在目錄結構中,「./」代表本目錄,「../」代表上層目錄,Web伺服器 可能會將「/cgi-bin/././phf」、「//cgi-bin//phf」、「/cgi-bin/blah/../phf?」這些URL request均解析成「/cgi-bin/phf」,但單純的入侵偵測系統可能只會判斷這些request是否包含「/cgi-bin/phf」的字串,而沒有發現其背後所代表的意義。
  3. 將整個request在同一個TCP Session中切割成多個僅內含幾個字元的小Packet,網路入侵偵測若沒將整個TCP session重建,則入侵偵測系統將僅能看到類似「GET」、「/cg」、「i」、「-bin」、「/phf」的個別Packet,而不能發現重組回來的結果,因為它僅單純地檢查個別Packet是否出現類似攻擊的字串。類似的規避方式還有IP Fragmentation Overlap、TCP Overlap 等各種較複雜的欺瞞手法。

二、「獵殺」及重調安全政策的漏洞

所謂「獵殺」,就是在伺服器中設定一個陷阱,如有意打開一個埠,用檢測系統對其進行24小時的嚴密盯防,當駭客嘗試通過該埠入侵時,檢測系統就會及時地將其封鎖。網路入侵偵測系統的「獵殺」及重新調整防火牆安全政策設置功能,雖然能即時阻斷攻擊動作,但這種阻斷動作僅能適用TCP Session,要完全限制,就必須依賴重新調整防火牆安全政策設置的功能,同時也可能造成另一種反效果:即時阻斷的動作會讓攻擊者發現IDS的存在,攻擊者通常會尋找規避方式,或轉向對IDS進行攻擊。重新設置防火牆的安全政策,若設置不當,也可能造成被攻擊者用來做阻斷服務(Denial of Service)攻擊的工具:經過適當的設計,若網路入侵偵測的檢查不足,攻擊者可以偽裝成其他的正常IP來源進行攻擊動作,入侵偵測系統若貿然限制這些來源的IP,將會導致那些合法用戶因攻擊者的攻擊而無法使用。論是識別方式的設計,還是所謂的「獵殺」及重新設置防火牆安全政策的設置功能,都有其利弊。能夠實地瞭解入侵偵測系統的識別方式,或進行其識別手法的調整,將有助於提高入侵偵測系統運作的正確性。對「獵殺」及重新調整防火牆安全政策設置功能工具的使用,則應仔細評估其效益與相應的損失,這樣才能有效地發揮網路入侵偵測系統的功能。

(此篇文章為網路轉載,如有冒犯,請來信告知,當即刻移除!)