好,對Snort的大致介紹完畢,我們來看看結果吧,Snort對整個試驗程序抓獲的資料包產成了告警,如下:
[**] WEB-MISC whisker splice attack [**]
12/02-14:42:54.389175 client.yiming.com:51767-> server.yiming.com:80
TCP TTL:251 TOS:0x0 ID:3327 IpLen:20 DgmLen:42 DF
***AP*** Seq: 0x49CA0BA7 Ack: 0x5FD4DCE3 Win: 0x2238 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
[**] WEB-MISC whisker splice attack [**]
12/02-14:43:03.195006 client.yiming.com:51767 -> server.yiming.com:80
TCP TTL:251 TOS:0x0 ID:3439 IpLen:20 DgmLen:41 DF
***AP*** Seq: 0x49CA0C20 Ack: 0x5FD4DCE3 Win: 0x2238 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
[**] WEB-MISC whisker splice attack [**]
12/02-14:43:04.630268 client.yiming.com:51768-> server.yiming.com:80
TCP TTL:251 TOS:0x0 ID:3496 IpLen:20 DgmLen:41 DF
***AP*** Seq: 0x49CA0C4E Ack: 0x5FD4DCE3 Win: 0x2238 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
我們看到snort對抓獲的資料包產生了WEB-MISC whisker splice attack的告警,然而這種攻擊並沒有發生,同時snort對tunnel資料包沒有察覺。這樣snort就同時出現了IDS系統的兩個問題, false positive,false negative。
這也很正常,因為這也是關於簽名的IDS系統的通病,目前決大數 IDS系統包括著名的商用軟體ISS,NFR等都是關於簽名的,也就是說系統維護著一套特定攻擊資料包的資料模式簽名。系統工作時,檢查經過的資料包的內容,和自己資料庫內資料模式簽名對比,如果和某種攻擊模式簽名相同,那麼就判斷髮生了某種攻擊。
由此我們可以看出很明顯的存在若干問題:如對簽名的依賴不可避免的導致兩個結果,false negative ,false positive。也就是說會產生漏報和誤報,這一點很容易理解,當新出現一種攻擊模式時,由於IDS系統內沒有相應的資料簽名,那麼就不可能捕獲相應的攻擊資料包,false negative由此發生。同時,過於依賴簽名模式也很容易誤報,就像我們上面的例子。同時,對資料簽名的依賴會在一定程度上降低系統效能-經過的資料包都需要和IDS系統的簽名對照。
此外,關於簽名的IDS系統本身有可能由於依據簽名這一特性而被攻擊,一個例子是stick ,這個程序的作者利用IDS系統進行簽名匹配工作原理,傳送大量帶有攻擊特徵的資料包給IDS系統,使IDS系統本身處理能力超過極限,從而導致IDS系統無法回應。按照作者Coretez Giovanni的說法,執行2秒鍾stick就能使著名的商用IDS系統ISS real secure崩潰。由上我們看到,對IDS系統的完全依賴同樣是有風險的。
一些解決思法
看來依靠手頭的IDS是無法察覺這種行為了,那麼有其它辦法嗎?我們仔細分析一下事件程序中截獲的httptunnel資料包再說吧。
仔細觀察截獲的httptunnel資料包,可以發現緊跟著三次握手完成後的第一個資料包包含著一個POST動作,是由htc(client端)傳送到hts(server端)的。如下:
14:55:39.128908 client.yiming.com.51767 > server.yiming.com.80: S 3521931836:3521931836(0) win 8760 (DF)
0x0000 4500 002c d3cc 4000 fb06 53c9 xxxx xxxx E..,..@...S..f.#
0x0010 yyyy yyyy ca37 0050 d1ec 6a3c 0000 0000 .f.D.7.P..j<....
0x0020 6002 2238 1708 0000 0204 05b4 0000 `."8..........
14:55:39.128945 server.yiming.com.80 > client.yiming.com.51767: S 2946004964:2946004964(0) ack 3521931837 win 8760 (DF)
0x0000 4500 002c cb85 4000 ff06 5810 yyyy yyyy E..,..@...X..f.D
0x0010 xxxx xxxx 0050 ca37 af98 77e4 d1ec 6a3d .f.#.P.7..w...j=
0x0020 6012 2238 ef79 0000 0204 05b4 `."8.y......
14:55:39.131002 client.yiming.com.51767 > server.yiming.com.80: . ack 1 win 8760 (DF)
0x0000 4500 0028 d3cd 4000 fb06 53cc xxxx xxxx E..(.#
0x0010 yyyy yyyy ca37 0050 d1ec 6a3d af98 77e5 .f.D.7.P..j=..w.
0x0020 5010 2238 0737 0000 0000 0000 0000 P."8.7........
14:55:39.132841 server.yiming.com.80 > client.yiming.com.51767: . ack 44 win 8760 (DF)
0x0000 4500 0028 cb86 4000 ff06 5813 yyyy yyyy E..( 0x0010 xxxx xxxx 0050 ca37 af98 77e5 d1ec 6a68 .f.#.P.7..w...jh
0x0020 5010 2238 070c 0000 P."8....
14:55:39.132860 client.yiming.com.51767 > server.yiming.com.80: P 1:44(43) ack 1 win 8760 (DF)
0x0000 4500 0053 d3ce 4000 fb06 53a0 xxxx xxxx
0x0010 yyyy yyyy ca37 0050 d1ec 6a3d af98 77e5 .f.D.7.P..j=..w.
0x0020 5018 2238 d23a 0000 504f 5354 202f 696e P."8.:..POST/in
0x0030 6465 782e 6874 6d6c 3f63 7261 703d 3130 dex.html?crap=10
0x0040 3037 3838 3034 3836 2048 5454 502f 312e 07880486.HTTP/1.
0x0050 310d 0a 1..
|