觀點

試玉要燒三日滿辨材須待七年期(下)

2006 / 11 / 08
劉榮太
試玉要燒三日滿辨材須待七年期(下)

1998年春天,Thomas H. Ptacek 和 Timothy N.Newsham發表了Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection」這篇文章,裡頭詳述了怎麼利用不同作業系統間TCP/IP堆疊的實作差異,達到愚弄IDS的目的。作者實測當時火紅的四款IDS,結果沒有一家IDS能夠成功的通過測試。因為當時的IDS主要還是對每個封包單純的作字串比對,就算有IP Fragment重組的機制,但也不會考慮到當Fragment重疊的時候,不同的作業系統對新舊Fragment的取捨。以Snort來說,第四層TCP Segment的重組(Reassembly)也是直到2001年才有的功能。
而且就算能處理TCP Segment Reassembly,對於不同系統之間對新舊Segment的取捨(Favour-Old, Favour-New, 如圖1)也要處理得好,在當時來說還算是高超的技巧。所以在NSS 2001年的IDS Group Test中,仍然有IDS沒有辦法應付經由Fragroute這支程式所精心切割的封包。.....