draft-ietf-idr-route-leak-detection-mitigation-07.txt   draft-ietf-idr-route-leak-detection-mitigation-08.txt 
IDR and SIDR K. Sriram IDR and SIDR K. Sriram
Internet-Draft D. Montgomery Internet-Draft D. Montgomery
Intended status: Standards Track US NIST Intended status: Standards Track USA NIST
Expires: March 10, 2018 B. Dickson Expires: September 6, 2018 B. Dickson
K. Patel K. Patel
Arrcus Arrcus
A. Robachevsky A. Robachevsky
Internet Society Internet Society
September 6, 2017 March 5, 2018
Methods for Detection and Mitigation of BGP Route Leaks Methods for Detection and Mitigation of BGP Route Leaks
draft-ietf-idr-route-leak-detection-mitigation-07 draft-ietf-idr-route-leak-detection-mitigation-08
Abstract Abstract
RFC 7908 provides a definition of the route leak problem, and also Problem definition for route leaks and enumeration of types of route
enumerates several types of route leaks. This document first leaks are provided in RFC 7908. This document specifies BGP
examines which of those route-leak types are detected and mitigated enhancements that significantly extend its route-leak detection and
by the existing origin validation (OV) [RFC 6811]. It is recognized mitigation capabilities. The solution involves carrying a per-hop
that OV offers a limited detection and mitigation capability against
route leaks. This document specifies enhancements that significantly
extend the route-leak prevention, detection, and mitigation
capabilities of BGP. One solution component involves intra-AS
messaging from ingress router to egress router using a BGP Community
or Attribute. This intra-AS messaging prevents the AS from causing
route leaks. Another solution component involves carrying a per-hop
route-leak protection (RLP) field in BGP updates. The RLP fields are route-leak protection (RLP) field in BGP updates. The RLP fields are
proposed to be carried in a new optional transitive attribute, called carried in a new optional transitive attribute, called BGP RLP
BGP RLP attribute. The RLP attribute helps with detection and attribute. The RLP attribute helps with detection and mitigation of
mitigation of route leaks at ASes downstream from the leaking AS. route leaks at ASes downstream from the leaking AS (in the path of
BGP update). This is an inter-AS (multi-hop) solution mechanism.
This solution complements the intra-AS (local AS) route-leak
avoidance solution that is described in ietf-idr-bgp-open-policy
draft.
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 10, 2018.
This Internet-Draft will expire on September 6, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Related Prior Work . . . . . . . . . . . . . . . . . . . . . 4 2. Rote-Leak Types that the Solution Must Address . . . . . . . 4
3. Do Origin Validation and BGPsec Assist in Route-Leak 3. Mechanisms for Detection and Mitigation of Route Leaks . . . 6
Detection? . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Ascertaining Peering Relationship . . . . . . . . . . . . 6
4. Mechanisms for Prevention, Detection and Mitigation of Route 3.2. Route-Leak Protection (RLP) Field Encoding by Sending
Leaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Router . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Ascertaining Peering Relationship . . . . . . . . . . . . 6 3.2.1. BGP RLP Attribute . . . . . . . . . . . . . . . . . . 9
4.2. Prevention of Route Leaks at Local AS: Intra-AS Messaging 7 3.2.2. Carrying RLP Field Values in the BGPsec Flags . . . . 9
4.2.1. Non-Transitive BGP Community for Intra-AS Messaging . 7 3.3. Recommended Actions at a Receiving Router for Detection
4.2.2. Non-Transitive BGP pRLP Attribute for Intra-AS of Route Leaks . . . . . . . . . . . . . . . . . . . . . 10
Messaging . . . . . . . . . . . . . . . . . . . . . . 8 3.4. Possible Actions at a Receiving Router for Mitigation . . 10
4.3. Route-Leak Protection (RLP) Field Encoding by Sending 4. Security Considerations . . . . . . . . . . . . . . . . . . . 11
Router . . . . . . . . . . . . . . . . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
4.3.1. BGP RLP Attribute . . . . . . . . . . . . . . . . . . 10 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.2. Carrying RLP Field Values in the BGPsec Flags . . . . 11 6.1. Normative References . . . . . . . . . . . . . . . . . . 11
4.4. Recommended Actions at a Receiving Router for Detection 6.2. Informative References . . . . . . . . . . . . . . . . . 11
of Route Leaks . . . . . . . . . . . . . . . . . . . . . 11 Appendix A. Related Prior Work . . . . . . . . . . . . . . . . . 16
4.5. Possible Actions at a Receiving Router for Mitigation . . 12 Appendix B. Prevention of Route Leaks at Local AS: Intra-AS
5. Stopgap Solution when Only Origin Validation is Deployed . . 12 Messaging . . . . . . . . . . . . . . . . . . . . . 16
6. Design Rationale and Discussion . . . . . . . . . . . . . . . 13 B.1. Non-Transitive BGP Community for Intra-AS Messaging . . . 16
6.1. Is route-leak solution without cryptographic protection a Appendix C. Stopgap Solution when Only Origin Validation is
serious attack vector? . . . . . . . . . . . . . . . . . 13 Deployed . . . . . . . . . . . . . . . . . . . . . . 17
6.2. Combining results of route-leak detection, OV and BGPsec Appendix D. Design Rationale and Discussion . . . . . . . . . . 18
validation for path selection decision . . . . . . . . . 15 D.1. Is route-leak solution without cryptographic protection a
6.3. Are there cases when valley-free violations can be serious attack vector? . . . . . . . . . . . . . . . . . 18
considered legitimate? . . . . . . . . . . . . . . . . . 15 D.2. Combining results of route-leak detection, OV and BGPsec
6.4. Comparison with other methods (routing security BCPs) . . 16 validation for path selection decision . . . . . . . . . 20
6.5. Per-Hop RLP Field or Single RLP Flag per Update? . . . . 16 D.3. Are there cases when valley-free violations can be
7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 considered legitimate? . . . . . . . . . . . . . . . . . 20
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 D.4. Comparison with other methods (routing security BCPs) . . 21
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 D.5. Per-Hop RLP Field or Single RLP Flag per Update? . . . . 21
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
10.1. Normative References . . . . . . . . . . . . . . . . . . 19 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 23
10.2. Informative References . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24
1. Introduction 1. Introduction
[RFC7908] provides a definition of the route leak problem, and also RFC 7908 [RFC7908] provides a definition of the route leak problem,
enumerates several types of route leaks. This document first and also enumerates several types of route leaks. This document
examines which of those route-leak types are detected and mitigated first examines which of those route-leak types are detected and
by the existing Origin Validation (OV) [RFC6811] method. OV and mitigated by the existing Origin Validation (OV) [RFC6811] method.
BGPsec path validation [I-D.ietf-sidr-bgpsec-protocol] together offer OV [RFC6811] and BGPsec path validation [RFC8205] together offer
mechanisms to protect against re-originations and hijacks of IP mechanisms to protect against re-originations and hijacks of IP
prefixes as well as man-in-the-middle (MITM) AS path modifications. prefixes as well as man-in-the-middle (MITM) AS path modifications.
Route leaks (see [RFC7908] and references cited at the back) are Route leaks [RFC7908] are another type of vulnerability in the global
another type of vulnerability in the global BGP routing system BGP routing system against which OV offers very limited protection.
against which OV offers only partial protection. BGPsec (i.e. path BGPsec path validation provides cryptographic protection for some
validation) provides cryptographic protection for some aspects of BGP aspects of BGP update messages, but in its current form BGPsec does
update messages, but in its current form BGPsec doesn't offer any not offer any protection against route leaks.
protection against route leaks.
For the types of route leaks enumerated in [RFC7908], where the OV For the types of route leaks enumerated in RFC 7908 [RFC7908], where
method does not offer a solution, this document specifies the OV method does not offer a solution, this document specifies BGP
enhancements that significantly extend the route-leak prevention, enhancements that significantly extend its route-leak detection and
detection, and mitigation capabilities of BGP. One solution mitigation capabilities. The solution involves carrying a per-hop
component involves intra-AS messaging from ingress router to egress route-leak protection (RLP) field in BGP updates. The RLP fields are
router using a BGP Community or Attribute. This intra-AS messaging carried in a new optional transitive attribute, called BGP RLP
prevents the AS from causing route leaks. Another solution component attribute. The RLP attribute helps with detection and mitigation of
involves carrying a per-hop route-leak protection (RLP) field in BGP route leaks at ASes downstream from the leaking AS (in the path of
updates. The RLP fields are proposed to be carried in a new optional BGP update). This is an inter-AS (multi-hop) solution mechanism.
transitive attribute, called BGP RLP attribute. The RLP attribute This solution complements the intra-AS (local AS) route-leak
helps with detection and mitigation of route leaks at ASes downstream avoidance solution that is described in
from the leaking AS. [I-D.ietf-idr-bgp-open-policy].
The solution is meant to be initially implemented as an enhancement The RLP mechanism is backward compatible with BGP routers that are
of BGP without requiring BGPsec. However, when BGPsec is deployed in not upgraded to perform RLP. Early adopters would see significant
the future, the solution can be incorporated in BGPsec, enabling benefits. If a group of big ISPs deploy RLP, then they would be
cryptographic protection for the RLP field. That would be one way of helping each other by blocking route leaks originated within one's
implementing the proposed solution in a secure way. It is not customer cone from propagating into a peer's AS or their customer
claimed that the solution detects all possible types of route leaks cone. The intra-AS (local AS) route-leak avoidance solution
but it detects several types, especially considering some significant [I-D.ietf-idr-bgp-open-policy] works to prevent a local AS from
route-leak occurrences that have been observed in recent years. The leaking routes but requires 100% deployment in order to prevent
document also includes a stopgap method (in Section 5) for detection propagation of route leaks across AS boundaries. Hence, the inter-AS
and mitigation of route leaks for an intermediate phase when OV is RLP solution (this document) and the intra-AS solution
deployed but BGP protocol on the wire is unchanged. [I-D.ietf-idr-bgp-open-policy] are complementary.
2. Related Prior Work The inter-AS RLP solution is meant to be initially implemented as an
enhancement of BGP without requiring BGPsec. However, when BGPsec is
deployed in the future, the solution should be incorporated in
BGPsec, enabling cryptographic protection for the RLP fields. That
is one way of securing the solution against malicious route leaks.
A mechanism embodied in the proposed solution is based on setting an It is not claimed that the RLP solution detects all possible types of
attribute in BGP route announcement to manage the transmission/ route leaks [RFC7908], but it detects several types (see Section 2),
receipt of the announcement based on the type of neighbor (e.g. especially considering some significant route-leak occurrences that
customer, transit provider, etc.). Documented prior work related to have been observed in recent years. The RLP solution mechanism is
said basic idea and mechanism dates back to at least the 1980's. described in Section 3. A review of related prior work is presented
Some examples of prior work are: (1) Information flow rules described in Appendix A. An intra-AS route-leak prevention method using BGP
in [proceedings-sixth-ietf] (see pp. 195-196); (2) Link Type Community is discussed in Appendix B. The document also includes a
described in [RFC1105-obsolete] (see pp. 4-5); (3) Hierarchical stopgap method for detection and mitigation of route leaks for an
Recording described in [draft-kunzinger-idrp-ISO10747-01] (see intermediate phase when OV is deployed but BGP protocol on the wire
Section 6.3.1.12). The problem of route leaks and possible solution is unchanged (see Appendix C). Design rationale and discussion are
mechanisms based on encoding peering-link type information, e.g. P2C presented in Appendix D.
(i.e. Transit-Provider to Customer), C2P (i.e. Customer to Transit-
Provider), p2p (i.e. peer to peer) etc., in BGPsec updates and
protecting the same under BGPsec path signatures have been discussed
in IETF SIDR WG at least since 2011.
[draft-dickson-sidr-route-leak-solns] attempted to describe these
mechanisms in a BGPsec context. The draft expired in 2012.
[draft-dickson-sidr-route-leak-solns] defined neighbor relationships
on a per link basis, but in the current document the relationship is
encoded per prefix, as routes for prefixes with different peering
relationships may be sent over the same link. Also
[draft-dickson-sidr-route-leak-solns] proposed a second signature
block for the link type encoding, separate from the path signature
block in BGPsec. By contrast, in the current document when BGPsec-
based solution is considered, cryptographic protection is provided
for Route-Leak Protection (RLP) encoding using the same signature
block as that for path signatures (see Section 4.3.2).
3. Do Origin Validation and BGPsec Assist in Route-Leak Detection? 2. Rote-Leak Types that the Solution Must Address
Referring to the enumeration of route leaks discussed in [RFC7908], Referring to the enumeration of route leaks discussed in [RFC7908],
Table 1 summarizes the route-leak detection capability offered by OV Table 1 summarizes the route-leak detection capability offered by OV
and BGPsec for different types of route leaks. (Note: Prefix and BGPsec for different types of route leaks.
filtering is not considered here in this table. Please see
Section 5.)
A detailed explanation of the contents of Table 1 is as follows. It A detailed explanation of the contents of Table 1 is as follows. It
is readily observed that route leaks of Types 1, 2, 3, and 4 are not is readily observed that route leaks of Types 1, 2, 3, and 4 are not
detected by OV or BGPsec in its current form. Clearly, Type 5 route detected by OV or BGPsec in its current form. Clearly, Type 5 route
leak involves re-origination or hijacking, and hence can be detected leak involves re-origination or hijacking, and hence can be detected
by OV. In the case of Type 5 route leak, there would be no existing by OV. In the case of Type 5 route leak, there would be no existing
ROAs to validate a re-originated prefix or more specific, but instead ROAs to validate a re-originated prefix or more specific, but instead
a covering ROA would normally exist with the legitimate AS, and hence a covering ROA would normally exist with the legitimate AS, and hence
the update will be considered Invalid by OV. the update will be considered Invalid by OV.
skipping to change at page 5, line 44 skipping to change at page 5, line 44
+---------------------------------+---------------------------------+ +---------------------------------+---------------------------------+
Table 1: Examination of Route-Leak Detection Capability of Origin Table 1: Examination of Route-Leak Detection Capability of Origin
Validation and Current BGPsec Path Validation Validation and Current BGPsec Path Validation
In the case of Type 6 leaks involving internal prefixes that are not In the case of Type 6 leaks involving internal prefixes that are not
meant to be routed in the Internet, they are likely to be detected by meant to be routed in the Internet, they are likely to be detected by
OV. That is because such prefixes might either have no covering ROA OV. That is because such prefixes might either have no covering ROA
or have an AS0-ROA to always filter them. In the case of Type 6 or have an AS0-ROA to always filter them. In the case of Type 6
leaks that are due to accidental leak of more specifics, they may be leaks that are due to accidental leak of more specifics, they may be
detected due to violation of ROA maxLength. BGPsec (i.e. path detected due to violation of ROA maxLength. BGPsec (i.e., path
validation) in its current form does not detect Type 6. However, validation) in its current form does not detect Type 6. However,
route leaks of Type 6 are least problematic due to the following route leaks of Type 6 are least problematic due to the following
reasons. In the case of leak of more specifics, the offending AS is reasons. In the case of leak of more specifics, the offending AS is
itself the legitimate destination of the leaked more-specific itself the legitimate destination of the leaked more-specific
prefixes. Hence, in most cases of this type, the data traffic is prefixes. Hence, in most cases of this type, the data traffic is not
neither misrouted not denied service. Also, leaked announcements of misrouted. Also, leaked announcements of Type 6 are short-lived and
Type 6 are short-lived and typically withdrawn quickly following the typically withdrawn quickly following the announcements. Further,
announcements. Further, the MaxPrefix limit may kick-in in some the MaxPrefix limit may kick-in in some receiving routers and that
receiving routers and that helps limit the propagation of sometimes helps limit the propagation of sometimes large number of leaked
large number of leaked routes of Type 6. routes of Type 6.
Realistically, BGPsec may take a much longer time being deployed than Realistically, BGPsec may take a much longer time being deployed than
OV. Hence solution proposals for route leaks should consider both OV. Hence, solution proposals for route leaks should consider both
scenarios: (A) OV only (without BGPsec) and (B) OV plus BGPsec. scenarios: (A) OV only (without BGPsec) and (B) OV plus BGPsec.
Assuming an initial scenario A, and based on the above discussion and Assuming an initial scenario A, and based on the above discussion and
Table 1, it is evident that the solution method should focus Table 1, it is evident that the solution method should focus
primarily on route leaks of Types 1, 2, 3, and 4. primarily on route leaks of Types 1, 2, 3, and 4.
4. Mechanisms for Prevention, Detection and Mitigation of Route Leaks 3. Mechanisms for Detection and Mitigation of Route Leaks
There are two considerations for route leaks: (1) Prevention of route There are two considerations for route leaks: (1) Prevention of route
leaks from a local AS, and (2) Detection and mitigation of route leaks from a local AS [I-D.ietf-idr-bgp-open-policy], and (2)
leaks in ASes that are downstream from the leaking AS. Detection and mitigation of route leaks in ASes that are downstream
from the leaking AS (in the path of BGP update). This document
In Section 4.1, the method of ascertaining peering relationship per focuses on the latter, and the details of the mechanism are described
prefix is described. Section 4.2 describes intra-AS messaging in this section.
methods for prevention of route leaks from local AS. Section 4.3 and
Section 4.4 describe a simple addition to BGP that facilitates
detection and mitigation of route leaks of Types 1, 2, 3, and 4 (see
Section 3) at an downstream AS from the leaking AS.
4.1. Ascertaining Peering Relationship 3.1. Ascertaining Peering Relationship
There are four possible peering relationships (i.e. roles) an AS can There are four possible peering relationships (i.e., roles) an AS can
have with a neighbor AS: (1) Provider: transit-provider for all have with a neighbor AS: (1) Provider: transit-provider for all
prefixes exchanged, (2) Customer: customer for all prefixes prefixes exchanged, (2) Customer: customer for all prefixes
exchanged, (3) Lateral Peer: lateral peer (i.e. non-transit) for all exchanged, (3) Lateral Peer: lateral peer (i.e., non-transit) for all
prefixes exchanged, and (4) Complex: different relationships for prefixes exchanged, and (4) Complex: different relationships for
different sets of prefixes [Luckie]. On a per-prefix basis, the different sets of prefixes [Luckie]. On a per-prefix basis, the
peering role types simplify to provider, customer, or lateral peer. peering role types simplify to provider, customer, or lateral peer.
Operators rely on some form of out-of-band (OOB) (i.e. external to Operators rely on some form of out-of-band (OOB) (i.e., external to
BGP) communication to exchange information about their peering BGP) communication to exchange information about their peering
relationship, AS number, interface IP address, etc. If the relationship, AS number, interface IP address, etc. If the
relationship is complex, the OOB communication also includes the sets relationship is complex, the OOB communication also includes the sets
of prefixes for which they have different roles. of prefixes for which they have different roles.
[I-D.ietf-idr-bgp-open-policy] introduces a method of re-confirming [I-D.ietf-idr-bgp-open-policy] introduces a method of re-confirming
the BGP Role during BGP OPEN messaging (except when the role is the BGP Role during BGP OPEN messaging (except when the role is
complex). It defines a new BGP Role capability, which helps in re- complex). It defines a new BGP Role capability, which helps in re-
confirming the relationship when it is provider, customer, or lateral confirming the relationship when it is provider, customer, or lateral
peer. BGP Role does not replace the OOB communication since it peer. BGP Role does not replace the OOB communication since it
relies on the OOB communication to set the role type in the BGP OPEN relies on the OOB communication to set the role type in the BGP OPEN
message. However, BGP Role provides a means to double check, and if message. However, BGP Role provides a means to double check, and if
there is a contradiction detected via the BGP Role messages, then a there is a contradiction detected via the BGP Role messages, then a
Role Mismatch Notification is sent [I-D.ietf-idr-bgp-open-policy]. Role Mismatch Notification is sent [I-D.ietf-idr-bgp-open-policy].
When the BGP relationship information has been correctly exchanged When the BGP relationship information has been correctly exchanged
(i.e. free of contradictions) including the sets of prefixes with (i.e., free of contradictions) including the sets of prefixes with
different roles (if complex), then this information SHOULD be used to different roles (if complex), then this information SHOULD be used to
set the role per-prefix with each peer. For example, if the local set the role per-prefix with each peer. For example, if the local
AS's role is Provider with a neighbor AS, then the per-prefix role is AS's role is Provider with a neighbor AS, then the per-prefix role is
set to 'Provider' for all prefixes sent to the neighbor, and set to set to 'Provider' for all prefixes sent to the neighbor, and set to
'Customer' for all prefixes received from the neighbor. 'Customer' for all prefixes received from the neighbor.
4.2. Prevention of Route Leaks at Local AS: Intra-AS Messaging Once the per-prefix roles are set, this information is used in the
RLP solution mechanism that is described in Section 3.2 and
Note: The intra-AS messaging for route leak prevention can be done Section 3.3.
using non-transitive BGP Community or Attribute. Both options are
described below; one of them will be chosen after IDR working group
consensus is established.
4.2.1. Non-Transitive BGP Community for Intra-AS Messaging
The following procedure (or similar) for intra-AS messaging (i.e.
between ingress and egress routers) for prevention of route leaks is
a fairly common practice used by large ISPs. (Note: This information
was gathered from discussions on the NANOG mailing list
[Nanog-thread-June2016] as well as through private discussions with
operators of large ISP networks.)
Routes are tagged on ingress to an AS with communities for origin,
including the type of eBGP peer it was learned from (customer,
provider or lateral peer), geographic location, etc. The community
attributes are carried across the AS with the routes. Routes that
the AS originates directly are tagged with similar origin communities
when they are redistributed into BGP from static, IGP, etc. These
communities are used along with additional logic in route policies to
determine which routes are to be announced to which eBGP peers and
which are to be dropped. Route policy is applied to eBGP sessions
based on what set of routes they should receive (transit, full
routes, internal-only, default-only, etc.). In this process, the
ISP's AS also ensures that routes learned from a transit-provider or
a lateral peer (i.e. non-transit) at an ingress router are not leaked
at an egress router to another transit-provider or lateral peer.
Additionally, in many cases, ISP network operators' outbound policies
require explicit matches for expected communities before passing
routes. This helps ensure that that if an update has made it into
the routing table (i.e. RIB) but has missed its ingress community
tagging (due to a missing/misapplied ingress policy), it will not be
inadvertently leaked.
The above procedure (or a simplified version of it) is also
applicable when an AS consists of a single eBGP router. It is
recommended that all AS operators SHOULD implement the procedure
described above (or similar that is appropriate for their network) to
prevent route leaks that they have direct control over.
4.2.2. Non-Transitive BGP pRLP Attribute for Intra-AS Messaging
It is possible to use an optional non-transitive BGP Attribute
instead of the Community described above for intra-AS messaging for
route leak prevention. The following description would be used in
case the IDR working group decides on using a BGP Attribute.
A new optional non-transitive BGP Attribute called Preventive Route
Leak Protection (pRLP) is used. The attribute type code for the pRLP
attribute is to be assigned by IANA. The length of this attribute is
0 as it is used only as a flag.
Ingress (receiving) router action: The decision to set or not set the
pRLP flag is made by a receiving router upon a route ingress. The
flag is set when the route is received from a provider or a lateral
peer. The flag is not set when the route is received from a
customer. When the relationship is complex, the flag is set based on
the per-prefix peering role information (see Section 4.1).
Egress (sending) router action: A sending router is allowed to send a
route without the pRLP flag to any neighbor (transit-provider,
customer, lateral peer). However, if the pRLP flag is present, then
the route MUST NOT be sent to a transit-provider or a lateral peer.
An AS that follows the above set of receiver (ingress) and sender
(egress) actions, prevents itself from causing route leaks.
4.3. Route-Leak Protection (RLP) Field Encoding by Sending Router
This section, Section 4.4 and Section 4.5 describe methods of 3.2. Route-Leak Protection (RLP) Field Encoding by Sending Router
detection and mitigation of route leaks in an AS downstream from the
leaking AS.
The key principle is that, in the event of a route leak, a receiving The key principle is that, in the event of a route leak, a receiving
router in a transit-provider AS (e.g. referring to Figure 1, ISP2 router in a transit-provider AS (e.g., referring to Figure 1, ISP2
(AS2) router) should be able to detect from the update message that (AS2) router) should be able to detect from the update message that
its customer AS (e.g. AS3 in Figure 1) SHOULD NOT have forwarded the its customer AS (e.g., AS3 in Figure 1) should not have forwarded the
update (towards the transit-provider AS). This means that at least update (towards the transit-provider AS). This means that at least
one of the ASes in the AS path of the update has indicated that it one of the ASes in the AS path of the update signaled that it sent
sent the update to its customer or lateral (i.e. non-transit) peer, the update to its customer or lateral peer, but forbade any
but forbade any subsequent 'Up' forwarding (i.e. from a customer AS subsequent 'Up' (customer to provider) or 'Lateral' (peer to peer)
to its transit-provider AS). For this purpose, a Route-Leak forwarding. This signaling is achieved by a Route-Leak Protection
Protection (RLP) field to be set by a sending router is proposed to (RLP) field as described below.
be used for each AS hop.
/\ /\ /\ /\
\ route-leak(P)/ \ route-leak(P)/
\ propagated / \ propagated /
\ / \ /
+------------+ peer +------------+ +------------+ peer +------------+
______| ISP1 (AS1) |----------->| ISP2 (AS2)|----------> ______| ISP1 (AS1) |----------->| ISP2 (AS2)|---------->
/ ------------+ prefix(P) +------------+ route-leak(P) / ------------+ prefix(P) +------------+ route-leak(P)
| prefix | \ update /\ \ propagated | prefix | \ update /\ \ propagated
\ (P) / \ / \ \ (P) / \ / \
------- prefix(P) \ / \ ------- prefix(P) \ / \
update \ / \ update \ / \
\ /route-leak(P) \/ \ /route-leak(P) \/
\/ / \/ /
+---------------+ +---------------+
| customer(AS3) | | customer(AS3) |
+---------------+ +---------------+
Figure 1: Illustration of the basic notion of a route leak. Figure 1: Illustration of the basic notion of a route leak.
For the purpose of route-leak detection and mitigation proposed in For the purpose of route-leak detection and mitigation, the RLP field
this document, the RLP field value SHOULD be set to one of two values value MUST be set to one of two values as follows:
as follows:
o 0: This is the default value (i.e. "nothing specified"),
o 0: This is the default value (i.e., "nothing specified"),
o 1: This is the 'Do not Propagate Up or Lateral' indication; sender o 1: This is the 'Do not Propagate Up or Lateral' indication; sender
indicating that the route SHOULD NOT be forwarded 'Up' towards a indicating that the route must not be forwarded 'Up' towards a
transit-provider AS or to a lateral (i.e. non-transit) peer AS. transit-provider AS or to a lateral (i.e., non-transit) peer AS.
The RLP indications SHOULD be set on a per prefix basis. This is The RLP indications are set on a per prefix basis. This is because
because some peering relations between neighbors can be complex (see some peering relations between neighbors can be complex (see
Section 4.1). Further, the RLP indications are set on a per-hop Section 3.1). Further, the RLP indications are also set on a per hop
(i.e. per AS) basis. (i.e., per AS) basis.
There are two different scenarios when a sending AS SHOULD set value There are two different scenarios when a sending AS MUST set value 1
1 in the RLP field: (a) when sending the update to a customer AS, and in the RLP field: (a) when sending the update to a customer AS, and
(b) when sending the update to a lateral peer (i.e. non-transit) AS. (b) when sending the update to a lateral peer (i.e., non-transit) AS.
In essence, in both scenarios, the intent of RLP = 1 is that the In essence, in both scenarios, the intent of RLP = 1 is that the
neighbor AS and any receiving AS along the subsequent AS path SHOULD neighbor AS and any receiving AS along the subsequent AS path SHOULD
NOT forward the update 'Up' towards its (receiving AS's) transit- NOT forward the update 'Up' towards its (receiving AS's) transit-
provider AS or laterally towards its peer (i.e. non-transit) AS. provider AS or laterally towards its peer AS.
When sending an update 'Up' to a transit-provider AS, the RLP When sending an update 'Up' to a transit-provider AS, the RLP
encoding SHOULD be set to the default value of 0. When a sending AS encoding MUST be set to the default value of 0. When a sending AS
sets the RLP encoding to 0, it is indicating to the receiving AS that sets the RLP encoding to 0, it is indicating to the receiving AS that
the update can be propagated in any direction (i.e. towards transit- the update can be propagated in any direction (i.e., towards transit-
provider, customer, or lateral peer). provider, customer, or lateral peer).
The two-state specification in the RLP field (as described above) The two-state specification in the RLP field (as described above)
works for detection and mitigation of route leaks of Types 1, 2, 3, works for detection and mitigation of route leaks of Types 1, 2, 3,
and 4 which are the focus here (see Section 4.4 and Section 4.5). and 4 which are the focus here (see Section 3.3 and Section 3.4).
An AS MUST NOT rewrite/reset the values set by any preceding ASes in An AS MUST NOT rewrite/reset the values set by any preceding ASes in
their respective RLP fields. their respective RLP fields.
The proposed RLP encoding SHOULD be carried in BGP-4 [RFC4271] The RLP encoding MUST be carried in BGP-4 [RFC4271] updates in a new
updates in a new BGP optional transitive attribute (see BGP optional transitive attribute (see Section 3.2.1). In BGPsec, it
Section 4.3.1). In BGPsec, it SHOULD be carried in the Flags field must be carried in the Flags field (see Section 3.2.2).
(see Section 4.3.2).
4.3.1. BGP RLP Attribute In partial deployment, there may be eBGP routers in the AS path that
are not upgraded and hence do not participate in RLP. However, the
RLP mechanism is backward compatible. Participating ASes can detect
and mitigate route leaks while ASes not upgraded to do RLP would
likely allow route leaks to propagate. If big ISPs deploy RLP, then
they would be helping each other by not allowing route leaks
originated within one's customer cone to propagate into another's AS
or their customer cone. This accords significant benefit to early
adopters.
3.2.1. BGP RLP Attribute
The BGP RLP attribute is a new BGP optional transitive attribute. The BGP RLP attribute is a new BGP optional transitive attribute.
The attribute type code for the RLP attribute is to be assigned by The attribute type code for the RLP attribute is to be assigned by
IANA. The length field of this attribute is 2 octets. The value IANA. The length field of this attribute is 2 octets. The value
field of the RLP attribute is defined as a set of one or more pairs field of the RLP attribute is defined as a set of one or more pairs
of ASN (4 octets) and RLP (one octet) fields as described below of ASN (4 octets) and RLP (one octet) fields as described below
(Figure 2). (Figure 2).
+-----------------------+ -\ +-----------------------+ -\
| ASN: N | | | ASN: N | |
skipping to change at page 10, line 48 skipping to change at page 9, line 36
Figure 2: BGP RLP Attribute format. Figure 2: BGP RLP Attribute format.
The RLP Attribute value is a sequence of these two components (see The RLP Attribute value is a sequence of these two components (see
Figure 2): Figure 2):
ASN: Four octets encoding the public registered AS number of a BGP ASN: Four octets encoding the public registered AS number of a BGP
speaker. speaker.
RLP Field: One octet encoding the RLP Field bits. The value of the RLP Field: One octet encoding the RLP Field bits. The value of the
RLP Field octet can be 0 (decimal) or 1 (decimal) as described above RLP Field octet can be 0 (decimal) or 1 (decimal) as described above
in Section 4.3.1. Its usage will be further discussed in subsequent in Section 3.2.1. Its usage will be further discussed in subsequent
sections. sections.
If all ASes in the AS_PATH of a route are upgraded to participate in If all ASes in the AS_PATH of a route are upgraded to participate in
RLP, then the ASNs in the RLP TLV in Figure 2 will correspond one-to- RLP, then the ASNs in the RLP TLV in Figure 2 will correspond one-to-
one with sequence of ASes in the AS_PATH (excluding prepends). If one with sequence of ASes in the AS_PATH (excluding prepends). If
some ASes do not participate, then one or more {ASN, RLP} tuples may some ASes do not participate, then one or more {ASN, RLP} tuples may
be missing in the RLP attribute relative to the AS_PATH. be missing in the RLP attribute relative to the AS_PATH.
4.3.2. Carrying RLP Field Values in the BGPsec Flags 3.2.2. Carrying RLP Field Values in the BGPsec Flags
In BGPsec enabled routers, the RLP encoding SHOULD be accommodated in In BGPsec-enabled routers that are also performing RLP, the RLP
the existing Flags field in BGPsec updates. The Flags field is part encoding MUST be accommodated in the existing Flags field in BGPsec
of the Secure_Path Segment in BGPsec updates updates. The Flags field is part of the Secure_Path Segment in
[I-D.ietf-sidr-bgpsec-protocol]. It is one octet long, and one Flags BGPsec updates [RFC8205]. It is one octet long, and one Flags field
field is available for each AS hop, and currently only the first bit is available for each AS hop, and currently only the first bit is
is used in BGPsec. So there are 7 bits that are currently unused in used in BGPsec. So, there are 7 bits that are currently unused in
the Flags field. One of these bits can be designated for the RLP the Flags field. One of these bits can be designated for the RLP
field value (see Section 4.3.1). This bit can be set to 0 when the field value (see Section 3.2.1). This bit can be set to 0 when the
RLP Field value is 0 and set to 1 when the RLP Field value is 1. RLP Field value is 0 and set to 1 when the RLP Field value is 1.
Since the BGPsec protocol specification requires a sending AS to Since the BGPsec protocol specification requires a sending AS to
include the Flags field in the data that are signed over, the RLP include the Flags field in the data that are signed over, the RLP
field for each hop (assuming it would be part of the Flags field as field for each hop (assuming it would be part of the Flags field as
described) will be protected under the sending AS's signature. described) will be protected under the sending AS's signature.
4.4. Recommended Actions at a Receiving Router for Detection of Route 3.3. Recommended Actions at a Receiving Router for Detection of Route
Leaks Leaks
The following receiver algorithm is RECOMMENDED for detecting route The following receiver algorithm is RECOMMENDED for detecting route
leaks: leaks:
A receiving router MUST mark an update as a 'Route Leak' if ALL of A receiving router MUST mark an update as a 'Route Leak' if ALL of
the following conditions hold true: the following conditions hold true:
1. The update is received from a customer or lateral peer AS. 1. The update is received from a customer or lateral peer AS.
2. The update has the RLP Field set to 1 (i.e. 'Do not Propagate Up 2. The update has the RLP Field set to 1 (i.e., 'Do not Propagate Up
or Lateral') indication for one or more hops (excluding the most or Lateral') indication for one or more hops (excluding the most
recent) in the AS path. recent) in the AS path.
The reason for stating "excluding the most recent" in the above The reason for stating "excluding the most recent" in the above
algorithm is as follows. An ISP should look at RLP values set by algorithm is as follows. An ISP should look at RLP values set by
ASes preceding the immediate sending AS in order to ascertain a leak. ASes preceding the immediate sending AS in order to ascertain a leak.
The receiving router already knows that the most recent hop in the The receiving router already knows that the most recent hop in the
update is from its customer or lateral-peer AS to itself, and it does update is from its customer or lateral-peer AS to itself, and it does
not need to rely on the RLP field value set by that AS (i.e the not need to rely on the RLP field value set by that AS (i.e., the
immediate neighbor AS in the AS path) for detection of route leaks. immediate neighbor AS in the AS path) for detection of route leaks.
If the RLP encoding is secured by BGPsec (see Section 4.3) and hence If the RLP encoding is secured by BGPsec (see Section 3.2) and hence
protected against tampering by intermediate ASes, then there would be protected against tampering by intermediate ASes, then there would be
added certainty in the route-leak detection algorithm described above added certainty in the route-leak detection algorithm described above
(see discussions in Section 6.1 and Section 6.2). (see discussions in Appendix D.1 and Appendix D.2).
4.5. Possible Actions at a Receiving Router for Mitigation 3.4. Possible Actions at a Receiving Router for Mitigation
After applying the above detection algorithm, a receiving router may After applying the above detection algorithm, a receiving router may
use any policy-based algorithm of its own choosing to mitigate any use any policy-based algorithm of its own choosing to mitigate any
detected route leaks. An example receiver algorithm for mitigating a detected route leaks. An example receiver algorithm for mitigating a
route leak is as follows: route leak is as follows:
o If an update from a customer or lateral peer AS is marked as a o If an update from a customer or lateral peer AS is marked as a
'Route Leak' (see Section 4.4), then the receiving router SHOULD 'Route Leak' (see Section 3.3), then the receiving router SHOULD
prefer an alternate unmarked route. prefer an alternate unmarked route.
o If no alternate unmarked route is available, then a route marked o If no alternate unmarked route is available, then a route marked
as a 'Route Leak' MAY be accepted. as a 'Route Leak' MAY be accepted.
A basic principle here is that if an AS receives and marks a customer A basic principle here is that if an AS receives and marks a customer
route as 'Route Leak', then the AS should override the "prefer route as 'Route Leak', then the AS should override the "prefer
customer route" policy, and instead prefer an alternate 'clean' route customer route" policy, and instead prefer an alternate 'clean' route
learned from another customer, a lateral peer, or a transit provider. learned from another customer, a lateral peer, or a transit provider.
This can be implemented by adjusting the local preference for the This can be implemented by adjusting the local preference for the
routes in consideration. routes in consideration.
5. Stopgap Solution when Only Origin Validation is Deployed 4. Security Considerations
The Route-Leak Protection (RLP) field requires cryptographic
protection in order to prevent malicious route leaks. In the future,
in conjunction with BGPsec deployment, the RLP field will be included
in the Flags field in the Secure_Path Segment in BGPsec updates. So,
the cryptographic security mechanisms in BGPsec will also apply to
the RLP field. The reader is therefore directed to the security
considerations provided in [RFC8205].
5. IANA Considerations
IANA is requested to register a new optional, transitive BGP Path
Attribute, named "Route Leak Protection" in the BGP Path Attributes
registry. The attribute type code is TBD. The reference for this
new attribute is this document (i.e., the RFC that replaces this
draft). The length field of this attribute is 2 octets, and the
length of the value field of this attribute is variable (see
Figure 2) in Section 3.2.1 of this document).
6. References
6.1. Normative References
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006,
<https://www.rfc-editor.org/info/rfc4271>.
6.2. Informative References
[Anwar] Anwar, R., Niaz, H., Choffnes, D., Cunha, I., Gill, P.,
and N. Katz-Bassett, "Investigating Interdomain Routing
Policies in the Wild", ACM Internet Measurement
Conference (IMC), October 2015,
<http://www.cs.usc.edu/assets/007/94928.pdf>.
[Cowie2010]
Cowie, J., "China's 18 Minute Mystery", Dyn
Research/Renesys Blog, November 2010,
<http://research.dyn.com/2010/11/
chinas-18-minute-mystery/>.
[Cowie2013]
Cowie, J., "The New Threat: Targeted Internet Traffic
Misdirection", Dyn Research/Renesys Blog, November 2013,
<http://research.dyn.com/2013/11/
mitm-internet-hijacking/>.
[draft-dickson-sidr-route-leak-solns]
Dickson, B., "Route Leaks -- Proposed Solutions", IETF
Internet Draft (expired), March 2012,
<https://tools.ietf.org/html/
draft-dickson-sidr-route-leak-solns-01>.
[draft-kunzinger-idrp-ISO10747-01]
Kunzinger, C., "Inter-Domain Routing Protocol (IDRP)",
IETF Internet Draft (expired), November 1994,
<https://tools.ietf.org/pdf/
draft-kunzinger-idrp-ISO10747-01.pdf>.
[Gao] Gao, L. and J. Rexford, "Stable Internet routing without
global coordination", IEEE/ACM Transactions on
Networking, December 2001,
<http://www.cs.princeton.edu/~jrex/papers/
sigmetrics00.long.pdf>.
[Gill] Gill, P., Schapira, M., and S. Goldberg, "A Survey of
Interdomain Routing Policies", ACM SIGCOMM Computer
Communication Review, January 2014,
<https://www.cs.bu.edu/~goldbe/papers/survey.pdf>.
[Giotsas] Giotsas, V. and S. Zhou, "Valley-free violation in
Internet routing - Analysis based on BGP Community data",
IEEE ICC 2012, June 2012.
[Hiran] Hiran, R., Carlsson, N., and P. Gill, "Characterizing
Large-scale Routing Anomalies: A Case Study of the China
Telecom Incident", PAM 2013, March 2013,
<http://www3.cs.stonybrook.edu/~phillipa/papers/
CTelecom.html>.
[Huston2012]
Huston, G., "Leaking Routes", March 2012,
<http://labs.apnic.net/blabs/?p=139/>.
[Huston2014]
Huston, G., "What's so special about 512?", September
2014, <http://labs.apnic.net/blabs/?p=520/>.
[I-D.ietf-idr-aspath-orf]
Hares, S. and K. Patel, "AS Path Based Outbound Route
Filter for BGP-4", draft-ietf-idr-aspath-orf-13 (work in
progress), December 2016.
[I-D.ietf-idr-bgp-open-policy]
Azimov, A., Bogomazov, E., Bush, R., Patel, K., and K.
Sriram, "Route Leak Prevention using Roles in Update and
Open messages", draft-ietf-idr-bgp-open-policy-02 (work in
progress), January 2018.
[Kapela-Pilosov]
Pilosov, A. and T. Kapela, "Stealing the Internet: An
Internet-Scale Man in the Middle Attack", DEFCON-16 Las
Vegas, NV, USA, August 2008,
<https://www.defcon.org/images/defcon-16/dc16-
presentations/defcon-16-pilosov-kapela.pdf>.
[Kephart] Kephart, N., "Route Leak Causes Amazon and AWS Outage",
ThousandEyes Blog, June 2015,
<https://blog.thousandeyes.com/
route-leak-causes-amazon-and-aws-outage>.
[Khare] Khare, V., Ju, Q., and B. Zhang, "Concurrent Prefix
Hijacks: Occurrence and Impacts", IMC 2012, Boston, MA,
November 2012, <http://www.cs.arizona.edu/~bzhang/
paper/12-imc-hijack.pdf>.
[Labovitz]
Labovitz, C., "Additional Discussion of the April China
BGP Hijack Incident", Arbor Networks IT Security Blog,
November 2010,
<http://www.arbornetworks.com/asert/2010/11/additional-
discussion-of-the-april-china-bgp-hijack-incident/>.
[LRL] Khare, V., Ju, Q., and B. Zhang, "Large Route Leaks",
Project web page, 2012,
<http://nrl.cs.arizona.edu/projects/
lsrl-events-from-2003-to-2009/>.
[Luckie] Luckie, M., Huffaker, B., Dhamdhere, A., Giotsas, V., and
kc. claffy, "AS Relationships, Customer Cones, and
Validation", IMC 2013, October 2013,
<http://www.caida.org/~amogh/papers/asrank-IMC13.pdf>.
[Madory] Madory, D., "Why Far-Flung Parts of the Internet Broke
Today", Dyn Research/Renesys Blog, September 2014,
<http://research.dyn.com/2014/09/
why-the-internet-broke-today/>.
[Mauch] Mauch, J., "BGP Routing Leak Detection System", Project
web page, 2014,
<http://puck.nether.net/bgp/leakinfo.cgi/>.
[Mauch-nanog]
Mauch, J., "Detecting Routing Leaks by Counting",
NANOG-41 Albuquerque, NM, USA, October 2007,
<https://www.nanog.org/meetings/nanog41/presentations/
mauch-lightning.pdf>.
[Nanog-thread-June2016]
"Intra-AS messaging for route leak prevention", NANOG
Email List - Discussion Thread , June 2016,
<http://mailman.nanog.org/pipermail/nanog/2016-June/
thread.html#86348>.
[NIST-800-54]
Kuhn, D., Sriram, K., and D. Montgomery, "Border Gateway
Protocol Security", NIST Special Publication 800-54, July
2007, <http://csrc.nist.gov/publications/nistpubs/800-54/
SP800-54.pdf>.
[Paseka] Paseka, T., "Why Google Went Offline Today and a Bit about
How the Internet Works", CloudFare Blog, November 2012,
<http://blog.cloudflare.com/
why-google-went-offline-today-and-a-bit-about/>.
[proceedings-sixth-ietf]
Gross, P., "Proceedings of the April 22-24, 1987 Internet
Engineering Task Force", April 1987,
<https://www.ietf.org/proceedings/06.pdf>.
[RFC1105-obsolete]
Lougheed, K. and Y. Rekhter, "A Border Gateway Protocol
(BGP)", IETF RFC (obsolete), June 1989,
<https://tools.ietf.org/html/rfc1105>.
[RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R.
Austein, "BGP Prefix Origin Validation", RFC 6811,
DOI 10.17487/RFC6811, January 2013,
<https://www.rfc-editor.org/info/rfc6811>.
[RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations
and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454,
February 2015, <https://www.rfc-editor.org/info/rfc7454>.
[RFC7908] Sriram, K., Montgomery, D., McPherson, D., Osterweil, E.,
and B. Dickson, "Problem Definition and Classification of
BGP Route Leaks", RFC 7908, DOI 10.17487/RFC7908, June
2016, <https://www.rfc-editor.org/info/rfc7908>.
[RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol
Specification", RFC 8205, DOI 10.17487/RFC8205, September
2017, <https://www.rfc-editor.org/info/rfc8205>.
[Snijders]
Snijders, J., "Practical everyday BGP filtering with
AS_PATH filters: Peer Locking", NANOG-47 Chicago, IL, USA,
June 2016, <https://www.nanog.org/sites/default/files/
Snijders_Everyday_Practical_Bgp.pdf>.
[Sriram] Sriram, K., Montgomery, D., Dickson, B., Patel, K., and A.
Robachevsky , "Methods for Detection and Mitigation of BGP
Route Leaks", IETF-95 IDR WG Meeting), April 2016,
<https://www.ietf.org/proceedings/95/slides/
slides-95-idr-13.pdf>.
[Toonk] Toonk, A., "What Caused Today's Internet Hiccup", August
2014, <http://www.bgpmon.net/
what-caused-todays-internet-hiccup/>.
[Toonk2015-A]
Toonk, A., "What caused the Google service interruption",
March 2015, <http://www.bgpmon.net/
what-caused-the-google-service-interruption/>.
[Toonk2015-B]
Toonk, A., "Massive route leak causes Internet slowdown",
June 2015, <http://www.bgpmon.net/
massive-route-leak-cause-internet-slowdown/>.
[Wijchers]
Wijchers, B. and B. Overeinder, "Quantitative Analysis of
BGP Route Leaks", RIPE-69, November 2014,
<https://ripe69.ripe.net/
presentations/157-RIPE-69-Routing-WG.pdf>.
[Zmijewski]
Zmijewski, E., "Indonesia Hijacks the World", Dyn
Research/Renesys Blog, April 2014,
<http://research.dyn.com/2014/04/
indonesia-hijacks-world/>.
Appendix A. Related Prior Work
The solution described in this document is based on setting an
attribute in BGP route announcement to manage the transmission/
receipt of the announcement based on the type of neighbor (e.g.,
customer, transit provider, etc.). Documented prior work related to
this basic idea and mechanism dates back to at least the 1980's.
Some examples of prior work are: (1) Information flow rules described
in [proceedings-sixth-ietf] (see pp. 195-196); (2) Link Type
described in [RFC1105-obsolete] (see pp. 4-5); (3) Hierarchical
Recording described in [draft-kunzinger-idrp-ISO10747-01] (see
Section 6.3.1.12). The problem of route leaks and possible solution
mechanisms based on encoding peering-link type information, e.g., P2C
(i.e., Transit-Provider to Customer), C2P (i.e., Customer to Transit-
Provider), p2p (i.e., peer to peer) etc., in BGPsec updates and
protecting the same under BGPsec path signatures have been discussed
in IETF SIDR WG at least since 2011.
[draft-dickson-sidr-route-leak-solns] attempted to describe these
mechanisms in a BGPsec context. The draft expired in 2012.
[draft-dickson-sidr-route-leak-solns] defined neighbor relationships
on a per link basis, but in the current document the relationship is
encoded per prefix, as routes for prefixes with different peering
relationships may be sent over the same link. Also
[draft-dickson-sidr-route-leak-solns] proposed a second signature
block for the link type encoding, separate from the path signature
block in BGPsec. By contrast, in the current document when BGPsec-
based solution is considered, cryptographic protection is provided
for Route-Leak Protection (RLP) encoding using the same signature
block as that for path signatures (see Section 3.2.2).
Appendix B. Prevention of Route Leaks at Local AS: Intra-AS Messaging
Note: The intra-AS messaging for route leak prevention can be done
using a non-transitive BGP Community or Attribute. The Community-
based method is described below. For the BGP Attribute-based method,
see [I-D.ietf-idr-bgp-open-policy].
B.1. Non-Transitive BGP Community for Intra-AS Messaging
The following procedure (or similar) for intra-AS messaging (i.e.,
between ingress and egress routers) for prevention of route leaks is
a fairly common practice used by large ISPs. (Note: This information
was gathered from discussions on the NANOG mailing list
[Nanog-thread-June2016] as well as through private discussions with
operators of large ISP networks.)
Routes are tagged on ingress to an AS with communities for origin,
including the type of eBGP peer it was learned from (customer,
provider or lateral peer), geographic location, etc. The community
attributes are carried across the AS with the routes. These
communities are used along with additional logic in route policies to
determine which routes are to be announced to which eBGP peers and
which are to be dropped. In this process, the ISP's AS also ensures
that routes learned from a transit-provider or a lateral peer (i.e.,
non-transit) at an ingress router are not leaked at an egress router
to another transit-provider or lateral peer.
Additionally, in many cases, ISP network operators' outbound policies
require explicit matches for expected communities before passing
routes. This helps ensure that that if an update has been entered
into the RIB-in but has missed its ingress community tagging (due to
a missing/misapplied ingress policy), it will not be inadvertently
leaked.
The above procedure (or a simplified version of it) is also
applicable when an AS consists of a single eBGP router. It is
recommended that all AS operators SHOULD implement the procedure
described above (or similar that is appropriate for their network) to
prevent route leaks that they have direct control over.
Appendix C. Stopgap Solution when Only Origin Validation is Deployed
A stopgap method is described here for detection and mitigation of A stopgap method is described here for detection and mitigation of
route leaks for the intermediate phase when OV is deployed but BGP route leaks for the intermediate phase when OV is deployed but BGP
protocol on the wire is unchanged. The stopgap solution can be in protocol on the wire is unchanged. The stopgap solution can be in
the form of construction of a prefix filter list from ROAs. A the form of construction of a prefix filter list from ROAs. A
suggested procedure for constructing such a list comprises of the suggested procedure for constructing such a list comprises of the
following steps: following steps:
o ISP makes a list of all the ASes (Cust_AS_List) that are in its o ISP makes a list of all the ASes (Cust_AS_List) that are in its
customer cone (ISP's own AS is also included in the list). (Some customer cone (ISP's own AS is also included in the list). (Some
skipping to change at page 13, line 8 skipping to change at page 18, line 12
o ISP creates a list of all the prefixes (Cust_Prfx_List) that are o ISP creates a list of all the prefixes (Cust_Prfx_List) that are
contained in any of the ROAs in Cust_ROA_List. contained in any of the ROAs in Cust_ROA_List.
o Cust_Prfx_List is the allowed list of prefixes that is permitted o Cust_Prfx_List is the allowed list of prefixes that is permitted
by the ISP's AS, and will be forwarded by the ISP to upstream by the ISP's AS, and will be forwarded by the ISP to upstream
ISPs, customers, and peers. ISPs, customers, and peers.
o A route for a prefix that is not in Cust_Prfx_List but announced o A route for a prefix that is not in Cust_Prfx_List but announced
by one of ISP's customers is 'marked' as a potential route leak. by one of ISP's customers is 'marked' as a potential route leak.
Further, the ISP's router SHOULD prefer an alternate route that is Further, the ISP's router SHOULD prefer an alternate route that is
Valid (i.e. valid according to origin validation) and 'clean' Valid (i.e., valid according to origin validation) and 'clean'
(i.e. not marked) over the 'marked' route. The alternate route (i.e., not marked) over the 'marked' route. The alternate route
may be from a peer, transit provider, or different customer. may be from a peer, transit provider, or different customer.
Special considerations with regard to the above procedure may be Special considerations with regard to the above procedure may be
needed for DDoS mitigation service providers. They typically needed for DDoS mitigation service providers. They typically
originate or announce a DDoS victim's prefix to their own ISP on a originate or announce a DDoS victim's prefix to their own ISP on a
short notice during a DDoS emergency. Some provisions would need to short notice during a DDoS emergency. Some provisions would need to
be made for such cases, and they can be determined with the help of be made for such cases, and they can be determined with the help of
inputs from DDoS mitigation service providers. inputs from DDoS mitigation service providers.
For developing a list of all the ASes (Cust_AS_List) that are in the For developing a list of all the ASes (Cust_AS_List) that are in the
customer cone of an ISP, the AS path based Outbound Route Filter customer cone of an ISP, the AS path based Outbound Route Filter
(ORF) technique [I-D.ietf-idr-aspath-orf] can be helpful (see (ORF) technique [I-D.ietf-idr-aspath-orf] can be helpful (see
discussion in Section 6.4). discussion in Appendix D.4).
Another technique based on AS_PATH filters is described in Another technique based on AS_PATH filters is described in
[Snijders]. This method is applicable to very large ISPs (i.e. big [Snijders]. This method is applicable to very large ISPs that have
networks) that have lateral peering. For a pair of such very large lateral peering. For a pair of such very large ISPs, say A and B,
ISPs, say A and B, the method depends on ISP A communicating out-of- the method depends on ISP A communicating out-of-band (e.g., by
band (e.g. by email) with ISP B about whether or not it (ISP A) has email) with ISP B about whether or not it (ISP A) has any transit
any transit providers. This out-of-band knowledge enables ISP B to providers. This out-of-band knowledge enables ISP B to apply
apply suitable AS_PATH filtering criteria for routes involving the suitable AS_PATH filtering criteria for routes involving the presence
presence of ISP A in the path and prevent certain kinds of route of ISP A in the path and prevent certain kinds of route leaks (see
leaks (see [Snijders] for details). [Snijders] for details).
6. Design Rationale and Discussion Appendix D. Design Rationale and Discussion
This section provides design justifications for the methodology This section provides design justifications for the methodology
specified in Section 4, and also answers some questions that are specified in Section 3, and also answers some questions that are
anticipated or have been raised in the IETF IDR and SIDR working anticipated or have been raised in the IETF IDR and SIDR working
group meetings. group meetings.
6.1. Is route-leak solution without cryptographic protection a serious D.1. Is route-leak solution without cryptographic protection a serious
attack vector? attack vector?
It has been asked if a route-leak solution without BGPsec, i.e. when It has been asked if a route-leak solution without BGPsec, i.e., when
RLP Fields are not protected, can turn into a serious new attack RLP Fields are not protected, can turn into a serious new attack
vector. The answer seems to be: not really! Even the NLRI and vector. The answer seems to be: not really! Even the NLRI and
AS_PATH in BGP updates are attack vectors, and RPKI/OV/BGPsec seek to AS_PATH in BGP updates are attack vectors, and RPKI/OV/BGPsec seek to
fix that. Consider the following. Say, if 99% of route leaks are fix that. Consider the following. Say, if 99% of route leaks are
accidental and 1% are malicious, and if route-leak solution without accidental and 1% are malicious, and if route-leak solution without
BGPsec eliminates the 99%, then perhaps it is worth it (step in the BGPsec eliminates the 99%, then perhaps it is worth it (step in the
right direction). When BGPsec comes into deployment, the route-leak right direction). When BGPsec comes into deployment, the route-leak
protection (RLP) bits can be mapped into BGPsec (using the Flags protection (RLP) bits can be mapped into BGPsec (using the Flags
field) and then necessary security will be in place as well (within field) and then necessary security will be in place as well (within
each BGPsec island as and when they emerge). each BGPsec island as and when they emerge).
Further, let us consider the worst-case damage that can be caused by Further, let us consider the worst-case damage that can be caused by
maliciously manipulating the RLP Field values in an implementation maliciously manipulating the RLP Field values in an implementation
without cryptographic protection (i.e. sans BGPsec). Manipulation of without cryptographic protection (i.e., sans BGPsec). Manipulation
the RLP bits can result in one of two types of attacks: (a) Upgrade of the RLP bits can result in one of two types of attacks: (a)
attack and (b) Downgrade attack. Descriptions and discussions about Upgrade attack and (b) Downgrade attack. Descriptions and
these attacks follow. In what follows, P2C stands for transit discussions about these attacks follow. In what follows, P2C stands
provider to customer (Down); C2P stands for customer to transit for transit provider to customer (Down); C2P stands for customer to
provider (Up), and p2p stands for peer to peer (lateral or non- transit provider (Up), and p2p stands for peer to peer (lateral or
transit relationship). non-transit relationship).
(a) Upgrade attack: An AS that wants to intentionally leak a route (a) Upgrade attack: An AS that wants to intentionally leak a route
would alter the RLP encodings for the preceding hops from 1 (i.e. would alter the RLP encodings for the preceding hops from 1 (i.e.,
'Do not Propagate Up or Lateral') to 0 (default) wherever applicable. 'Do not Propagate Up or Lateral') to 0 (default) wherever applicable.
This poses no problem for a route that keeps propagating in the This poses no problem for a route that keeps propagating in the
'Down' (P2C) direction. However, for a route that propagates 'Up' 'Down' (P2C) direction. However, for a route that propagates 'Up'
(C2P) or 'Lateral' (p2p), the worst that can happen is that a route (C2P) or 'Lateral' (p2p), the worst that can happen is that a route
leak goes undetected. That is, a receiving router would not be able leak goes undetected. That is, a receiving router would not be able
to detect the leak for the route in question by the RLP mechanism to detect the leak for the route in question by the RLP mechanism
described here. However, the receiving router may still detect and described here. However, the receiving router may still detect and
mitigate it in some cases by applying other means such as prefix mitigate it in some cases by applying other means such as prefix
filters [RFC7454]. If some malicious leaks go undetected (when RLP filters [RFC7454]. If some malicious leaks go undetected (when RLP
is deployed without BGPsec) that is possibly a small price to pay for is deployed without BGPsec) that is possibly a small price to pay for
the ability to detect the bulk of route leaks that are accidental. the ability to detect the bulk of route leaks that are accidental.
(b) Downgrade attack: RLP encoding is set to 1 (i.e. 'Do not (b) Downgrade attack: RLP encoding is set to 1 (i.e., 'Do not
Propagate Up or Lateral') when it should be set to 0 (default). This Propagate Up or Lateral') when it should be set to 0 (default). This
would result in a route being mis-detected and marked as a route would result in a route being mis-detected and marked as a route
leak. By default RLP encoding is set to 0, and that helps reduce leak. By default, RLP encoding is set to 0, and that helps reduce
errors of this kind (i.e. accidental downgrade incidents). Every AS errors of this kind (i.e., accidental downgrade incidents). Every AS
or ISP wants reachability for prefixes it originates and for its or ISP wants reachability for prefixes it originates and for its
customer prefixes. So an AS or ISP is not likely to change an RLP customer prefixes. So, an AS or ISP is not likely to change an RLP
value 0 to 1 intentionally. If a route leak is detected (due to value 0 to 1 intentionally. If a route leak is detected (due to
intentional or accidental downgrade) by a receiving router, it would intentional or accidental downgrade) by a receiving router, it would
prefer an alternate 'clean' route from a transit provider or peer prefer an alternate 'clean' route from a transit provider or peer
over a 'marked' route from a customer. It may end up with a over a 'marked' route from a customer. It may end up with a
suboptimal path. In order to have reachability, the receiving router suboptimal path. In order to have reachability, the receiving router
would accept a 'marked' route if there is no alternative that is would accept a 'marked' route if there is no alternative that is
'clean'. So RLP downgrade attacks (intentional or accidental) would 'clean'. So, RLP downgrade attacks (intentional or accidental) would
be quite rare, and the consequences do not appear to be grave. be quite rare, and the consequences do not appear to be grave.
6.2. Combining results of route-leak detection, OV and BGPsec D.2. Combining results of route-leak detection, OV and BGPsec
validation for path selection decision validation for path selection decision
Combining the results of route-leak detection, OV, and BGPsec Combining the results of route-leak detection, OV, and BGPsec
validation for path selection decision is up to local policy in a validation for path selection decision is up to local policy in a
receiving router. As an example, a router may always give precedence receiving router. As an example, a router may always give precedence
to outcomes of OV and BGPsec validation over that of route-leak to outcomes of OV and BGPsec validation over that of route-leak
detection. That is, if an update fails OV or BGPsec validation, then detection. That is, if an update fails OV or BGPsec validation, then
the update is not considered a candidate for path selection. the update is not considered a candidate for path selection.
Instead, an alternate update is chosen that passed OV and BGPsec Instead, an alternate update is chosen that passed OV and BGPsec
validation and additionally was not marked as route leak. validation and additionally was not marked as route leak.
If only OV is deployed (and not BGPsec), then there are six possible If only OV is deployed (and not BGPsec), then there are six possible
combinations between OV and route-leak detection outcomes. Because combinations between OV and route-leak detection outcomes. Because
there are three possible outcomes for OV (NotFound, Valid, and there are three possible outcomes for OV (NotFound, Valid, and
Invalid) and two possible outcomes for route-leak detection (marked Invalid) and two possible outcomes for route-leak detection (marked
as leak and not marked). If OV and BGPsec are both deployed, then as leak and not marked). If OV and BGPsec are both deployed, then
there are twelve possible combinations between OV, BGPsec validation, there are twelve possible combinations between OV, BGPsec validation,
and route-leak detection outcomes. As stated earlier, since BGPsec and route-leak detection outcomes. As stated earlier, since BGPsec
protects the RLP encoding, there would be added certainty in route- protects the RLP encoding, there would be added certainty in route-
leak detection outcome if an update is BGPsec valid (see leak detection outcome if an update is BGPsec valid (see
Section 6.1). Appendix D.1).
6.3. Are there cases when valley-free violations can be considered D.3. Are there cases when valley-free violations can be considered
legitimate? legitimate?
There are studies in the literature [Anwar] [Giotsas] [Wijchers] There are studies in the literature [Anwar] [Giotsas] [Wijchers]
observing and analyzing the behavior of routes announced in BGP observing and analyzing the behavior of routes announced in BGP
updates using data gathered from the Internet. In particular, the updates using data gathered from the Internet. In particular, the
studies have focused on how often there appear to be valley-free studies have focused on how often there appear to be valley-free
(e.g. Gao-Rexford [Gao] model) violations, and if they can be (e.g., Gao-Rexford [Gao] model) violations, and if they can be
explained [Anwar]. One important consideration for explanation of explained [Anwar]. One important consideration for explanation of
violations is per-prefix routing policies, i.e. routes for prefixes violations is per-prefix routing policies, i.e., routes for prefixes
with different peering relationships may be sent over the same link. with different peering relationships may be sent over the same link.
One encouraging result reported in [Anwar] is that when per-prefix One encouraging result reported in [Anwar] is that when per-prefix
routing policies are taken into consideration in the data analysis, routing policies are taken into consideration in the data analysis,
more than 80% of the observed routing decisions fit the valley-free more than 80% of the observed routing decisions fit the valley-free
model (see Section 4.3 and SPA-1 data in Figure 2). [Anwar] also model (see Section 4.3 and SPA-1 data in Figure 2). [Anwar] also
observes, "it is well known that this model [the basic Gao-Rexford observes, "it is well known that this model [the basic Gao-Rexford
model and some variations of it] fails to capture many aspects of the model and some variations of it] fails to capture many aspects of the
interdomain routing system. These aspects include AS relationships interdomain routing system. These aspects include AS relationships
that vary based on the geographic region or destination prefix, and that vary based on the geographic region or destination prefix, and
traffic engineering via hot-potato routing or load balancing." So traffic engineering via hot-potato routing or load balancing." So,
there may be potential for explaining the remaining (20% or less) there may be potential for explaining the remaining (20% or less)
violations of valley-free as well. violations of valley-free as well.
One major design factor in the methodology described in this document One major design factor is that the Route-Leak Protection (RLP)
is that the Route-Leak Protection (RLP) encoding is per prefix. So encoding is per prefix. Hence, the solution is consistent with ISPs'
the proposed solution is consistent with ISPs' per-prefix routing per-prefix routing policies. Large global and other major ISPs will
policies. Large global and other major ISPs will be the likely early be the likely early adopters, and they are expected to have expertise
adopters, and they are expected to have expertise in setting policies in setting policies (including per prefix policies, if applicable),
(including per prefix policies, if applicable), and make proper use and make proper use of the RLP indications on a per prefix basis.
of the RLP indications on a per prefix basis. When the large ISPs When the large ISPs participate in this solution deployment, it is
participate in this solution deployment, it is envisioned that they envisioned that they would form a ring of protection against route
would form a ring of protection against route leaks, and co- leaks, and co-operatively avoid many of the common types of route
operatively avoid many of the common types of route leaks that are leaks that are observed. Route leaks may still happen occasionally
observed. Route leaks may still happen occasionally within the within the customer cones (if some customer ASes are not
customer cones (if some customer ASes are not participating or not participating or not diligently implementing RLP), but such leaks are
diligently implementing RLP), but said leaks would be much less unlikely to propagate from one large participating ISP to another.
likely to propagate from one large participating ISP to another.
6.4. Comparison with other methods (routing security BCPs) D.4. Comparison with other methods (routing security BCPs)
It is reasonable to ask if techniques considered in BCPs such It is reasonable to ask if techniques considered in BCPs such
as[RFC7454] (BGP Operations and Security) and [NIST-800-54] may be as[RFC7454] (BGP Operations and Security) and [NIST-800-54] may be
adequate to address route leaks. The prefix filtering adequate to address route leaks. The prefix filtering
recommendations in the BCPs may be complementary but not adequate. recommendations in the BCPs may be complementary but not adequate.
The difficulty is in ISPs' ability to construct prefix filters that The difficulty is in ISPs' ability to construct prefix filters that
represent their customer cones (CC) accurately, especially when there represent their customer cones (CC) accurately, especially when there
are many levels in the hierarchy within the CC. In the RLP-encoding are many levels in the hierarchy within the CC. In the RLP-encoding
based solution described here, AS operators signal for each route based solution described here, AS operators signal for each route
propagated, if it SHOULD NOT be subsequently propagated to a transit propagated, if it must not be subsequently propagated to a transit
provider or peer. provider or peer.
AS path based Outbound Route Filter (ORF) described in AS path based Outbound Route Filter (ORF) described in
[I-D.ietf-idr-aspath-orf] is also an interesting complementary [I-D.ietf-idr-aspath-orf] is also an interesting complementary
technique. It can be used as an automated collaborative messaging technique. It can be used as an automated collaborative messaging
system (implemented in BGP) for ISPs to try to develop a complete system (implemented in BGP) for ISPs to try to develop a complete
view of the ASes and AS paths in their CCs. Once an ISP has that view of the ASes and AS paths in their CCs. Once an ISP has that
view, then AS path filters can be possibly used to detect route view, then AS path filters can be possibly used to detect route
leaks. One limitation of this technique is that it cannot duly take leaks. One limitation of this technique is that it cannot duly take
into account the fact that routes for prefixes with different peering into account the fact that routes for prefixes with different peering
relationships may be sent over the same link between ASes. Also, the relationships may be sent over the same link between ASes. Also, the
success of AS path based ORF depends on whether ASes at all levels of success of AS path based ORF depends on whether ASes at all levels of
the hierarchy in a CC participate and provide accurate information the hierarchy in a CC participate and provide accurate information
(in the ORF messages) about the AS paths they expect to have in their (in the ORF messages) about the AS paths they expect to have in their
BGP updates. BGP updates.
6.5. Per-Hop RLP Field or Single RLP Flag per Update? D.5. Per-Hop RLP Field or Single RLP Flag per Update?
The route-leak detection and mitigation mechanism described in this The route-leak detection and mitigation mechanism described in this
document is based on setting RLP Fields on a per-hop basis. There is document is based on setting RLP Fields on a per-hop basis. There is
another possible mechanism based on a single RLP flag per update. another possible mechanism based on a single RLP flag per update.
Method A - Per-Hop RLP Field: The sender (eBGP router) on each hop in Method A - Per-Hop RLP Field: The sender (eBGP router) on each hop in
the AS path sets its RLP Field = 1 if sending the update to a the AS path sets its RLP Field = 1 if sending the update to a
customer or lateral peer (see Section 4.3) and Section 4.3.1). No AS customer or lateral peer (see Section 3.2) and Section 3.2.1). No AS
(if operating correctly) would rewrite the RLP Field set by any (if operating correctly) would rewrite the RLP Field set by any
preceding AS. preceding AS.
Method B - Single RLP Flag per Update: As it propagates, the update Method B - Single RLP Flag per Update: As it propagates, the update
would have at most one RLP flag. Once an eBGP router (in the update would have at most one RLP flag. Once an eBGP router (in the update
path) determines that it is sending an update towards a customer or path) determines that it is sending an update towards a customer or
lateral peer AS, it sets the RLP flag. The flag value equals the AS lateral peer AS, it sets the RLP flag. The flag value equals the AS
number of the eBGP router that is setting it. Once the flag is set, number of the eBGP router that is setting it. Once the flag is set,
subsequent ASes in the path must propagate the flag as is. subsequent ASes in the path must propagate the flag as is.
To compare Methods A and B, consider the example illustrated in To compare Methods A and B, consider the example illustrated in
Figure 3. Consider a partial deployment scenario in which AS1, AS2, Figure 3. Consider a partial deployment scenario in which AS1, AS2,
AS3 and AS5 participate in RLP, and AS4 does not. AS1 (2 levels deep AS3 and AS5 participate in RLP, and AS4 does not. AS1 (2 levels deep
in AS3's customer cone) has imperfect RLP operation. Each complying in AS3's customer cone) has imperfect RLP operation. Each complying
AS's route leak mitigation policy is to prefer an update not marked AS's route leak mitigation policy is to prefer an update not marked
as route leak (see Section 4.5). If there is no alternative, then a as route leak (see Section 3.4). If there is no alternative, then a
transit-provider may propagate a marked update from a customer. In transit-provider may propagate a marked update from a customer. In
this example, multi-homed AS4 leaks a route received for prefix Q this example, multi-homed AS4 leaks a route received for prefix Q
from transit-provider AS3 to transit-provider AS5. from transit-provider AS3 to transit-provider AS5.
+-----------+ RLP=1 +-----------+ +-----------+ RLP=1 +-----------+
| AS3 |---------->| AS5 | | AS3 |---------->| AS5 |
|(Major ISP)| U2 |(Major ISP)| |(Major ISP)| U2 |(Major ISP)|
+-----------+ +-----------+ +-----------+ +-----------+
/\ \ /\ U1 /\ \ /\ U1
Route for Q propagated / \RLP=1 / Route for Q propagated / \RLP=1 /
skipping to change at page 18, line 48 skipping to change at page 23, line 48
than Method B. than Method B.
Further, for detection and notification of neighbor AS's non- Further, for detection and notification of neighbor AS's non-
compliance, Method A (per-hop RLP) is better than Method B (single compliance, Method A (per-hop RLP) is better than Method B (single
RLP). With Method A, the bad behavior of AS4 would be explicitly RLP). With Method A, the bad behavior of AS4 would be explicitly
evident to AS5 since it violated AS3's (only two hops away) RLP field evident to AS5 since it violated AS3's (only two hops away) RLP field
as well. AS5 would alert AS4 and also AS2 would alert AS1 about lack as well. AS5 would alert AS4 and also AS2 would alert AS1 about lack
of compliance (when Method A is used). With Method B, the alerting of compliance (when Method A is used). With Method B, the alerting
process may not be as expeditious. process may not be as expeditious.
7. Security Considerations Acknowledgements
The proposed Route-Leak Protection (RLP) field requires cryptographic
protection in order to prevent malicious route leaks. Since it is
proposed that the RLP field be included in the Flags field in the
Secure_Path Segment in BGPsec updates, the cryptographic security
mechanisms in BGPsec are expected to also apply to the RLP field.
The reader is therefore directed to the security considerations
provided in [I-D.ietf-sidr-bgpsec-protocol].
8. IANA Considerations
IANA is requested to register a new optional, non-transitive BGP Path
Attribute, named "Preventive Route Leak Protection (pRLP)" in the BGP
Path Attributes registry. The attribute type code is TBD. The
reference for this new attribute is this document (i.e. the RFC that
replaces this draft). The length of this new attribute is 0.
IANA is requested to register a new optional, transitive BGP Path
Attribute, named "Route Leak Protection" in the BGP Path Attributes
registry. The attribute type code is TBD. The reference for this
new attribute is this document (i.e. the RFC that replaces this
draft). The length field of this attribute is 2 octets, and the
length of the value field of this attribute is variable (see
Figure 2) in Section 4.3.1 of this document).
9. Acknowledgements
The authors wish to thank Jared Mauch, Jeff Haas, Job Snijders, The authors wish to thank Jared Mauch, Jeff Haas, Job Snijders,
Warren Kumari, Amogh Dhamdhere, Jakob Heitz, Geoff Huston, Randy Warren Kumari, Amogh Dhamdhere, Jakob Heitz, Geoff Huston, Randy
Bush, Alexander Azimov, Ruediger Volk, Sue Hares, Wes George, Job Bush, Alexander Azimov, Ruediger Volk, Sue Hares, Wes George, Job
Snijders, Chris Morrow, Sandy Murphy, Danny McPherson, and Eric Snijders, Chris Morrow, Sandy Murphy, Danny McPherson, and Eric
Osterweil for comments, suggestions, and critique. The authors are Osterweil for comments, suggestions, and critique. The authors are
also thankful to Padma Krishnaswamy, Oliver Borchert, and Okhee Kim also thankful to Padma Krishnaswamy, Oliver Borchert, and Okhee Kim
for their review and comments. for their review and comments.
10. References
10.1. Normative References
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006,
<https://www.rfc-editor.org/info/rfc4271>.
10.2. Informative References
[Anwar] Anwar, R., Niaz, H., Choffnes, D., Cunha, I., Gill, P.,
and N. Katz-Bassett, "Investigating Interdomain Routing
Policies in the Wild", ACM Internet Measurement
Conference (IMC), October 2015,
<http://www.cs.usc.edu/assets/007/94928.pdf>.
[Cowie2010]
Cowie, J., "China's 18 Minute Mystery", Dyn
Research/Renesys Blog, November 2010,
<http://research.dyn.com/2010/11/
chinas-18-minute-mystery/>.
[Cowie2013]
Cowie, J., "The New Threat: Targeted Internet Traffic
Misdirection", Dyn Research/Renesys Blog, November 2013,
<http://research.dyn.com/2013/11/
mitm-internet-hijacking/>.
[draft-dickson-sidr-route-leak-solns]
Dickson, B., "Route Leaks -- Proposed Solutions", IETF
Internet Draft (expired), March 2012,
<https://tools.ietf.org/html/
draft-dickson-sidr-route-leak-solns-01>.
[draft-kunzinger-idrp-ISO10747-01]
Kunzinger, C., "Inter-Domain Routing Protocol (IDRP)",
IETF Internet Draft (expired), November 1994,
<https://tools.ietf.org/pdf/
draft-kunzinger-idrp-ISO10747-01.pdf>.
[Gao] Gao, L. and J. Rexford, "Stable Internet routing without
global coordination", IEEE/ACM Transactions on
Networking, December 2001,
<http://www.cs.princeton.edu/~jrex/papers/
sigmetrics00.long.pdf>.
[Gill] Gill, P., Schapira, M., and S. Goldberg, "A Survey of
Interdomain Routing Policies", ACM SIGCOMM Computer
Communication Review, January 2014,
<https://www.cs.bu.edu/~goldbe/papers/survey.pdf>.
[Giotsas] Giotsas, V. and S. Zhou, "Valley-free violation in
Internet routing - Analysis based on BGP Community data",
IEEE ICC 2012, June 2012.
[Hiran] Hiran, R., Carlsson, N., and P. Gill, "Characterizing
Large-scale Routing Anomalies: A Case Study of the China
Telecom Incident", PAM 2013, March 2013,
<http://www3.cs.stonybrook.edu/~phillipa/papers/
CTelecom.html>.
[Huston2012]
Huston, G., "Leaking Routes", March 2012,
<http://labs.apnic.net/blabs/?p=139/>.
[Huston2014]
Huston, G., "What's so special about 512?", September
2014, <http://labs.apnic.net/blabs/?p=520/>.
[I-D.ietf-idr-aspath-orf]
Hares, S. and K. Patel, "AS Path Based Outbound Route
Filter for BGP-4", draft-ietf-idr-aspath-orf-13 (work in
progress), December 2016.
[I-D.ietf-idr-bgp-open-policy]
Azimov, A., Bogomazov, E., Bush, R., Patel, K., and K.
Sriram, "Route Leak Prevention using Roles in Update and
Open messages", draft-ietf-idr-bgp-open-policy-01 (work in
progress), July 2017.
[I-D.ietf-sidr-bgpsec-protocol]
Lepinski, M. and K. Sriram, "BGPsec Protocol
Specification", draft-ietf-sidr-bgpsec-protocol-23 (work
in progress), April 2017.
[Kapela-Pilosov]
Pilosov, A. and T. Kapela, "Stealing the Internet: An
Internet-Scale Man in the Middle Attack", DEFCON-16 Las
Vegas, NV, USA, August 2008,
<https://www.defcon.org/images/defcon-16/dc16-
presentations/defcon-16-pilosov-kapela.pdf>.
[Kephart] Kephart, N., "Route Leak Causes Amazon and AWS Outage",
ThousandEyes Blog, June 2015,
<https://blog.thousandeyes.com/
route-leak-causes-amazon-and-aws-outage>.
[Khare] Khare, V., Ju, Q., and B. Zhang, "Concurrent Prefix
Hijacks: Occurrence and Impacts", IMC 2012, Boston, MA,
November 2012, <http://www.cs.arizona.edu/~bzhang/
paper/12-imc-hijack.pdf>.
[Labovitz]
Labovitz, C., "Additional Discussion of the April China
BGP Hijack Incident", Arbor Networks IT Security Blog,
November 2010,
<http://www.arbornetworks.com/asert/2010/11/additional-
discussion-of-the-april-china-bgp-hijack-incident/>.
[LRL] Khare, V., Ju, Q., and B. Zhang, "Large Route Leaks",
Project web page, 2012,
<http://nrl.cs.arizona.edu/projects/
lsrl-events-from-2003-to-2009/>.
[Luckie] Luckie, M., Huffaker, B., Dhamdhere, A., Giotsas, V., and
kc. claffy, "AS Relationships, Customer Cones, and
Validation", IMC 2013, October 2013,
<http://www.caida.org/~amogh/papers/asrank-IMC13.pdf>.
[Madory] Madory, D., "Why Far-Flung Parts of the Internet Broke
Today", Dyn Research/Renesys Blog, September 2014,
<http://research.dyn.com/2014/09/
why-the-internet-broke-today/>.
[Mauch] Mauch, J., "BGP Routing Leak Detection System", Project
web page, 2014,
<http://puck.nether.net/bgp/leakinfo.cgi/>.
[Mauch-nanog]
Mauch, J., "Detecting Routing Leaks by Counting",
NANOG-41 Albuquerque, NM, USA, October 2007,
<https://www.nanog.org/meetings/nanog41/presentations/
mauch-lightning.pdf>.
[Nanog-thread-June2016]
"Intra-AS messaging for route leak prevention", NANOG
Email List - Discussion Thread , June 2016,
<http://mailman.nanog.org/pipermail/nanog/2016-June/
thread.html#86348>.
[NIST-800-54]
Kuhn, D., Sriram, K., and D. Montgomery, "Border Gateway
Protocol Security", NIST Special Publication 800-54, July
2007, <http://csrc.nist.gov/publications/nistpubs/800-54/
SP800-54.pdf>.
[Paseka] Paseka, T., "Why Google Went Offline Today and a Bit about
How the Internet Works", CloudFare Blog, November 2012,
<http://blog.cloudflare.com/
why-google-went-offline-today-and-a-bit-about/>.
[proceedings-sixth-ietf]
Gross, P., "Proceedings of the April 22-24, 1987 Internet
Engineering Task Force", April 1987,
<https://www.ietf.org/proceedings/06.pdf>.
[RFC1105-obsolete]
Lougheed, K. and Y. Rekhter, "A Border Gateway Protocol
(BGP)", IETF RFC (obsolete), June 1989,
<https://tools.ietf.org/html/rfc1105>.
[RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R.
Austein, "BGP Prefix Origin Validation", RFC 6811,
DOI 10.17487/RFC6811, January 2013,
<https://www.rfc-editor.org/info/rfc6811>.
[RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations
and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454,
February 2015, <https://www.rfc-editor.org/info/rfc7454>.
[RFC7908] Sriram, K., Montgomery, D., McPherson, D., Osterweil, E.,
and B. Dickson, "Problem Definition and Classification of
BGP Route Leaks", RFC 7908, DOI 10.17487/RFC7908, June
2016, <https://www.rfc-editor.org/info/rfc7908>.
[Snijders]
Snijders, J., "Practical everyday BGP filtering with
AS_PATH filters: Peer Locking", NANOG-47 Chicago, IL, USA,
June 2016, <https://www.nanog.org/sites/default/files/
Snijders_Everyday_Practical_Bgp.pdf>.
[Sriram] Sriram, K., Montgomery, D., Dickson, B., Patel, K., and A.
Robachevsky , "Methods for Detection and Mitigation of BGP
Route Leaks", IETF-95 IDR WG Meeting), April 2016,
<https://www.ietf.org/proceedings/95/slides/
slides-95-idr-13.pdf>.
[Toonk] Toonk, A., "What Caused Today's Internet Hiccup", August
2014, <http://www.bgpmon.net/
what-caused-todays-internet-hiccup/>.
[Toonk2015-A]
Toonk, A., "What caused the Google service interruption",
March 2015, <http://www.bgpmon.net/
what-caused-the-google-service-interruption/>.
[Toonk2015-B]
Toonk, A., "Massive route leak causes Internet slowdown",
June 2015, <http://www.bgpmon.net/
massive-route-leak-cause-internet-slowdown/>.
[Wijchers]
Wijchers, B. and B. Overeinder, "Quantitative Analysis of
BGP Route Leaks", RIPE-69, November 2014,
<https://ripe69.ripe.net/
presentations/157-RIPE-69-Routing-WG.pdf>.
[Zmijewski]
Zmijewski, E., "Indonesia Hijacks the World", Dyn
Research/Renesys Blog, April 2014,
<http://research.dyn.com/2014/04/
indonesia-hijacks-world/>.
Authors' Addresses Authors' Addresses
Kotikalapudi Sriram Kotikalapudi Sriram
US NIST USA National Institute of Standards and Technology
Email: ksriram@nist.gov Email: ksriram@nist.gov
Doug Montgomery Doug Montgomery
US NIST USA National Institute of Standards and Technology
Email: dougm@nist.gov Email: dougm@nist.gov
Brian Dickson Brian Dickson
Email: brian.peter.dickson@gmail.com Email: brian.peter.dickson@gmail.com
Keyur Patel Keyur Patel
Arrcus Arrcus
 End of changes. 83 change blocks. 
561 lines changed or deleted 536 lines changed or added

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