fragmentation considered
play

Fragmentation Considered Vulnerable Yossi Gilad & Amir Herzberg - PowerPoint PPT Presentation

Fragmentation Considered Vulnerable Yossi Gilad & Amir Herzberg Computer Science Department, Bar Ilan University Overview IP fragmentation recap `Easy case fragment miss -association attacks Fragmentation attacks in tunnels


  1. Fragmentation Considered Vulnerable Yossi Gilad & Amir Herzberg Computer Science Department, Bar Ilan University

  2. Overview  IP fragmentation recap  `Easy case’ fragment miss -association attacks  Fragmentation attacks in tunnels  Conclusions

  3. IP Fragmentation - Recap  Today: attacks on IP fragmentation  Blind (spoofing only) attacker  Interception and DoS attacks.  The Internet is a diverse network  Different Maximal Transmission Units (MTUs) on different links/nets  What if |long-pkt|>MTU? LongPkt LongPkt MTU Alice Router Router Router Defragment (fragment)

  4. IP Fragmentation - Recap  Solution 1: Path MTU discovery (PMTUd)  Discard oversized pkt, inform sender (via ICMP)  Requires connection  Solution 2: IP fragmentation  ‘Break’ long pkt into fragments (|frag|<MTU)  Fragment at: any node (IPv4) / only src (IPv6)  Defragment: only at destination  According to: source, destination, protocol & frag ID Long Pkt Long Pkt Long Pkt LongPkt LongPkt MTU Alice Router Router Router Bob (fragment) (Defragment)

  5. ‘Fragmentation considered Harmful’  IP fragmentation is conceptually easy, but…  Wasteful/harmful [KentMogul87]  Complexities: may arrive late or out of order, overlap  How much storage? How long keep fragments in cache?  But: still often used  PMTUd often fails (for UDP, no ICMP feedback,…)  Fragmentation is common in UDP and tunneled traffic [Shannon02]

  6. ‘Fragmentation considered Harmful’  Implementation vulnerabilities:  Memory allocation DoS attacks: TearDrop, Rose…  Tiny fragment evasion of firewalls  Specification vulnerabilities:  Fragment cache overflow attack [KPS03]  Zalewski (2003) notes that fragmented TCP traffic can be vulnerable to (blind) TCP injections  Fragment mis-association attack [M04,rfc4963]

  7. Fragment Misassociation Attack MTU= MTU= 1500B 1000B SrcIP=Alice, Dst=Bob, ID=1, Offset=980, MF=0 SrcIP=Alice, Dst=Bob, ID=2, Offset=980, MF=0 …. SrcIP=Alice, Dst=Bob, HDR+1480B ID=b, Offset=980, MF=0 (ID=x) HDR+980B, ID=x, offset=0 (if x≤b) HDR+500B, ID=x, offset=980 (stays in cache till timeout or kills next ID=x frg) Fragment mis-association attack: But, Send fake 2 nd frag with same ID… |cache|<<#frags (drop%<<1%)

  8. What if…  Frag mis-association has low drop rate  What if attacker can find the `next’ ID?  Trivial to `kill’ packet (DoS)  Can also `inject’ a fragment  Need to fix checksum  Checksum can be disabled for UDP  How is the IP ID chosen (by the sender)?  Usually a counter – this is specifically recommended by IPv6 specification  Two main approaches:  Global counter (Windows)  Per-destination counter (Linux)

  9. Sometimes, ID Exposing Is Easy  When the sender uses a global identifier  Just by observing any packet from the sender  When the attacker has a zombie behind the NAT with the destination  Can also intercept fragments! Rewrite transport layer header 

  10. Sometimes, ID Exposing Is Easy Intercepting fragments SrcIP=Alice, DstIP=NAT, ID=i+1, Offset=1480, MF=0 A. Src-IP=Alice, Dst-IP=NAT, ID=i+1, Offset=0, MF=1, Dst- port: Bob’s discarded B. SrcIP=Alice, DstIP=NAT, ID=i+1, Offset=1480, MF=0 cached SrcIP=Alice, DstIP=NAT, ID=i+1, Offset=0, MF=1, Dst- port: Zombie’s, No chksum mis-associated with Alice frag. B Defrag & forward to Zombie

  11. Fragment Interception: Results  Results for IP tables based NAT 92.00% Fragment interception ratio 90.00% 1024 fragments are in 88.00% the cache 64 fragments are in the 86.00% cache 84.00% 82.00% 80.00% 0 20 40 60 80 100 Attacker's bandwidth mbit/sec

  12. Other Cases?  Can similar attacks apply when sender uses per-destination IP-IDs?  Easy: if there is NAT (shown before)  What if there is no NAT?  Yes!  For a tunnel scenario

  13. ID Exposing Attack  Alice and Bob are connected via a tunnel  Main difference from NAT scenario:  Packets `on the Internet’ have a different IP header Adversarial agent, PuZo, can not `see’ the `Internet’ ID   Improved motivation: fragmentation is common in tunnels  In talk: Zombie (to receive raw IP packet)  In paper: Puppet (running in sandbox)

  14. ID Exposing Attack  Use packet loss as a side channel to identify the current ID within the tunnel  We assume no benign traffic or packet loss  Full version shows how to deal with those

  15. ID Exposing Attack – Basic Version S GW B PuZo GW A Begin Get File Mis- associated

  16. ID Exposing Attack – Basic Version S GW B PuZo GW A . . . . . . . . . . . .

  17. ID Exposing Attack - Meet in the Middle  But… if n is the number of possible identifiers, this attack requires to send O(n) packets.  2 16 for IPv4, for 2 32 IPv6  Revise with meet in the middle technique

  18. ID Exposing Attack - Meet in the Middle  Send fragments  lay traps n n  Narrow the search space to n  Detect loss  assume `ID hit’ (frag. mis -association)  Exhaustive search over all remaining IDs  Reduced number of packets to O( ) n  Also feasible for IPv6 (n = 2 32 )

  19. Continual Deny & Expose  Mal has the current ID  Goal: deny fragmented traffic  Main Difficulty: maintain synchronization with current IP ID  Incremented for every packet (regardless of arrival/loss)

  20. Continual Deny & Expose  Basic idea: use PuZo to `monitor’ IP ID progress  Send two sequences of spoofed fragments with consecutive IDs  Small `gap’ of unset IDs between them  PuZo makes a periodic request for data  Response arrives  ID within the gap  Send the next sequence

  21. Continual Deny & Expose - Results  Success depends on the number of forged fragment attacker can `cache in’  Usually 64 or no limitation (except cache size, 6500+) 100.00% 99.00% 98.00% 97.00% Loss Rate 96.00% 95.00% 94.00% Open source, 256 93.00% Open source, 64 92.00% Commercial, 256 Commercial, 64 91.00% 90.00% 0 20 40 60 80 100 Attacker's bandwidth Mbit/sec

  22. Conclusions  Fix IP ID  Add appropriate defenses to network firewalls, IDS/IPS  Need to improve specification of networking protocols  Need to develop validation techniques  Further motivation for [Gont11]

  23. Questions?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend