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@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