[Docs] [txt|pdf] [Tracker] [Email] [Nits]
Versions: 00 01 02 03
Routing Area WG P. Savola
Internet-Draft CSC/FUNET
Intended status: Informational March 31, 2006
Expires: October 2, 2006
Backbone Infrastructure Attacks and Protections
draft-savola-rtgwg-backbone-attacks-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on October 2, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
A number of protection mechanisms for attacks against service
provider backbone network infrastructure have been specified or
proposed, each of them usually targeting a subset of the problem
space. There has never been a more generic analysis of the actual
problems, and which protection techniques are even necessary (and
where). This document tries to provide that higher-level view.
Savola Expires October 2, 2006 [Page 1]
Internet-Draft Attacks Against Backbone March 2006
Table of Contents
1. Introduction and Assumptions . . . . . . . . . . . . . . . . . 3
2. Attack Vectors . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Lower-layer Attacks . . . . . . . . . . . . . . . . . . . 3
2.2. Generic DoS on the Router . . . . . . . . . . . . . . . . 4
2.3. Cryptographic Exhaustion Attacks . . . . . . . . . . . . . 4
2.4. Unauthorized Neighbor Attacks . . . . . . . . . . . . . . 4
2.5. TCP RST Attacks . . . . . . . . . . . . . . . . . . . . . 5
2.6. ICMP Attacks . . . . . . . . . . . . . . . . . . . . . . . 5
3. Typical Protection Mechanisms . . . . . . . . . . . . . . . . 5
3.1. Address Filtering . . . . . . . . . . . . . . . . . . . . 5
3.2. GTSM . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3. TCP-MD5 and Other Custom Authentication . . . . . . . . . 6
3.4. IPsec and IKE . . . . . . . . . . . . . . . . . . . . . . 6
4. Protocol Analysis . . . . . . . . . . . . . . . . . . . . . . 6
4.1. OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.2. IS-IS . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3. BFD . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4. BGP . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.5. LDP . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
9.1. Normative References . . . . . . . . . . . . . . . . . . . 10
9.2. Informative References . . . . . . . . . . . . . . . . . . 10
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11
Intellectual Property and Copyright Statements . . . . . . . . . . 12
Savola Expires October 2, 2006 [Page 2]
Internet-Draft Attacks Against Backbone March 2006
1. Introduction and Assumptions
A number of protection mechanisms for attacks against service
provider backbone network infrastructure have been specified or
proposed, each of them usually targeting a subset of the problem
space. There has never been a more generic analysis of the actual
problems, and which protection techniques are even necessary (and
where). This document tries to provide that higher-level view.
We'll assume that the service provider is doing at least some form of
address filtering at its border devices, i.e., by ensuring that only
the infrastructure nodes can use infrastructure source IP addresses
to talk to the other nodes in the infrastructure. So, for example,
if a router sees an IP packet coming from a source address assigned
to another router in the backbone, it can be sure the packet has been
originated inside the backbone (assuming the physical security or
nodes in the backbone have not been subverted).
This requirement can be satisfied by applying ingress filtering at
all your borders [RFC2827][RFC3704], but just filtering
infrastructure source IP addresses from the outside is also
sufficient. Some may even implement this by blocking access to the
infrastructure destination addresses at the border, but we do not
describe this approach as that has a number of other issues.
Current operational practices are described in
[I-D.ietf-opsec-current-practices]; while almost all ISPs are capable
of employing data plane filtering at the edges, at least one major
ISP is known not do be able to due to legacy hardware limitations.
Various diltering capabilities have been discussed at more length in
[I-D.ietf-opsec-filter-caps].
If this requirement cannot be satisfied, other approaches are
warranted. For example, [I-D.zinin-rtg-dos] suggested an alternative
(and in any case, provides good analysis); IPsec-protecting all the
control traffic might also be possible if "all bets are off".
2. Attack Vectors
We'll describe the most obvious attack vectors.
2.1. Lower-layer Attacks
If an attacker has access to a (physical) link, it can obviously
cause downtime for the link. In many cases the downtime is not a
critical threat, as it can be quickly noticed, traffic rerouted, and
the problem fixed. Some are more concerned about other forms of
Savola Expires October 2, 2006 [Page 3]
Internet-Draft Attacks Against Backbone March 2006
attacks: insertion of eavesdropping or man-in-the-middle devices.
Fortunately, installing such would require downtime and could be
noticeable.
This is a more generic issue though: if one is concerned about this,
one should really provide full integrity protection and even
confidentiality to *all* the traffic, not just routing protocols.
Hence, we are not concerned of lower-layer attacks as these are not
specific to routing protocols.
2.2. Generic DoS on the Router
A typical attack is to overload a router using various techniques,
e.g., by sending traffic exceeding the router's forwarding capacity,
sending special transit packets that go through a "slow-path"
processing, or by sending some packets directed at the router itself.
Many of these techniques can be mitigated using implementation-
specific rate-limiting mechanisms, so they are not addressed further
in this memo. However, p protocol designers should be advised to
avoid any designs which require noticing and processing some special
packets from the transit traffic (e.g., messages marked with router
alert option).
2.3. Cryptographic Exhaustion Attacks
A special form of the above are attacks which target a protocol which
uses cryptographic mechanisms, for example TCP-MD5 or IPsec. The
attacker sends valid protocol messages with cryptographic signatures
or other properties to the router, which is forced to perform
cryptographic validation of the message. If the cryptographic
operations are computationally expensive, the attack might succeed
easier than with other generic DoS mechanisms.
Some implementation-specific mitigation techniques (rate-limiting
etc.) have been deployed, but as this affects the choice of a
protection mechanism due to protocol design, we'll keep this attack
in scope for this memo.
2.4. Unauthorized Neighbor Attacks
Unauthorized nodes can obtain a routing protocol adjacency e.g., on
links where an IGP has been enabled by misconfiguration, or where
authentication is not used. This may result in many different kinds
of attacks, for example traffic redirection
[I-D.ietf-rpsec-routing-threats].
At least in theory, some protocols can also be attacked in this way
Savola Expires October 2, 2006 [Page 4]
Internet-Draft Attacks Against Backbone March 2006
from outside the link (e.g., OSPF [I-D.ietf-rpsec-ospf-vuln]).
Therefore special care needs to be made to ensure misconfiguration of
does not happen.
2.5. TCP RST Attacks
TCP sessions can be closed by attackers which can send a TCP RST
packet with guessed spoofed endpoint identifiers and a sufficiently
close sequence number. The attacks and defenses have been described
at length in [I-D.ietf-tcpm-tcp-antispoof]. One particular approach
is modifying the TCP state machine [I-D.ietf-tcpm-tcpsecure].
2.6. ICMP Attacks
A slightly newer attack is employing ICMP by sending an ICMP type
which indicates a hard error condition. ICMP errors must be
propagated to applications, and most applications heed the errors (as
they should) e.g., by closing a connection or session. ICMP attacks
and defenses against TCP have been extensively described in
[I-D.ietf-tcpm-icmp-attacks].
It is also possible to execute ICMP attacks against other protocols
such as UDP or IPsec, but the impact and whether/how these protocols
demultiplex received errors have not been extensively studied. IPsec
is protected by ICMP attacks through a lot of assumptions (e.g., that
only ICMP errors from the end-point are accepted) or manual
configuration.
3. Typical Protection Mechanisms
We'll describe some of the most common protection or mitigation
techniques applied today.
3.1. Address Filtering
As described in the first section, we already assume that the
internal infrastructure is secure from spoofed messages that purport
to come from inside the infrastructure. More fine-grained, router-
specific filters are sometimes deployed as well.
A functionally similar technique (where available) it to use a
distinct (public) address block for numbering the infrastructure
devices, but not advertise it outside your system. Obviously, this
requires a separate assignment or fragmenting an aggregate prefix.
This does not protect from your customers using a default route.
Savola Expires October 2, 2006 [Page 5]
Internet-Draft Attacks Against Backbone March 2006
3.2. GTSM
GTSM [I-D.ietf-rtgwg-rfc3682bis] is a technique where the sender of a
packet sets the TTL/Hop Count to 255 and the receiver verifies it's
still 255 (or some other preconfigured value). This is a very useful
protection method for control traffic which is inside a single link:
any packets coming from outside the link can summarily be discarded.
The open issue at the moment is how GTSM handles TCP RSTs. I.e.,
should it require that RSTs for a GTSM-enabled session should be sent
with TTL=255 and verified to come with TTL=255 (or a configured
value)? Do implementations already do this? Is there a sensible
transition plan or need to make a change if any? Note that this has
only limited impact on GTSM's security as other TCP RST mitigation
techniques still apply.
We suggest that the GTSM spec is amended that TCP RSTs relating to to
a GTSM-enabled protocol port MUST be sent with TTL=255. (Note that
this will require a kernel modification, and a means to specify to
the kernel which ports relate to GTSM.). The recipients behaviour
SHOULD be configurable, and it is RECOMMENDED that the default be to
discard messages where TTL is not 255 (or 255-TrustRadius).
3.3. TCP-MD5 and Other Custom Authentication
At least BGP and LDP are able to use the TCP-MD5 signature option to
verify the authenticity of control packets. TCP-MD5 uses manually
configured static keys, so changing them typically resets the
protocol session, so the solution is sub-optimal in cases where the
security procedures require that the keys must be easily and often
changeable.
Using TCP-MD5 and other similar authentication mechanisms (e.g., for
IGPs or BFD) also opens an attack vector for cryptographic exhaustion
attacks unless implementations have appropriate mechanisms to
throttle these. In the case of IGPs, the attack vector is typically
smaller though.
3.4. IPsec and IKE
IPsec and IKE have been proposed as a more comprehensive protection
mechanism, but it also requires a lot of heavyweight protocol
machinery, lots of configuration, and cryptographic processing.
4. Protocol Analysis
We'll briefly discuss the protocol-specific attack properties below.
Savola Expires October 2, 2006 [Page 6]
Internet-Draft Attacks Against Backbone March 2006
ICMP attacks apply to all the IP protocols at least to some degree.
There is no reasonable way to appropriately protect from these
attacks by operative methods: the vendors should implement
countermeasures described in [I-D.ietf-tcpm-icmp-attacks] to mitigate
this risk.
4.1. OSPF
In the past, there has already been some analysis of OSPF attacks
[I-D.ietf-rpsec-ospf-vuln]. In this context the most important of
them are: (1) preventing misconfiguration and unauthorized neighbors,
and (2) ensuring off-path directed attacks as described in Section
3.1.2 of [I-D.ietf-rpsec-ospf-vuln].
The former requires configuration change procedures and regular
audits of OSPF configuration, and disabling OSPF adjacencies on
customer-facing links, or adding authentication when there are
multiple routers. The latter requires using OSPF authentication,
dropping all OSPF traffic at all the borders, or moving to another,
less vulnerable protocol (e.g., IS-IS).
OSPF is also used to some degree with provider-provisioned VPNs by
the customers. The author is not familiar with this scenario, so
these threats are not analyzed.
4.2. IS-IS
Routing IP with IS-IS has gained popularity in the backbone networks
lately. As IS-IS does not use IP, it is sufficient to prevent
misconfiguration and unauthorized neighbors. The same techniques
apply as to OSPF: configuration change procedures and regular
configuration audits and disabling IS-IS adjacencies on customer-
facing links, or adding authentication when there are multiple
routers.
4.3. BFD
Bidirectional Forwarding Detection (BFD) detects faults in the
forwarding path between two endpoints. As a generic mechanism, it
can be applied to a number of protocols, e.g., OSPF, IS-IS, BGP,
MPLS, or static routes.
When BFD is in use for a single-hop scenario, it uses GTSM to protect
from off-link attackers. Authentication can also be used e.g., on
untrusted links.
XXX: it's a bit cornercase whether to even include BFD here as it's
not a routing protocol as such; however, as resetting BFD session
Savola Expires October 2, 2006 [Page 7]
Internet-Draft Attacks Against Backbone March 2006
could result in losing a protocol adjacency, it seems a relevant
enough..
4.4. BGP
Internal BGP sessions run between loopback addresses. There is no
need to run TCP-MD5 for outsider protection as address filtering will
avoid TCP RST attacks.
External BGP sessions may run multi-hop between loopback addresses or
single-hop between interface addresses. The latter case is much more
common and easier to protect and applying GTSM provides first-order
resistance to off-link attackers.
In any case, assuming address filtering, the session can only be
reset by the peer, or by attacks from the direction of the peer's
network (e.g., through lack of peer's border filtering). One can
therefore question the necessity of further protection as the peer
can only shoot itself in the foot by killing the BGP session or
allowing the BGP session be killed through negligence.
If the link is not trusted (e.g., in some large Ethernet-based
Internet Exchange points), it may also be desirable ensure that peers
are not able to reset others' sessions, so a mechanism like TCP-MD5
may be appropriate. One should note that the security requirements
are not necessarily very high as the attacker should already be
easily traceable on a single link, and thus re-keying may not be
worth the trouble.
4.5. LDP
TBD -- send text, similar to single-hop BGP?
5. Summary
IGPs require a great deal of care to ensure that they are not enabled
on links where they shouldn't be. Preventing external OSPF attacks
also requires OSPF authentication everywhere or filtering OSPF
packets at the edges.
ICMP attacks are able to cause a great deal of harm to almost all the
protocols, including IPsec, and there is little to do to mitigate the
risk except to implement enhanced ICMP payload verification/
processing techniques. More study of the impact on connectionless
protocols and IPsec should be conducted.
With border address filtering in place, internal sessions are
Savola Expires October 2, 2006 [Page 8]
Internet-Draft Attacks Against Backbone March 2006
reasonably safe. With additional GTSM protection, external private
interconnection links are also reasonably safe, as the session can
only be reset by the neighbor or due to lack of filtering, someone
through the neighbor's network. TCP-MD5 protection is most
appropriate for Internet Exchange points with multiple neighbors or
multihop eBGP sessions, but it's worth remembering that the security
requirements for the solution are not very high as the attackers have
very strict topological restrictions.
IPsec and IKE are obviously an option for heavy-weight protection,
but impractical (yet) due to configuration complexity and processing
overhead. Simplifications in configuration, implementation, and
cryptographic hardware offloading might help the situation for the
cases where the use of heavier protection (e.g., possibly Internet
Exchange points) could be warranted.
6. IANA Considerations
This memo makes no request to IANA.
7. Acknowledgements
George Jones suggested improvements to the initial version of this
draft.
8. Security Considerations
This document is all about security, but the most important issues
that should be noted are its security assumptions:
o There is at least certain degree of address filtering at borders,
else all bets are off.
o Lower-layer attacks are not considered a particular concern for
routing protocols.
o Generic DoS attacks against routers can be mitigated using
implementation-specific measures.
9. References
Savola Expires October 2, 2006 [Page 9]
Internet-Draft Attacks Against Backbone March 2006
9.1. Normative References
[I-D.ietf-opsec-current-practices]
Kaeo, M., "Operational Security Current Practices",
draft-ietf-opsec-current-practices-02 (work in progress),
October 2005.
[I-D.ietf-rpsec-ospf-vuln]
Jones, E. and O. Moigne, "OSPF Security Vulnerabilities
Analysis", draft-ietf-rpsec-ospf-vuln-01 (work in
progress), December 2004.
[I-D.ietf-rpsec-routing-threats]
Barbir, A., Murphy, S., and Y. Yang, "Generic Threats to
Routing Protocols", draft-ietf-rpsec-routing-threats-07
(work in progress), October 2004.
[I-D.ietf-rtgwg-rfc3682bis]
Gill, V., "The Generalized TTL Security Mechanism (GTSM)",
draft-ietf-rtgwg-rfc3682bis-05 (work in progress),
April 2005.
[I-D.ietf-tcpm-icmp-attacks]
Gont, F., "ICMP attacks against TCP",
draft-ietf-tcpm-icmp-attacks-00 (work in progress),
February 2006.
[I-D.ietf-tcpm-tcp-antispoof]
Touch, J., "Defending TCP Against Spoofing Attacks",
draft-ietf-tcpm-tcp-antispoof-03 (work in progress),
February 2006.
[RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering:
Defeating Denial of Service Attacks which employ IP Source
Address Spoofing", BCP 38, RFC 2827, May 2000.
[RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed
Networks", BCP 84, RFC 3704, March 2004.
9.2. Informative References
[I-D.ietf-opsec-filter-caps]
Morrow, C., "Filtering Capabilities for IP Network
Infrastructure", draft-ietf-opsec-filter-caps-00 (work in
progress), October 2005.
[I-D.ietf-tcpm-tcpsecure]
Stewart, R. and M. Dalal, "Improving TCP's Robustness to
Savola Expires October 2, 2006 [Page 10]
Internet-Draft Attacks Against Backbone March 2006
Blind In-Window Attacks", draft-ietf-tcpm-tcpsecure-04
(work in progress), February 2006.
[I-D.zinin-rtg-dos]
Zinin, A., "Protecting Internet Routing Infrastructure
from Outsider DoS Attacks", draft-zinin-rtg-dos-02 (work
in progress), May 2005.
Author's Address
Pekka Savola
CSC/FUNET
Espoo
Finland
Email: psavola@funet.fi
Savola Expires October 2, 2006 [Page 11]
Internet-Draft Attacks Against Backbone March 2006
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Savola Expires October 2, 2006 [Page 12]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/