We present a stateless defense against the neighbor discovery denial-of-service (ND-DoS) attack in IPv6. The ND-DoS attack consists of remotely flooding a target subnet with bogus packets destined for random interface identifiers; a different one for each malicious packet. The 128-bit IPv6 address reserves its 64 low-order bits for the interface ID. Consequently, the malicious packets are very likely to fall on previously unresolved addresses and the target access router (or leaf router) is obligated to resolve these addresses by sending neighbor solicitation packets. Neighbor solicitation packets are link layer multicast (or broadcast), and hence also forwarded by bridges. As a consequence, the attack may consume important bandwidth in subnets with wireless bridges, or access points. This problem is particularly important in the presence of mobile IPv6 devices that expect incoming sessions from the Internet. In this case, address resolution is crucial for the access router to reliably deliver incoming sessions to idle mobile devices with unknown MAC addresses. We propose a novel neighbor solicitation technique using Bloom filters. Multiple IPv6 addresses (bogus or real) that are waiting in the access router's address resolution queue are compactly represented using a Bloom filter. By broadcasting a single neighbor solicitation message that carries the Bloom filter, multiple IPv6 addresses are concurrently solicited. Legitimate neighbor solicitation triggering packets are not denied service. An on-link host can detect its address in the received Bloom filter and return its MAC address to the access router. A bandwidth gain around 40 can be achieved in all cells of the target subnet. This approach that we call compact neighbor discovery (CND) is the first bandwidth DoS defense that we are aware of to employ a bandwidth optimization.
[1]
Steven M. Bellovin,et al.
ICMP Traceback Messages
,
2003
.
[2]
Anna R. Karlin,et al.
Practical network support for IP traceback
,
2000,
SIGCOMM.
[3]
Anna R. Karlin,et al.
Practical network support for IP traceback
,
2000,
SIGCOMM.
[4]
Pekka Nikander,et al.
IPv6 Neighbor Discovery (ND) Trust Models and Threats
,
2004,
RFC.
[5]
Paul Ferguson,et al.
Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing
,
1998,
RFC.
[6]
Santosh K. Shrivastava,et al.
Using Bloom Filters to Speed-up Name Lookup in Distributed Systems
,
2002,
Comput. J..
[7]
Tuomas Aura,et al.
Cryptographically Generated Addresses (CGA)
,
2005,
ISC.
[8]
Burton H. Bloom,et al.
Space/time trade-offs in hash coding with allowable errors
,
1970,
CACM.
[9]
Stephen E. Deering,et al.
Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6)
,
1995,
RFC.
[10]
Charles E. Perkins,et al.
Mobility support in IPv6
,
1996,
MobiCom '96.
[11]
WetherallDavid,et al.
Practical network support for IP traceback
,
2000
.
[12]
Pekka Nikander,et al.
SEcure Neighbor Discovery (SEND)
,
2005,
RFC.
[13]
David E. Taylor,et al.
Longest prefix matching using bloom filters
,
2006,
TNET.
[14]
Thomas Narten,et al.
Neighbor Discovery for IP Version 6 (IPv6)
,
1996,
RFC.
[15]
Ronald L. Rivest,et al.
The MD5 Message-Digest Algorithm
,
1992,
RFC.
[16]
Li Fan,et al.
Summary cache: a scalable wide-area web cache sharing protocol
,
2000,
TNET.