IP fragment是什麼意思?如何防禦IP fragment攻擊?ICMP分片報文攻擊的四大問題

IP報文中,與報文分片有關的幾個欄位是:DF(Don’t Fragmentate)位、MF 位,Fragment Offset、Length。DF和MF就是前面提到3位標識位中的第二和第三位,Fragment Offset就是“13位分片偏移”欄位,Length就是“16位報文總長度”欄位。如果上述欄位的值出現矛盾,而裝置處理不當,會對裝置造成一定的影響,甚至癱瘓。Ip-fragment就是故意製造這種存在欄位上相互矛盾的報文進行攻擊的。

例如:

a)。 DF位被置位(標明報文未分片),而MF位同時被置位或 Fragment Offset 不為0(表示是分片報文);

b)。 DF 位為0(標明是分片報文),而Fragment Offset + Length > 65535(未分片) ;

這些都有可能引起系統的崩潰,防禦方法同Teardrop一樣,都是對報文進行檢查,丟棄非法報文。

分片帶來的問題

1

分片帶來的效能消耗

分片和重組會消耗傳送方、接收方一定的CPU等資源,如果存在大量的分片報文的話,可能會造成較為嚴重的資源消耗;

分片對接收方記憶體資源的消耗較多,因為接收方要為接收到的每個分片報文分配記憶體空間,以便於最後一個分片報文到達後完成重組。

2

分片丟包導致的重傳問題

如果某個分片報文在網路傳輸過程中丟失,那麼接收方將無法完成重組,如果應用程序要求重傳的話,傳送方必須重傳所有分片報文而不是僅重傳被丟棄的那個分片報文,這種效率低下的重傳行為會給端系統和網路資源帶來額外的消耗。

3

分片攻擊

駭客構造的分片報文,但是不向接收方傳送最後一個分片報文,導致接收方要為所有的分片報文分配記憶體空間,可由於最後一個分片報文永遠不會達到,接收方的記憶體得不到及時的釋放(接收方會啟動一個分片重組的定時器,在一定時間內如果無法完成重組,將向傳送方傳送ICMP重組超時差錯報文),只要這種攻擊的分片報文傳送的足夠多、足夠快,很容易佔滿接收方記憶體,讓接收方無記憶體資源處理正常的業務,從而達到DOS的攻擊效果。

4

安全隱患

由於分片只有第一個分片報文具有四層資訊而其他分片沒有,這給路由器、防火牆等中間裝置在做訪問控制策略匹配的時候帶來了麻煩。

如果路由器、防火牆等中間裝置不對分片報文進行安全策略的匹配檢測而直接放行IP分片報文,則有可能給接收方帶來安全隱患和威脅,因為駭客可以利用這個特性,繞過路由器、防火牆的安全策略檢查對接收方實施攻擊;

如果路由器、防火牆等中間裝置對這些分片報文進行重組後在匹配其安全策略,那麼又會對這些中間裝置的資源帶來極大的消耗,特別是在遇到分片攻擊的時候,這些中間裝置會在第一時間內消耗完其所有記憶體資源,從而導致全網中斷的嚴重後果。

IP fragment是什麼意思?如何防禦IP fragment攻擊?ICMP分片報文攻擊的四大問題

ICMP分片報文攻擊的四大問題

那我們要怎麼做才能預防Ip-fragment攻擊呢?

1、對於包過濾裝置或者入侵檢測系統來說,首先透過判斷目的埠號來採取允許/禁止措施。但是由於透過惡意分片使目的埠號位於第二個分片中,因此包過濾裝置透過判斷第一個分片,決定後續的分片是否允許透過。但是這些分片在目標主機上進行重組之後將形成各種攻擊。透過這種方法可以迂迴一些入侵檢測系統及一些安全過濾系統。

2、利用擴充套件ACL防止IP Fragment攻擊,命令如下:

access-list 101 permit/deny fragment ‘在命令後加個fragment就行了。特別注意的是,帶有四層資訊的ACL和帶Fragment的ACL結合在一起用效果會更好的

3、提高企業安全管理員的技術程度,有效保證及時發現IP Fragment攻擊,及時制止