Fwd: [IPv4 fragmentation --> The Rose Attack]

Andre Oppermann andre at freebsd.org
Wed Mar 31 13:48:50 PST 2004


We have the following sysctl's to withstand such an attack:

 net.inet.ip.maxfragpackets [800]
 net.inet.ip.maxfragsperpacket [16]

Which limits such an attack to 800 packets overall and 16 fragments
per packet.

Of course, when the maxfragpackets limit is reached by malicous
packets we are unable to process legitimate fragmented IP packets
until the malicous ones start to time out.  There is nothing else
one can do to fight off such an attack.

-- 
Andre


"Jacques A. Vidrine" wrote:
> 
> ----- Forwarded message from gandalf at digital.net -----
> 
> Date: Tue, 30 Mar 2004 22:18:05 -0600
> From: gandalf at digital.net
> To: bugtraq at securityfocus.com
> Subject: IPv4 fragmentation  --> The Rose Attack
> Message-ID: <BC8FA29D.118DB%gandalf at digital.net>
> 
> Greetings and Salutations:
> 
> While this discussion pertains to IPv4, IPv6 also allows fragmentation and I
> suspect IPv6 will also be affected by this attack.
> 
> I have created what I believe is a unique fragmented attack ("Rose Attack")
> that I would like to inform the community about.  It seems to affect most IP
> devices.  Since cell phones, IPSec & satellite use fragmented packets this
> attack is pertinent to the Internet of today.
> 
> The attack is simple.  Two parts of a fragmented packet are sent to the
> machine being attacked.  The first fragment (payload 32 bytes long) is the
> initial offset zero fragment of a SYN packet.  The final (second) fragment
> of the SYN packet is also 32 bytes in size, but is set to an offset of 64800
> bytes into the datagram.
> 
> During my testing, I alternated this two fragment pattern rotating between
> ICMP, TCP, UDP, ICMP, etc. All test fragments used the same source IP
> address and fragment ID.
> 
> Since this attack does not require a response from the target system,
> the source IP address can be spoofed, thus hiding the attacker's true
> location.  Also note the source and destination ports do not matter as the
> packet is never validated at the layer four level, it never gets past layer
> three.  The devices accept the packets no matter what port is used.
> 
> Of the machines I have had access to, this attack has caused any number of
> the following problems:
> 1) Causes the CPU to spike, thus exhausting processor resources.
> 2) Legitimate fragmented packets are dropped intermittently (unfragmented
> packets get through fine)
> 3) Legitimate fragmented packets are no longer accepted by the machine under
> attack (unfragmented packets get through fine) until the fragmentation time
> exceeded timers expire.
> 4) Devices like Cisco routers can have Buffer overflow, i.e. packets are
> dropped at high packet rates if there aren't enough buffers allocated.
> 
> The following devices were tested and showed some or all of the above
> symptoms:
> 1) Microsoft Windows 2000
> 2) Mandrake Linux 9.2
> 2) Cisco 2621XM
> 3) PIX Firewall
> 4) Mac OS/X V10.2.8 (FreeBSD 5?)
> 
> The following vendors have been notified of this condition prior to the
> release of this announcement:
> 1) Microsoft
> 2) Cisco (2621XM only)
> 3) Linux
> 
> This can also be used in active fingerprinting as some OS's return a
> "Fragmentation Reassembly Time exceeded", some do not, some return the first
> fragments as assembly time exceeded, some return later packets.
> 
> For the original discussion (excerpt from my larger SANS GCFW paper
> http://www.giac.org/practical/GCFW/William_Hollis_GCFW.pdf ) please see:
> http://gandalf.home.digital.net/Rose.rtf
> 
> I have "cleaned up" the procedure since the original discussion.  For the
> test procedure to test this attack using Windows computers and suggestions
> on how to mitigate this attack please see:
> http://gandalf.home.digital.net/TestProc.txt
> 
> For the support files please see:
> http://gandalf.home.digital.net/nemITUrnd.xls
> http://gandalf.home.digital.net/Picmpdata.txt
> http://gandalf.home.digital.net/Ptcpdata.txt
> http://gandalf.home.digital.net/Pudpdata.txt
> 
> You will need WinPCap (of course)
> WinPcap_3_0.exe
> 
> http://www.packetfactory.net/projects/nemesis/
> nemesis-1.4beta3.zip on website
> 
> NetWox
> http://www.laurentconstantin.com/en/netw/netwox/
> I used:
> netwox-5.11.0-bin_windows.tgz
> 
> The suggested software solution to this attack is to:
> 1) Allocate X*64k buffers upon NIC card initialization.  Assuming X=200
> buffers this would equate to approximately 12 Mb
> 2) Flush fragmented buffers in a FIFO fashion.
> 3) Do not reassemble buffers until all have been received, then use the CPU
> to reassemble the buffers.
> 
> I would like to thank Chris Brenton for his help / input on this attack.
> 
> Your comments on this attack are appreciated.
> 
> Ken
> 
> ---------------------------------------------------------------
> Do not meddle in the affairs of wizards for they are subtle and
> quick to anger.
> Ken Hollis - Gandalf The White - gandalf at digital.net - O- TINLC
> WWW Page - http://digital.net/~gandalf/
> Trace E-Mail forgery - http://digital.net/~gandalf/spamfaq.html
> Trolls crossposts - http://digital.net/~gandalf/trollfaq.html
> 
> ----- End forwarded message -----
> 
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"


More information about the freebsd-net mailing list