第一卷 淺析網絡入侵監測係統-IDS的應用
第一章 淺析網絡入侵監測係統-IDS的應用
很多文章介紹了如何通過建立,改善,以及分析服務器日記文件的種種方式,監測出來黑客入侵行為,但這些都是過去式,都是在入侵發生後你才知道存在這種行為而加以防範。最好的方法是能夠在當場就能監測出惡意的網絡入侵行為,並且馬上采取防範反擊措施加以糾正。因此即時監測黑客入侵行為並以程序自動產生響應的網絡入侵監測係統(又稱IDS)產生了。
1、何謂IDS?
簡單的說,設立IDS的唯一目的就是當場監測到網絡入侵事件的發生。IDS就是一個網絡上的係統,這個係統包含了下麵三個組件:
(1)網絡監測組件,用以捕捉在網絡線上傳遞的封包。
(2)接口組件,用以決定監測中的資料傳遞是否屬於惡意行為或惡意的使用。在網絡傳遞時,用來比較的資料樣式 (pattern),以監測惡意網絡活動。
(3)響應組件,針對當時的事件予以適當的響應。這個響應可以是簡單的,例如寄發一個電子郵件訊息給係統管理者,或者是複雜的,例如暫時將違規者的IP地址過濾掉,不要讓他連到這個網絡來。
2、IDS如何通過網頁監測網絡入侵事件
IDS係統不隻必須監測各式各樣,從大到小,以及各種係列的係統上的網絡攻擊事件,它還必須能夠快速及時地的在第一時間內監測到入侵事件的發生。因此,IDS的數據庫以及式樣比對(pattern-matching)機製是複雜到令人難以置信的。
要使IDS能夠監測通過網頁的入侵事件,其中的網絡監測組件就必須要能夠捕捉所有通過網頁通訊端口上,借著HTTP 通訊協議傳遞的網絡資料往來。(注意,SSL的網絡交通是完全繞過IDS的網絡監測的,因為這些網絡交換資料都是經過加密的。)式樣比對組件在這裏,主要是用於比較URL解析的結果,看看是否符合數據庫中的惡意的HTTP回詢(request)。
接下來,我介紹如何製作兩個快速而簡易的IDS,用來監測可疑的網頁回詢活動。這些解決方案的目的是在於提供係統管理者,讓他們擁有一個特別針對他們網絡而設計的監測/響應係統。
3、製作快速而簡易的IDS
(1)Network Grep 工具
我們先從一個簡單的網絡監視程序開始,這個程序是用來監測 HTTP 通訊協議的網絡資料往來。HTTP回詢的特色是,它使用以下的語法:
〈HTTP-Request-Method〉 〈URL〉 HTTP/〈version〉
這個可在Packetfactory入口網站尋獲的程序ngrep針對在網絡上傳遞往來的資料,執行正則表示法(regular expression)式樣比對。我們可以用以下的指令來利用ngrep攔截並顯示所有純文字形式的 HTTP 資料往來:
#ngrep-iqt"^GET|^HEAD|^TRACE|^POST|^PUT and HTTP"
以上指令中,-iqt 選項是指示ngrep不要區分資料中的大小寫,並且隻有顯示封包中有符合式樣比對的資料,以及在顯示資料時加上日期以及時間的標題。(注:比對的式樣,是基於 GET,HEAD,TRACE,POST,PUT,以及 HTTP 等關鍵詞。欲知更多有關如何在ngrep使用正則表示法,你可以到http://www.packetfactory.net/Projects/Ngrep/查看相關資料。)
以上麵我們建議的方式使用ngrep再加上運行越來越受歡迎的 Whisker程序,監測地址為 10.1.1.2 的IIS5.0 服務器平台,我們得到了以下的結果:
T 03:37:30.041739 10.1.1.21:2425 -> 10.1.1.2:80 [AP]
HEAD / HTTP/1.0..User-Agent: Mozilla/5.0 [en] (Win95; U)..Referer: http://10.1.1.2/..Connection: close....
T 2001/01/16 03:37:30.108630 10.1.1.21:2426 -> 10.1.1.2:80 [AP]
GET /cfdocs/ HTTP/1.0..User-Agent: Mozilla/5.0 [en] (Win95; U)..Cookie: ASPSESSIONIDGQGQGLAC=HDJNBOGBIPOCPNCKOJOPBCFD;path=
/..Referer:http://10.1.1.2/..Connection: close....
T 2001/01/16 03:37:31.842452 10.1.1.21:2427 -> 10.1.1.2:80 [AP]
GET /scripts/ HTTP/1.0..User-Agent: Mozilla/5.0 [en] (Win95; U)..Cookie: ASPSESSIONIDGQGQGLAC=HDJNBOGBIPOCPNCKOJOPBCFD;path=
/..Referer:http://10.1.1.2/..Connection: close....
T 2001/01/16 03:37:31.854206 10.1.1.21:2428 -> 10.1.1.2:80 [AP]
GET /scripts/cfcache.map HTTP/1.0..User-Agent: Mozilla/5.0 [en]
(Win95; U)..Cookie: ASPSESSIONIDGQGQGLAC=HDJNBOGBIPOCPNCKOJOPBCFD;
path=/..Referer: http://10.1.1.2/..Connection: close....