draft-ietf-savi-threat-scope-03.txt   draft-ietf-savi-threat-scope-04.txt 
SAVI D. McPherson SAVI D. McPherson
Internet-Draft VeriSign, Inc. Internet-Draft VeriSign, Inc.
Intended status: Informational F. Baker Intended status: Informational F. Baker
Expires: March 12, 2011 Cisco Systems Expires: September 3, 2011 Cisco Systems
J. Halpern J. Halpern
Ericsson Ericsson
September 8, 2010 March 2, 2011
SAVI Threat Scope SAVI Threat Scope
draft-ietf-savi-threat-scope-03 draft-ietf-savi-threat-scope-04
Abstract Abstract
This memo discusses threats enabled by IP source address spoofing and Source Address Validation Improvement (SAVI) effort aims to
discusses a number of techniques aimed at mitigating those threats. complement ingress filtering with finer-grained, standardized IP
source address validation. This document describes threats enabled
by IP source address spoofing both in the global and finer-grained
context, describes currently available solutions and challenges, and
provides a starting point analysis for finer-grained (host
granularity) anti-spoofing work.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 12, 2011. This Internet-Draft will expire on September 3, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Glossary of Terms . . . . . . . . . . . . . . . . . . . . . . 5 2. Glossary of Terms . . . . . . . . . . . . . . . . . . . . . . 5
3. Spoofed-based Attack Vectors . . . . . . . . . . . . . . . . . 6 3. Spoofed-based Attack Vectors . . . . . . . . . . . . . . . . . 6
3.1. Blind Attacks . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Blind Attacks . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1. Single Packet Attacks . . . . . . . . . . . . . . . . 6 3.1.1. Single Packet Attacks . . . . . . . . . . . . . . . . 6
3.1.2. Flood-Based DoS . . . . . . . . . . . . . . . . . . . 6 3.1.2. Flood-Based DoS . . . . . . . . . . . . . . . . . . . 7
3.1.3. Poisoning Attacks . . . . . . . . . . . . . . . . . . 7 3.1.3. Poisoning Attacks . . . . . . . . . . . . . . . . . . 8
3.1.4. Spoof-based Worm/Malware Propagation . . . . . . . . . 7 3.1.4. Spoof-based Worm/Malware Propagation . . . . . . . . . 8
3.1.5. Reflective Attacks . . . . . . . . . . . . . . . . . . 8 3.1.5. Reflective Attacks . . . . . . . . . . . . . . . . . . 8
3.1.6. Accounting Subversion . . . . . . . . . . . . . . . . 8 3.1.6. Accounting Subversion . . . . . . . . . . . . . . . . 9
3.1.7. Other Blind Spoofing Attacks . . . . . . . . . . . . . 8 3.1.7. Other Blind Spoofing Attacks . . . . . . . . . . . . . 9
3.2. Non-Blind Attacks . . . . . . . . . . . . . . . . . . . . 9 3.2. Non-Blind Attacks . . . . . . . . . . . . . . . . . . . . 9
3.2.1. Man in the Middle (MITM) . . . . . . . . . . . . . . . 9 3.2.1. Man in the Middle (MITM) . . . . . . . . . . . . . . . 10
3.2.2. Third Party Recon . . . . . . . . . . . . . . . . . . 9 3.2.2. Third Party Recon . . . . . . . . . . . . . . . . . . 10
4. Current Anti-Spoofing Solutions . . . . . . . . . . . . . . . 9 4. Current Anti-Spoofing Solutions . . . . . . . . . . . . . . . 10
4.1. Host to link layer neighbor via switch . . . . . . . . . . 11 4.1. Topological Locations for Enforcement . . . . . . . . . . 12
4.2. Upstream routers . . . . . . . . . . . . . . . . . . . . . 11 4.1.1. Host to link layer neighbor via switch . . . . . . . . 12
4.3. ISP Edge PE Router . . . . . . . . . . . . . . . . . . . . 12 4.1.2. Upstream routers . . . . . . . . . . . . . . . . . . . 12
4.4. ISP NNI Router to ISP NNI Router . . . . . . . . . . . . . 12 4.1.3. ISP Edge PE Router . . . . . . . . . . . . . . . . . . 13
4.5. Spoofing In Local Area Network Segments . . . . . . . . . 12 4.1.4. ISP NNI Router to ISP NNI Router . . . . . . . . . . . 13
4.6. Cable Modem Subscriber Access . . . . . . . . . . . . . . 13 4.1.5. Cable Modem Subscriber Access . . . . . . . . . . . . 14
4.7. DSL Subscriber Access . . . . . . . . . . . . . . . . . . 13 4.1.6. DSL Subscriber Access . . . . . . . . . . . . . . . . 14
4.8. BCP 38 . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2. Currently Available Tools . . . . . . . . . . . . . . . . 14
4.9. Unicast RPF . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.1. BCP 38 . . . . . . . . . . . . . . . . . . . . . . . . 14
4.10. Port-based Address Binding . . . . . . . . . . . . . . . . 13 4.2.2. Unicast RPF . . . . . . . . . . . . . . . . . . . . . 14
4.10.1. Manual Binding . . . . . . . . . . . . . . . . . . . . 14 4.2.3. Port-based Address Binding . . . . . . . . . . . . . . 15
4.10.2. Automated Binding . . . . . . . . . . . . . . . . . . 14 4.2.4. Cryptographic Techniques . . . . . . . . . . . . . . . 16
4.10.3. IEEE 802.1X . . . . . . . . . . . . . . . . . . . . . 14 4.2.5. Residual Attacks . . . . . . . . . . . . . . . . . . . 16
4.11. Cryptographic Techniques . . . . . . . . . . . . . . . . . 14 5. Topological Challenges Facing SAVI . . . . . . . . . . . . . . 16
4.12. Residual Attacks . . . . . . . . . . . . . . . . . . . . . 15 5.1. Address Provisioning Mechanisms . . . . . . . . . . . . . 16
5. Topological Considerations . . . . . . . . . . . . . . . . . . 15 5.2. LAN devices with Multiple Addresses . . . . . . . . . . . 17
5.1. Address Provisioning Mechanisms . . . . . . . . . . . . . 15 5.2.1. Routers . . . . . . . . . . . . . . . . . . . . . . . 17
5.2. LAN devices with Multiple Addresses . . . . . . . . . . . 15 5.2.2. NATs . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2.1. Routers . . . . . . . . . . . . . . . . . . . . . . . 15 5.2.3. Multi-Instance Hosts . . . . . . . . . . . . . . . . . 17
5.2.2. NATs . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.2.4. Multi-LAN Hosts . . . . . . . . . . . . . . . . . . . 18
5.2.3. Multi-Instance Hosts . . . . . . . . . . . . . . . . . 16 5.2.5. Firewalls . . . . . . . . . . . . . . . . . . . . . . 18
5.2.4. Multi-LAN Hosts . . . . . . . . . . . . . . . . . . . 16 5.2.6. Mobile IP . . . . . . . . . . . . . . . . . . . . . . 18
5.2.5. Firewalls . . . . . . . . . . . . . . . . . . . . . . 16 5.2.7. Other Topologies . . . . . . . . . . . . . . . . . . . 18
5.2.6. Mobile IP . . . . . . . . . . . . . . . . . . . . . . 17 5.3. IPv6 Considerations . . . . . . . . . . . . . . . . . . . 19
5.2.7. Other Topologies . . . . . . . . . . . . . . . . . . . 17
5.3. IPv6 Considerations . . . . . . . . . . . . . . . . . . . 17 6. Analysis of Host Granularity Anti-Spoofing . . . . . . . . . . 19
6. Applicability of Anti-Spoofing Solutions . . . . . . . . . . . 18 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
6.1. Analysis of Host Granularity Anti-Spoofing . . . . . . . . 18 8. Security Considerations . . . . . . . . . . . . . . . . . . . 20
7. Existing Techniques for IP Source Address Validation . . . . . 19 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21
8. Deployment Considerations . . . . . . . . . . . . . . . . . . 20 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 10.1. Normative References . . . . . . . . . . . . . . . . . . . 21
10. Security Considerations . . . . . . . . . . . . . . . . . . . 21 10.2. Informative References . . . . . . . . . . . . . . . . . . 21
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22
12.1. Normative References . . . . . . . . . . . . . . . . . . . 22
12.2. Informative References . . . . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22
1. Overview 1. Overview
The Internet Protocol, specifically IPv4 [RFC0791] and IPv6 The Internet Protocol, specifically IPv4 [RFC0791] and IPv6
[RFC2460], employ a connectionless hop-by-hop packet forwarding [RFC2460], employ a connectionless hop-by-hop packet forwarding
paradigm. A host connected to an IP network that wishes to paradigm. A host connected to an IP network that wishes to
communicate with another host on the network generates an IP packet communicate with another host on the network generates an IP packet
with source and destination IP addressing information, among other with source and destination IP addressing information, among other
options. options.
skipping to change at page 4, line 37 skipping to change at page 4, line 37
Solutions such as BCP 38 [RFC2827] provide guidelines for one such Solutions such as BCP 38 [RFC2827] provide guidelines for one such
technique for network ingress filtering. However, if these technique for network ingress filtering. However, if these
techniques are not implemented at the ingress point of the IP techniques are not implemented at the ingress point of the IP
network, then the validity of the source address cannot be positively network, then the validity of the source address cannot be positively
ascertained. Furthermore, BCP 38 only implies source address ascertained. Furthermore, BCP 38 only implies source address
verification at the Internet Layer, and is most often implemented on verification at the Internet Layer, and is most often implemented on
IP subnetwork address boundaries. One of the difficulties in IP subnetwork address boundaries. One of the difficulties in
encouraging the deployment of BCP 38 is that there is relatively encouraging the deployment of BCP 38 is that there is relatively
little benefit until it is very widely deployed, which is not yet the little benefit until it is very widely deployed, which is not yet the
case. The local application of the principle of BCP 38 fortunately case.
has local benefit, even before BCP 38 is fully deployed. It also
helps get the Internet towards a state where BCP 38 is more widely Hence, in order to try to get better behavior, it is helpful to look
followed. for an application like BCP 38, but one which can be applied locally,
and give locally beneficial results. The local benefit would provide
a reason for the site to deploy, while moving the Internet as a whole
towards an environment where BCP 38 is widely effected. SAVI is
aimed at providing locally more specific protection, with the benefit
of better local behavior and local traceability, while also providing
better compliance with the cases dealt with by BCP 38.
It should be noted that while BCP 38 directs providers to provide It should be noted that while BCP 38 directs providers to provide
protection from spoofed prefixes, it is clearly desirable for protection from spoofed prefixes, it is clearly desirable for
enterprise operators to provide that protection more locally, and enterprise operators to provide that protection more locally, and
with better traceability. This allows the enterprise to be a better with better traceability. This allows the enterprise to be a better
Internet participant, and to quickly detect and remedy problems when Internet participant, and to quickly detect and remedy problems when
they occur. they occur. For example, when an enterprise receives a report of an
attack originating within that enterprise, the operational staff
needs to be able to track from the IP address sourcing the attack to
the particular machine within the enterprise that is the source.
This both that the information be useable (logging), and that the
information be accurate, i.e. that no other machine could have been
using that address.
Also, there is a possibility that in a LAN environment where multiple Also, there is a possibility that in a LAN environment where multiple
hosts share a single LAN or IP port on a switch or router, one of hosts share a single LAN or IP port on a switch or router, one of
those hosts may spoof the source addresses of other hosts within the those hosts may spoof the source addresses of other hosts within the
local subnet. Understanding these threats and the relevant local subnet. Understanding these threats and the relevant
topologies in which they're introduced is critical when assessing the topologies in which they're introduced is critical when assessing the
threats that exist with source address spoofing. threats that exist with source address spoofing.
The aim of this document is to provide some additional details The aim of this document is to provide some additional details
regarding spoofed-based threat vectors, and discuss implications of regarding spoofed-based threat vectors, and discuss implications of
skipping to change at page 6, line 33 skipping to change at page 6, line 46
One type of blind attacks, which we'll refer to here as "single One type of blind attacks, which we'll refer to here as "single
packet DoS attacks", involves an attacking system injecting spoofed packet DoS attacks", involves an attacking system injecting spoofed
information into the network which results in either a complete crash information into the network which results in either a complete crash
of the target system, or in some manner poisons some network of the target system, or in some manner poisons some network
configuration or other information on a target system so as to impact configuration or other information on a target system so as to impact
network or other services. network or other services.
An example of an attack that can cause a receiving system to crash is An example of an attack that can cause a receiving system to crash is
a LAND attack. A LAND attack packet would consist of an attacking a LAND attack. A LAND attack packet would consist of an attacking
system forwarding a packet (e.g., TCP SYN) to a target system that system sending a packet (e.g., TCP SYN) to a target system that
contains both a source and destination address of that target system. contains both a source and destination address of that target system.
The target system would "lock up" when creating connection state It would also contain a single value for port number, used as both
associated with the packet, or would get stuck in a state where it the source and destination port number. Certain target systems will
continuously replies to itself. then "lock up" when creating connection state associated with the
packet, or would get stuck in a state where it continuously replies
to itself. As this is an attack that relies on bugs in the target,
it is possible, but by no means certain, that this threat is no
longer viable.
Another class of a single packet attacks involves an attacker Another form of blind attack is a RST probe. The attacker sends a
poisoning network or DNS cache information, perhaps to simply break a series of packets to a destination which is engaged in a long-lived
given host's connection, enable MITM or other attacks. Network level TCP session. The packets are RST packets, and the attacker uses the
attacks that could involve single packet DoS include ARP cache known source and destination addresses and port numbers, along with
poisoning and ICMP redirects. The most obvious example which depends guesses at the sequence number. If he can send a packet close enough
upon falsifying an IP source address is an on-link attacker poisoning to the right value, in theory he can terminate the TCP connection.
a router's ARP or ND cache. The ability to forge a source address While there are various steps that have been developed to ameliorate
can also be helpful in causing a DNS cache to accept and use this attack, preventing the spoofing of source addresses completely
incorrect information. prevents the attack from occuring.
3.1.2. Flood-Based DoS 3.1.2. Flood-Based DoS
Flooding-based DoS attack vectors are particularly effective attacks Flooding-based DoS attack vectors are particularly effective attacks
on the Internet today. They usually entail flooding a large number on the Internet today. They usually entail flooding a large number
of packets towards a target system, with the hopes of either of packets towards a target system, with the hopes of either
exhausting connection state on the target system, consuming all exhausting connection state on the target system, consuming all
packet processing capabilities of the target or intermediate systems, packet processing capabilities of the target or intermediate systems,
or consuming a great deal of bandwidth available to the target system or consuming a great deal of bandwidth available to the target system
such that they are essentially inaccessible. such that they are essentially inaccessible.
Because these attacks require no reply from the target system and Because these attacks require no reply from the target system and
require no legitimate transaction state, attackers often attempt to require no legitimate transaction state, attackers often attempt to
obfuscate the identity of the systems that are generating the attack obfuscate the identity of the systems that are generating the attack
traffic by spoofing the source IP address of the attacking traffic traffic by spoofing the source IP address of the attacking traffic
flows. Because ingress filtering isn't applied ubiquitously on the flows. Because ingress filtering isn't applied ubiquitously on the
Internet today, spoof-based flooding attack vectors are typically Internet today, spoof-based flooding attack vectors are typically
very difficult to traceback. In particular, there may be one or more very difficult to traceback. In particular, there may be one or more
attacking sources beyond your network border, and the attacking attacking sources beyond your network border, and the attacking
sources may or may not be legitimate sources, it's difficult to sources may or may not be legitimate sources, it's difficult to
discriminate if the sources are not directly connected to the local determine if the sources are not directly connected to the local
routing system. routing system. These attacks might be seen as primarily to be
addressed by BCP 38 deployment, which would not be in scope for this
document. However, as noted earlier, deployment of SAVI can help
remediate lack of BCP 38, and even when BCP 38 is deployed can help
provide useful information for responding to such attacks.
Common flood-based DoS attack vectors today include SYN floods, ICMP Common flood-based DoS attack vectors today include SYN floods, ICMP
floods, and IP fragmentation attacks. Attackers may use a single floods, and IP fragmentation attacks. Attackers may use a single
legitimate or spoofed fixed attacking source address, although legitimate or spoofed fixed attacking source address, although
frequently they cycle through large swaths of address space. As a frequently they cycle through large swaths of address space. As a
result, mitigating these attacks on the receiving end with source- result, mitigating these attacks on the receiving end with source-
based policies is extremely difficult. based policies is extremely difficult.
If an attacker can inject messages for a protocol which requires
control plane activity, it may be possible to deny network control
services at a much lower attack level. While there are various forms
of protection deployed against this, they are by no means complete.
Attacks which are harder to trace (such as with spoofed addresses)
are of course of more concern.
Furthermore, the motivator for spoof-based DoS attacks may actually Furthermore, the motivator for spoof-based DoS attacks may actually
be to encourage the target to filter explicitly on a given set of be to encourage the target to filter explicitly on a given set of
source addresses, or order to disrupt the legitimate owner(s) access source addresses, or order to disrupt the legitimate owner(s) access
to the target system. to the target system.
3.1.3. Poisoning Attacks 3.1.3. Poisoning Attacks
While poison attacks can often be done with single packets, it is While poison attacks can often be done with single packets, it is
also true that a stream of packets can be used to find a window where also true that a stream of packets can be used to find a window where
the target will accept the incorrect information. In general, this the target will accept the incorrect information. In general, this
can be used to perform broadly the same kinds of poinsonings as can be used to perform broadly the same kinds of poisonings as above,
above, with more versatility. with more versatility.
One important class of poisoning attacks are attacks aimed at
poisoning network or DNS cache information, perhaps to simply break a
given host's connection, enable MITM or other attacks. Network level
attacks that could involve single packet DoS include ARP cache
poisoning and ICMP redirects. The most obvious example which depends
upon falsifying an IP source address is an on-link attacker poisoning
a router's ARP or ND cache. The ability to forge a source address
can also be helpful in causing a DNS cache to accept and use
incorrect information.
3.1.4. Spoof-based Worm/Malware Propagation 3.1.4. Spoof-based Worm/Malware Propagation
Self-propagating malware has been observed that spoofs its source Self-propagating malware has been observed that spoofs its source
address when attempting to propagate to other systems. Presumably, address when attempting to propagate to other systems. Presumably,
this was done to obfuscate the actual source address of the infected this was done to obfuscate the actual source address of the infected
system. system. This attack is important both in terms of an attack vector
that SAVI may help prevent, and also as a problem which SAVI can help
track back to find infected systems.
3.1.5. Reflective Attacks 3.1.5. Reflective Attacks
DNS reflective amplification attacks are a particularly potent DoS Reflective amplifications attacks, wherein a sender sends a single
attack vector on the Internet today. Like other amplification packet to an intermediary, resulting in the intermediary sending a
attacks, an attack source generates a packet with a source-spoofed large number of packets, or much larger packets, to the target, are a
address mapping to that of the target system. The packet, upon particularly potent DoS attack vector on the Internet today. Many of
receipt by the victim or some intermediate node, typically elicits a these attacks rely on using a false source address, so that the
large reply message, which is directed to the target of the attack. amplifier attacks the target by responding to the messages.
The amplification factor observed for attacks targeting DNS root and
other top level domain name infrastructure in early 2006 was on the DNS is one of the common targets of such attacks. The amplification
order of 76:1. The result is that just 15 attacking sources with factor observed for attacks targeting DNS root and other top level
512Kbps of upstream attack bandwidth could generate one Gbps of domain name infrastructure in early 2006 was on the order of 76:1.
response attack traffic towards a target system. The result is that just 15 attacking sources with 512Kbps of upstream
attack bandwidth could generate one Gbps of response attack traffic
towards a target system.
Smurf attacks employ a similar reflective amplification attack Smurf attacks employ a similar reflective amplification attack
vector, exploiting traditional default IP subnet directed broadcast vector, exploiting traditional default IP subnet directed broadcast
address behaviors that would result in all the active hosts on a address behaviors that would result in all the active hosts on a
given subnet responding to (spoofed) ICMP echo request from an given subnet responding to (spoofed) ICMP echo request from an
attacker, and generating a large amount of ICMP echo response traffic attacker, and generating a large amount of ICMP echo response traffic
directed towards a target system. They were particularly effective directed towards a target system. They were particularly effective
in large campus LAN environments where 50k or more hosts might reside in large campus LAN environments where 50k or more hosts might reside
on a single subnet. on a single subnet.
skipping to change at page 9, line 10 skipping to change at page 9, line 48
vulnerabilities in this area. Among other attacks, if there are vulnerabilities in this area. Among other attacks, if there are
multiple routers on-link with hosts, a host may be able to cause multiple routers on-link with hosts, a host may be able to cause
problems for the routing system by replaying modified or unmodified problems for the routing system by replaying modified or unmodified
routing packets as if they came from another router. routing packets as if they came from another router.
3.2. Non-Blind Attacks 3.2. Non-Blind Attacks
Non-blind attacks often involve mechanisms such as eavesdropping on Non-blind attacks often involve mechanisms such as eavesdropping on
connection, resetting state so that new connections may be hijacked, connection, resetting state so that new connections may be hijacked,
and an array of other attack vectors. Perhaps the most common of and an array of other attack vectors. Perhaps the most common of
these attack vectors is known as man in the middle attacks. these attack vectors is known as man in the middle attacks. In this
case, we are concerned not with an attacker who can modify a stream,
but rather one who has access to information from the stream, and
uses that to launch his own attacks.
3.2.1. Man in the Middle (MITM) 3.2.1. Man in the Middle (MITM)
Connection Hijacking is one of the more common man in the middle Connection Hijacking is one of the more common man in the middle
attack vectors. In order to hijack a connection an attacker usually attack vectors. In order to hijack a connection an attacker usually
needs to be in the forwarding path and often times employs TCP RST or needs to be in the forwarding path and often times employs TCP RST or
other attacks in order to reset a transaction. The attacker may have other attacks in order to reset a transaction. The attacker may have
already compromised a system that's in the forwarding path, or they already compromised a system that's in the forwarding path, or they
may wish to insert themselves in the forwarding path. may wish to insert themselves in the forwarding path.
For example, an attacker with access to a host on LAN segment may For example, an attacker with access to a host on LAN segment may
wish to redirect all the traffic on the local segment destined for a wish to redirect all the traffic on the local segment destined for a
default gateway address (or all addresses) to itself in order to default gateway address (or all addresses) to itself in order to
perform man-in-the-middle attacks. In order to accomplish this the perform man-in-the-middle attacks. In order to accomplish this, in
attacker might transmit gratuitous ARP [RFC0826] messages or ARP IPv4 the attacker might transmit gratuitous ARP [RFC0826] messages or
replies to the Ethernet broadcast address ff:ff:ff:ff:ff:ff, ARP replies to the Ethernet broadcast address ff:ff:ff:ff:ff:ff,
notifying all the hosts on the segment that the IP address(es) of the notifying all the hosts on the segment that the IP address(es) of the
target(s) now map to it's own MAC address. If the port to which the target(s) now map to it's own MAC address. Similar vulnerabilities
attacker is connected were to implement policy that binds a single exist in IPv6 NDP.
Link Layer and IP address tuple to that port upon initial
provisioning, spoofed packets, at the Link Layer and/or Network
Layer, would be discarded on ingress.
3.2.2. Third Party Recon 3.2.2. Third Party Recon
Another example of sighted attack is third party reconnaissance. The Another example of sighted attack is third party reconnaissance. The
use of spoofed addresses, while not necessary for this, can often use of spoofed addresses, while not necessary for this, can often
provide additional information, and helps mask the traceability of provide additional information, and helps mask the traceability of
the activity. The attack involves sending packets towards a given the activity. The attack involves sending packets towards a given
target system and observing either target or intermediate system target system and observing either target or intermediate system
responses. For example, if an attacker were to source spoof TCP SYN responses. For example, if an attacker were to source spoof TCP SYN
packets towards a target system from a large set of source addresses, packets towards a target system from a large set of source addresses,
and observe responses from that target system or some intermediate and observe responses from that target system or some intermediate
firewall or other middle box, they would be able to identify what IP firewall or other middle box, they would be able to identify what IP
layer filtering policies may be in place to protect that system. layer filtering policies may be in place to protect that system.
4. Current Anti-Spoofing Solutions 4. Current Anti-Spoofing Solutions
The first requirement is to eliminate datagrams with spoofed The first requirement is to eliminate datagrams with spoofed IP
addresses from the Internet. Identifying and dropping datagrams addresses from the Internet. Identifying and dropping datagrams
whose source address is incompatible with the Internet topology at whose source address is incompatible with the Internet topology at
sites where the relationship between the source address and topology sites where the relationship between the source address and topology
can be checked can eliminate such datagrams. For example, Internet can be checked can eliminate such datagrams. For example, Internet
devices can confirm that: devices can confirm that:
o The IP source address is appropriate for the lower layer address o The IP source address is appropriate for the lower layer address
(they both identify the same system) (they both identify the same system)
o The IP source address is appropriate for the device at the layer 2 o The IP source address is appropriate for the device at the layer 2
skipping to change at page 11, line 13 skipping to change at page 11, line 51
validated: validated:
o host to switch, including host to host via the switch o host to switch, including host to host via the switch
o Host to enterprise CPE Router o Host to enterprise CPE Router
o Enterprise CPE Router to ISP edge PE Router, and the reverse o Enterprise CPE Router to ISP edge PE Router, and the reverse
o ISP NNI Router to ISP NNI Router o ISP NNI Router to ISP NNI Router
In general, datagrams with spoofed addresses can be detected and In general, datagrams with spoofed IP addresses can be detected and
discarded by devices that have an authoritative mapping between IP discarded by devices that have an authoritative mapping between IP
addresses and the network topology. For example, a device that has addresses and the network topology. For example, a device that has
an authoritative table between Link Layer and IP addresses on a link an authoritative table between Link Layer and IP addresses on a link
can discard any datagrams in which the IP address is not associated can discard any datagrams in which the IP address is not associated
with the Link Layer address in the datagram. The degree of with the Link Layer address in the datagram. The degree of
confidence in the source address depends on where the spoofing confidence in the source address depends on where the spoofing
detection is performed and the prefix aggregation in place between detection is performed and the prefix aggregation in place between
the spoofing detection and the source of the datagram. the spoofing detection and the source of the datagram.
4.1. Host to link layer neighbor via switch 4.1. Topological Locations for Enforcement
There are a number of kinds of places, which one might call
topological locations, where solutions may or should be deployed.
4.1.1. Host to link layer neighbor via switch
The first point at which a datagram with a spoofed address can be The first point at which a datagram with a spoofed address can be
detected is on the link to which the source of the datagram is detected is on the link to which the source of the datagram is
connected. At this point in the network, the source Link Layer and connected. At this point in the network, the source Link Layer and
IP addresses are both available, and can be verified against each IP addresses are both available, and can be verified against each
other. A datagram in which the IP source address does not match the other. A datagram in which the IP source address does not match the
corresponding Link Layer address can be discarded. Of course, the corresponding Link Layer address can be discarded. Of course, the
trust in the filtering depends on the trust in the method through trust in the filtering depends on the trust in the method through
which the mappings are developed. This mechanism can be applied by a which the mappings are developed. This mechanism can be applied by a
first hop router, or switch on the link. The first hop switch has first hop router, or switch on the link. The first hop switch has
skipping to change at page 11, line 45 skipping to change at page 12, line 39
On a truly shared medium link, such as classic Ethernet, the best On a truly shared medium link, such as classic Ethernet, the best
that can be done is to verify the Link Layer and IP addresses against that can be done is to verify the Link Layer and IP addresses against
the mappings. When the link is not shared, such as when the hosts the mappings. When the link is not shared, such as when the hosts
are connected through a switch, the source host can be identified are connected through a switch, the source host can be identified
precisely based on the port through which the datagram is received or precisely based on the port through which the datagram is received or
the MAC address if it is known to the switch. Port identification the MAC address if it is known to the switch. Port identification
prevents transmission of malicious datagrams whose Link Layer and IP prevents transmission of malicious datagrams whose Link Layer and IP
addresses are both spoofed to mimic another host. addresses are both spoofed to mimic another host.
4.2. Upstream routers Other kinds of links may fall at different places in this spectrum,
with some wireless links having easier ways of identifying individual
devices than others, for example.
4.1.2. Upstream routers
Beyond the first hop router, subsequent routers may additionally Beyond the first hop router, subsequent routers may additionally
filter traffic from downstream networks. Because these routers do filter traffic from downstream networks. Because these routers do
not have access to the Link Layer address of the device from which not have access to the Link Layer address of the device from which
the datagram was sent, they are limited to confirming that the source the datagram was sent, they are limited to confirming that the source
IP address is within a prefix that is appropriate for downstream IP address is within a prefix that is appropriate for downstream
router from which the datagram was received. router from which the datagram was received.
Options include the use of simple access lists or the use of unicast Options include the use of simple access lists or the use of unicast
reverse path filtering (uRPF). Access lists are generally reverse path filtering (uRPF). Access lists are generally
appropriate only for the simplest cases, as management can be appropriate only for the simplest cases, as management can be
difficult. Strict Unicast RPF accepts the source address on a difficult. Strict Unicast RPF accepts the source address on a
datagram if and only if it comes from a direction that would be datagram if and only if it comes from a direction that would be
rational to send a datagram directed to the address, which means that rational to send a datagram directed to the address, which means that
the filter is derived from routing information. These filtering the filter is derived from routing information. These filtering
procedures are discussed in more detail in [RFC3704]. procedures are discussed in more detail in [RFC3704].
4.3. ISP Edge PE Router 4.1.3. ISP Edge PE Router
An obvious special case of the discussion is with an ISP PE router, An obvious special case of the discussion is with an ISP PE router,
where it provides its customer with access. BCP 38 specifically where it provides its customer with access. BCP 38 specifically
encourages ISPs to use ingress filtering to limit the incidence of encourages ISPs to use ingress filtering to limit the incidence of
spoofed addresses in the network. spoofed addresses in the network.
The question that the ISP must answer for itself is the degree to The question that the ISP must answer for itself is the degree to
which it trusts its downstream network. A contract might be written which it trusts its downstream network. A contract might be written
between an ISP and its customer requiring that the customer apply the between an ISP and its customer requiring that the customer apply the
procedures of network ingress filtering to the customer's own procedures of network ingress filtering to the customer's own
network, although there's no way upstream networks would be able to network, although there's no way upstream networks would be able to
verify this. verify this.
4.4. ISP NNI Router to ISP NNI Router Conversely, if the provider has assigned a single IP address to the
customer (for example, with IPv4 NAT in the CPE) PE enforcement of
BCP 38 can be on the full address, simplifying many issues.
4.1.4. ISP NNI Router to ISP NNI Router
The considerations explicitly related to customer networks can also The considerations explicitly related to customer networks can also
be applied to neighboring ISPs. An interconnection agreement might be applied to neighboring ISPs. An interconnection agreement might
be written between two companies requiring network ingress filtering be written between two companies requiring network ingress filtering
policy be implemented on all customers connections. ISPs might, for policy be implemented on all customers connections. ISPs might, for
example, mark datagrams from neighboring ISPs that do not sign such a example, mark datagrams from neighboring ISPs that do not sign such a
contract or demonstrably do not behave in accordance with it as contract or demonstrably do not behave in accordance with it as
'untrusted'. Alternatively, the ISP might place untrusted prefixes 'untrusted'. Alternatively, the ISP might place untrusted prefixes
into a separate BGP community and use that to advertise the level of into a separate BGP community and use that to advertise the level of
trust to its BGP peers. trust to its BGP peers.
In this case, uRPF is less effective as a verification tool, due to In this case, uRPF is less effective as a verification tool, due to
asymmetric routing. However, when it can be shown that spoofed asymmetric routing. However, when it can be shown that spoofed
addresses are present, the procedure can be applied. addresses are present, the procedure can be applied.
4.5. Spoofing In Local Area Network Segments Part of the complication here is that in the abstract it is very
difficult to know what addresses should appear in packets sent from
On Link Layer segments where multiple hosts reside, or a single MAC one ISP to another. Hence packet level filtering and enforcement is
address can be associated with a port or interface, if a binding very difficult at this point in the network. Whether one views this
between a hardware address (e.g., MAC address) and corresponding IP as specific to the NNI, or a general property of the Internet, it is
address(es) are not provisioned via some means (either manual or still a major factor that needs to be taken into account.
dynamic mechanisms), then an attacker may exploit attack vectors that
enable MITM or other spoof-based attacks.
4.6. Cable Modem Subscriber Access 4.1.5. Cable Modem Subscriber Access
Cable Modem Termination Systems (CMTS) employ DOCSIS Media Access Cable Modem Termination Systems (CMTS) employ DOCSIS Media Access
Control (MAC) domains, which are similar to Ethernet LAN Control (MAC) domains. These share some properties with general
environments. switched networks, as described above in Section 4.1.1, some
properties with DSL access networks, as described below in
Section 4.1.6. They also often have their own provisioning and
monitoring tools which may address some of the issues described here.
4.7. DSL Subscriber Access 4.1.6. DSL Subscriber Access
While DSL subscriber access can be bridged or routed, as seen by the While DSL subscriber access can be bridged or routed, as seen by the
service provider's device, it is generally the case that the service provider's device, it is generally the case that the
protocols carry enough information to verify which subscriber is protocols carry enough information to verify which subscriber is
sending packets. Thus, for ensuring that one DSL subscriber does not sending packets. Thus, for ensuring that one DSL subscriber does not
spoof another, enforcement can generally be done at the aggregation spoof another, enforcement can generally be done at the aggregation
router. This is true even when there is a bridged infrastructure router. This is true even when there is a bridged infrastructure
among the subscribers, as DSL access generally requires all among the subscribers, as DSL access generally requires all
subscriber traffic to go through the access aggregation router. subscriber traffic to go through the access aggregation router.
If it is desirable to provide spoofing protection among the devices If it is desirable to provide spoofing protection among the devices
within a residence, that would need to be provided by the CPE device, within a residence, that would need to be provided by the CPE device,
as the ISPs router does not have enough visibility to do that. It is as the ISPs router does not have enough visibility to do that. It is
not clear at this time that this problem is seen as a relevant not clear at this time that this problem is seen as a relevant
threat. threat.
4.8. BCP 38 4.2. Currently Available Tools
There are a number of tools which have been developed, and have seen
some deployment, for addressing these attacks.
4.2.1. BCP 38
If BCP 38 [RFC2827] is implemented in LAN segments, it is typically If BCP 38 [RFC2827] is implemented in LAN segments, it is typically
done so on subnetwork boundaries and traditionally relates only to done so on subnetwork boundaries and traditionally relates only to
Network Layer ingress filtering policies. The result is that hosts Network Layer ingress filtering policies. The result is that hosts
within the segment cannot spoof packets from address space outside of within the segment cannot spoof packets from address space outside of
the local segment itself, however, they may still spoof packets using the local segment itself, however, they may still spoof packets using
sources addresses that exist within the local network segment. sources addresses that exist within the local network segment.
4.9. Unicast RPF 4.2.2. Unicast RPF
Unicast RPF is a crude mechanism to automate definition of BCP 38 Unicast RPF is a crude mechanism to automate definition of BCP 38
style filters based on routing table information. Its applicability style filters based on routing table information. Its applicability
parallels that of BCP 38, although deployment caveats exist, as parallels that of BCP 38, although deployment caveats exist, as
outlined in [RFC3704]. outlined in [RFC3704].
4.10. Port-based Address Binding 4.2.3. Port-based Address Binding
Much of the work SAVI appears to be initially targeting is aimed at Much of the work of SAVI is initially targeting minimizing source
minimizing source address spoofing in the LAN. In particular, if address spoofing in the LAN. In particular, if mechanisms can be
mechanisms can be defined to accommodate configuration of port defined to accommodate configuration of port binding information for
binding information for IP and MAC layer addresses in LAN IP, either to a port, to an unforgeable MAC address, or to other
environments, a large portion of the spoofing threat space in the LAN unforgeable credentials in the packet, a large portion of the
can be marginalized. spoofing threat space in the LAN can be marginalized.
However, establishing this binding is not trivial, and varying across However, establishing this binding is not trivial, and varying across
both topologies type and address allocation mechanisms. both topologies type and address allocation mechanisms.
4.10.1. Manual Binding 4.2.3.1. Manual Binding
Binding of a single Link Layer and Network Layer address to a port Binding of a single Link Layer and Network Layer address to a port
may initially seem trivial. However, two primary areas exist that may initially seem trivial. However, two primary areas exist that
can complicate such techniques. In particular, these areas involve can complicate such techniques. In particular, these areas involve
topologies where more than a single IP layer address may be topologies where more than a single IP layer address may be
associated with a MAC address on a given port, or where multiple associated with a MAC address on a given port, or where multiple
hosts are connected to a single IP port. Furthermore, if one or more hosts are connected via a single physical port. Furthermore, if one
dynamic address allocation mechanisms such as DHCP are employed, then or more dynamic address allocation mechanisms such as DHCP are
some mechanism must exist to associate those IP layer addresses with employed, then some mechanism must exist to associate those IP layer
the appropriate Link layer ports, as addresses are allocated or addresses with the appropriate Link layer ports, as addresses are
reclaimed. allocated or reclaimed.
4.10.2. Automated Binding 4.2.3.2. Automated Binding
For IPv4 the primary and very widely used automated binding technique For IPv4 the primary and very widely used automated address
is DHCP based address assignment. Controlling where authoritative assignment technique is DHCP based address assignment. Controlling
information can be sourced, coupled with sniffing and enforcing the where authoritative information can be sourced, coupled with sniffing
assignments is an effective technique. and enforcing the assignments is an effective technique, which can in
many networks automatically provide sufficient binding information.
For IPv6, there are two common automated address binding techniques. For IPv6, there are two common automated address assignment
While there are many variations and details, for purposes of techniques. While there are many variations and details, for
understanding the threats and basic responses, these are Stateless purposes of understanding the threats and basic responses, these are
Address AutoConfiguration (SLAAC) and DHCPv6 based address Stateless Address AutoConfiguration (SLAAC) and DHCPv6 based address
assignment. In both cases, binding establishment needs to be tied to assignment. In both cases, SAVI binding establishment needs to be
the state machines for these protocols, and appropriate message tied to the state machines for these address assignment protocols,
sniffing and enforcement. For DHCPv6 based techniques, it is also with appropriate message sniffing and enforcement. For DHCPv6 based
necessary to use classification techniques to ensure that responses techniques, it is also necessary to use classification techniques to
come from authoritative sources. ensure that responses which are trusted actually come from
authoritative sources.
4.10.3. IEEE 802.1X 4.2.3.3. IEEE 802.1x
IEEE 802.1x is an authentication protocol that permits a network to IEEE 802.1x is an authentication protocol that permits a network to
determine the identity of a system seeking to join it and apply determine the identity of a system seeking to join it and apply
authorization rules to permit or deny the action. authorization rules to permit or deny the action. In and of
themselves, such tools confirm only that the user is authorized to
use the network, but do not enforce what IP address the user is
allowed to use. It is worth noting that elements of 802.1x may well
be useful as binding anchors for SAVI solutions.
4.11. Cryptographic Techniques 4.2.4. Cryptographic Techniques
Needless to say, MITM and replay attacks can typically be mitigated Needless to say, MITM and replay attacks can typically be mitigated
with cryptographic techniques. However, many of the applications with cryptographic techniques. However, many of the applications
today either don't or can't employ cryptographic authentication and today either don't or can't employ cryptographic authentication and
protection mechanisms. ARP for IPv4 does not use such protection. protection mechanisms. ARP for IPv4 does not use such protection.
While SEND provides such protection for IPv6 ND, SEND is not widely While SEND provides such protection for IPv6 ND, SEND is not widely
used to date. While DNSsec will significantly help protect DNS from used to date.
spoof based poisoning attacks, it will probably be sufficiently long
for truly widespread use that other protections can be usefully
deployed as well.
4.12. Residual Attacks While DNSSEC will significantly help protect DNS from the effects of
spoof based poisoning attacks, such protection does not help protect
the rest of the network from spoofed attacks.
4.2.5. Residual Attacks
It should be understood that not all combinations of network, service It should be understood that not all combinations of network, service
and enforcement choices will result in a protectable network. For and enforcement choices will result in a protectable network. For
example, if one uses conventional SLAAC, in a switched network, but example, if one uses conventional SLAAC, in a switched network, but
tries to only provide address enforcement on the routers on the tries to only provide address enforcement on the routers on the
network, then the ability to provide protection is severely limited. network, then the ability to provide protection is severely limited.
5. Topological Considerations 5. Topological Challenges Facing SAVI
As noted previously, topological components and address allocation As noted previously, topological components and address allocation
mechanisms have significant implications on what is feasible with mechanisms have significant implications on what is feasible with
regard to Link layer address and IP address port bindings. The regard to Link layer address and IP address port bindings. The
following sections discuss some of the various topologies and address following sections discuss some of the various topologies and address
allocation mechanisms that proposed SAVI solutions should attempt to allocation mechanisms that proposed SAVI solutions should attempt to
address. address.
5.1. Address Provisioning Mechanisms 5.1. Address Provisioning Mechanisms
skipping to change at page 15, line 38 skipping to change at page 17, line 8
switch port might be a viable option. However, most networks, switch port might be a viable option. However, most networks,
certainly those that accommodate actual human users, are much more certainly those that accommodate actual human users, are much more
dynamic in nature. As such, mechanisms that provide port-MAC-IP dynamic in nature. As such, mechanisms that provide port-MAC-IP
bindings need to accommodate dynamic address allocation schemes bindings need to accommodate dynamic address allocation schemes
enabled by protocols such as DHCP, DHCPv6 for address allocation, and enabled by protocols such as DHCP, DHCPv6 for address allocation, and
IPv6 Stateless Address Autoconfiguration. IPv6 Stateless Address Autoconfiguration.
5.2. LAN devices with Multiple Addresses 5.2. LAN devices with Multiple Addresses
From a topology considerations perspective, when attempting From a topology considerations perspective, when attempting
port-MAC-IP bindings, host connected to switch ports that may have port-MAC-IP bindings, hosts connected to switch ports that may have
one or more IP addresses, or certainly, devices that forward packets one or more IP addresses, or certainly, devices that forward packets
from other network segments, are problematic. from other network segments, present traffic that is much harder to
make subject to such bindings and enforcement.
5.2.1. Routers 5.2.1. Routers
The most obvious example of devices that are problematic when The most obvious example of devices that are problematic when
attempting to implement port-MAC-IP bindings is that of routers. attempting to implement port-MAC-IP bindings is that of routers.
Routers not only originate packets themselves and often have multiple Routers not only originate packets themselves and often have multiple
interfaces, but also forward packets from other network segments. As interfaces, but also forward packets from other network segments. As
a result, it's difficult for port-MAC-IP binding rules to be a result, it's difficult for port-MAC-IP binding rules to be
established a priori, because it's likely that many addresses and IP established a priori, because it's likely that many addresses and IP
subnets should be associated with the port-MAC in question. subnets should be associated with the port-MAC in question.
skipping to change at page 16, line 18 skipping to change at page 17, line 36
becomes problematic, for the same reasons as routers. Because they becomes problematic, for the same reasons as routers. Because they
may forward traffic from an array of address, a priori knowledge must may forward traffic from an array of address, a priori knowledge must
exist providing what IPs should be associated with a given port-MAC exist providing what IPs should be associated with a given port-MAC
pair. pair.
5.2.3. Multi-Instance Hosts 5.2.3. Multi-Instance Hosts
Another example that introduces complexities is that of multi- Another example that introduces complexities is that of multi-
instance hosts attached to a switch port. These are single physical instance hosts attached to a switch port. These are single physical
devices, which internally run multiple physical or logical hosts. devices, which internally run multiple physical or logical hosts.
When the device is a blade server, with internal blades each hosting When the device is a blade server, e.g. with internal blades each
a machine, there is essentially a physical switch inside the blade hosting a physical machine, there is essentially a physical switch
server. While tractable, this creates some complexity for inside the blade server. While tractable, this creates some
determining where enforcement logic can or should live. complexity for determining where enforcement logic can or should
live.
Logically distinct hosts such as are provided by many varieties of Logically distinct hosts such as are provided by many varieties of
virtualization logic result in a single physical host, connect to a virtualization logic result in a single physical host, connect to a
single port on the Ethernet switch in the topology, actually having single port on the Ethernet switch in the topology, actually having
multiple internal IP and MAC addresses, and essentially an internal multiple internal virtual machines, each with IP and MAC addresses,
and what is essentially (or sometimes literally) an internal LAN
switch. While it may be possible for this internal switch to help switch. While it may be possible for this internal switch to help
control threats among the virtual hosts, or between virtual hosts and control threats among the virtual hosts, or between virtual hosts and
other parts of the network, such enforcement cannot be counted on at other parts of the network, such enforcement cannot be counted on at
this time. this time.
5.2.4. Multi-LAN Hosts 5.2.4. Multi-LAN Hosts
Multi-interface hosts, in particular those that are multi-homed and Multi-interface hosts, in particular those that are multi-homed and
may forward packets from any of a number of source addresses, can be may forward packets from any of a number of source addresses, can be
problematic as well. In particular, if a port-MAC-IP binding is made problematic as well. In particular, if a port-MAC-IP binding is made
skipping to change at page 17, line 40 skipping to change at page 19, line 13
to a switch port may forward packets with more than a single source to a switch port may forward packets with more than a single source
address for packet which it originated may be problematic. address for packet which it originated may be problematic.
Additionally, address allocation schemas introduce additional Additionally, address allocation schemas introduce additional
considerations when examining a given SAVI solutions space. considerations when examining a given SAVI solutions space.
5.3. IPv6 Considerations 5.3. IPv6 Considerations
IPv6 introduces additional capabilities which indirectly complicate IPv6 introduces additional capabilities which indirectly complicate
the spoofing analysis. IPv6 introduces and recommends the use of the spoofing analysis. IPv6 introduces and recommends the use of
stateless address autoconfiguration (often referred to as SLAAC). stateless address autoconfiguration (often referred to as SLAAC).
This allows hosts to determine their IP prefix, select an ID, and This allows hosts to determine their IP prefix, select an IID, and
then start communicating. While there are many advantages to this, then start communicating. While there are many advantages to this,
the absence of control interactions complicates the process of the absence of control interactions complicates the process of
behavioral enforcement. behavioral enforcement.
An additional complication is the very large ID space. Again, this An additional complication is the very large IID space. Again, this
64 bit ID space provided by IPv6 has many advantages. It provides 64 bit ID space provided by IPv6 has many advantages. It provides
the opportunity for many useful behaviors. However, it also means the opportunity for many useful behaviors. However, it also means
that in the absence of controls, hosts can mint anonymous addresses that in the absence of controls, hosts can mint anonymous addresses
as often as they like, modulo the idiosyncrasies of the duplicate as often as they like, modulo the idiosyncrasies of the duplicate
address procedure. Like many behaviors, this is a feature for some address procedure. Like many behaviors, this is a feature for some
purposes, and a problem for others. But it does have implications purposes, and a problem for others. For example, without claiming
for switch cost; the switch needs to store more addresses and so the entire ID space, an on-link attacker may be able to generate
needs more memory. enough IP addresses to fill the Neighbor Discovery table space of the
other L3 devices on the link, including switches which are monitoring
6. Applicability of Anti-Spoofing Solutions L3 behavior. This could seriously interfere with the ability for
other devices on the link to function.
The above sections covered a number of security threats. Not all
these threats can be prevented by anti-spoofing techniques. However,
all of these threats can be ameliorated to some degree. We can look
at three categories of effect we can achieve:
Prevention: Some of the threats described above explicitly require
that a host send packets using some other active hosts IP address
as a source. Anti-Spoofing measures can prevent these attacks.
Impediment: Many of the attacks above, such as some kinds of DoS
attacks, can be conducted more easily if the attacking host can
use multiple different IP addresses. Depending upon the kind of
anti-spoofing available, the scope of such false addresses, or
even their use, may be prevented, hindering the attacker even if
the attack is not completely prevented.
Traceability: Even when attacks cannot be prevented, the ability to
reliably trace an attack allows appropriate responses, and thereby
also creates an environment which discourages attacks instead of
encouraging them. Thus, ensuring that even attacks which are not
dependent upon spoofing cannot use source address spoofing to hide
their origin is extremely important.
For example, sites which deploy BCP 38 cannot be the source of
attacks which rely on spoofing the source site from which an attack
was launched. Wide deployment of BCP 38 would also simplify the task
of tracking attacks back to their actual origin.
6.1. Analysis of Host Granularity Anti-Spoofing 6. Analysis of Host Granularity Anti-Spoofing
Applying anti-spoofing techniques at the host level enables a site to Applying anti-spoofing techniques at the host level enables a site to
achieve several valuable objectives. While it is likely the case achieve several valuable objectives. While it is likely the case
that for many site topologies and policies, full source spoofing that for many site topologies and policies, full source spoofing
protection is not possible, it is also true that for many sites there protection is not possible, it is also true that for many sites there
are steps that can be taken that provide benefit. are steps that can be taken that provide benefit.
One important class of benefit is masquerade prevention. Security One important class of benefit is masquerade prevention. Security
threats involving one machine masquerading as another, for example in threats involving one machine masquerading as another, for example in
order to hijack an apparently secure session, can occur within a site order to hijack an apparently secure session, can occur within a site
with significant impact. Having mechanisms such that host facing with significant impact. Having mechanisms such that host facing
devices prevent this is a significant intra-site security devices prevent this is a significant intra-site security
improvement. Given that security experts report that most security improvement. Given that security experts report that most security
breaches are internal, this can be valuable. One example of this is breaches are internal, this can be valuable. One example of this is
that such techniques should mitigate internal attacks on the site that such techniques should mitigate internal attacks on the site
routing system. routing system.
A second class of benefit is related to the traceability described A second class of benefit is related to the traceability described
above. When a security incident is detected, either within a site, above. When a security incident is detected, either within a site,
or externally (and traced to the site( it can be critical to or externally (and traced to the site) it can be critical to
determine what the actual source of the incident was. If address determine what the actual source of the incident was. If address
usage can be tied to the kinds of anchors described earlier, then it usage can be tied to the kinds of anchors described earlier, then it
is possible to respond to security incidents. is possible to respond to security incidents.
In addition to these local observable benefits, there can be more In addition to these local observable benefits, there can be more
global benefits. For example, if address usage is tied to anchors, global benefits. For example, if address usage is tied to anchors,
it may be possible to prevent or control the use of large numbers of it may be possible to prevent or control the use of large numbers of
anonymous IPv6 addresses for attacks, or at least to track even those anonymous IPv6 addresses for attacks, or at least to track even those
attacks back to their source. attacks back to their source.
7. Existing Techniques for IP Source Address Validation 7. IANA Considerations
Existing techniques for IP source address validation are
insufficient. While each technique has its own shortcomings, the
following list of general categories of reasons include some of the
deficiencies of all existing technique:
False negatives: Techniques may yield false negatives, thus enabling
an attacker to select an IP source address that is spoofed, but
still passes IP source address validation.
False positives: Techniques may yield false positives, thereby
causing interruption or denial of service to hosts that use
legitimate IP source addresses.
Non-trivial configuration: Requirements for non-trivial
configuration imply expenditures and pose a risk for
misconfiguration, which may again lead to false positives or false
negatives. Both may discourage operators from employing a given
technique.
Proprietary: Procurement policies of organizations oftentimes
require that devices purchased use techniques that are
standardized rather than proprietary. Such policies, for good or
ill, hinder or prevent the deployment of proprietary techniques.
The only standardized technique for IP source address validation is
ingress filtering [RFC2827]. This calls for routers to check whether
the prefix of a to-be-forwarded packet's IP source address is amongst
a list of prefixes considered legitimate for the interface through
which the packet arrives. Packets that fail this check are
discarded.
Ingress filtering may yield false negatives in a deterministic
manner. Packets with a legitimate IP source address prefix, but a
spoofed interface identifier, pass ingress filtering checks. Also,
packets with an illegitimate IP source address prefix pass the checks
as long as the prefix is from the list of prefixes considered
legitimate, if more than one prefix is considered as legitimate on
the ingress interface..
Ingress filtering implementations that require manual establishment
of the list of legitimate prefixes cause considerable configuration
overhead. Unicast Reverse Path Forwarding (uRPF) mitigates this
issue by automatically deriving the list of legitimate prefixes from
a router's forwarding table: A to-be-forwarded packet's IP source
address prefix is considered legitimate if the packet is coming
through an interface via which return traffic would be routed. On
the other hand, Unicast Reverse Path Forwarding may yield false
positives, in particular for hosts and networks with multiple,
topologically separate Internet attachments [RFC3704].
Consequently, there is a need for an IP source address validation
technique that avoids false negatives and false positives, that can
be set up with no or only trivial configuration, and that has been
standardized. The development of such a technique is the goal of the
proposed Source Address Validation Improvements (SAVI) working group
in the Internet Engineering Task Force.
8. Deployment Considerations
From a global Internet perspective, deployment of anti- spoofing
techniques tends to suffer from a "tragedy of the commons" situation.
That is, there is a general consensus that everyone should implement
anti-spoofing measures, yet individual organizations don't want to
bear the cost of deployment themselves, often because demonstrating
direct tangible return on investment is not possible. Upon analysis,
it often seems apparent that local implementation of anti-spoofing
measures is of more benefit to the "greater Internet" than the local
network domain itself. A similar situation occurs with de-
aggregation of Internet routing information for multi-homing and
traffic engineering purposes, as well as the lack of explicit inter-
domain routing prefix filters on the Internet.
Until network operators begin to accept that their local design
choices have global implications, and act upon this responsibility,
the problem is not going to go away.
Ideally, with additional work in the areas of SAVI to ease deployment
and management burdens, the deployment cost to operators will
decrease and more wide-scale deployment will continue. Furthermore,
application of SAVI-like techniques provides more obvious benefits to
network administrators that are concerned with MITM and similar
attacks.
As mentioned earlier, there are local security benefits to the
deployment of SAVI security mechanisms. This may help motivate the
deployment of tools with widespread benefit.
9. IANA Considerations
This memo asks the IANA for no new parameters. This memo asks the IANA for no new parameters.
Note to RFC Editor: This section will have served its purpose if it Note to RFC Editor: This section will have served its purpose if it
correctly tells IANA that no new assignments or registries are correctly tells IANA that no new assignments or registries are
required, or if those assignments or registries are created during required, or if those assignments or registries are created during
the RFC publication process. From the authors' perspective, it may the RFC publication process. From the authors' perspective, it may
therefore be removed upon publication as an RFC at the RFC Editor's therefore be removed upon publication as an RFC at the RFC Editor's
discretion. discretion.
10. Security Considerations 8. Security Considerations
This document provides limited discussion of some security threats This document provides limited discussion of some security threats
source address validation improvements will help to mitigate. It is source address validation improvements will help to mitigate. It is
not meant to be all-inclusive, either from a threat analysis not meant to be all-inclusive, either from a threat analysis
perspective, or from the source address verification application perspective, or from the source address verification application
side. side.
It is seductive to think of SAVI solutions as providing the ability It is seductive to think of SAVI solutions as providing the ability
to use this technology to trace a datagram to the person, or at least to use this technology to trace a datagram to the person, or at least
end system, that originated it. For several reasons, the technology end system, that originated it. For several reasons, the technology
skipping to change at page 22, line 11 skipping to change at page 21, line 11
other systems (e.g., SMTP and peer-to-peer file sharing). other systems (e.g., SMTP and peer-to-peer file sharing).
Until every Internet-connected network implements source address Until every Internet-connected network implements source address
validation at the ultimate network ingress, and assurances exist that validation at the ultimate network ingress, and assurances exist that
intermediate devices are to never modify datagram source addresses, intermediate devices are to never modify datagram source addresses,
source addresses must not be used as an authentication mechanism. source addresses must not be used as an authentication mechanism.
The only technique to unquestionably verify source addresses of a The only technique to unquestionably verify source addresses of a
received datagram are cryptographic authentication mechanisms such as received datagram are cryptographic authentication mechanisms such as
IPsec. IPsec.
11. Acknowledgements 9. Acknowledgments
A portion of the primer text in this document came directly from A portion of the primer text in this document came directly from
[I-D.baker-sava-operational], authored by Fred Baker and Ralph Droms. [I-D.baker-sava-operational], authored by Fred Baker and Ralph Droms.
Many thanks to Christian Vogt and Suresh Bhogavilli for contributing Many thanks to Christian Vogt, Suresh Bhogavilli, and Pekka Savola
text and a careful review of this document. for contributing text and a careful review of this document.
12. References 10. References
12.1. Normative References 10.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981. September 1981.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998. (IPv6) Specification", RFC 2460, December 1998.
12.2. Informative References 10.2. Informative References
[I-D.baker-sava-operational] [I-D.baker-sava-operational]
Baker, F. and R. Droms, "IPv4/IPv6 Source Address Baker, F. and R. Droms, "IPv4/IPv6 Source Address
Verification", draft-baker-sava-operational-00 (work in Verification", draft-baker-sava-operational-00 (work in
progress), June 2007. progress), June 2007.
[RFC0826] Plummer, D., "Ethernet Address Resolution Protocol: Or [RFC0826] Plummer, D., "Ethernet Address Resolution Protocol: Or
converting network protocol addresses to 48.bit Ethernet converting network protocol addresses to 48.bit Ethernet
address for transmission on Ethernet hardware", STD 37, address for transmission on Ethernet hardware", STD 37,
RFC 826, November 1982. RFC 826, November 1982.
 End of changes. 63 change blocks. 
292 lines changed or deleted 247 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/