diff options
Diffstat (limited to 'doc/rfc/rfc5123.txt')
-rw-r--r-- | doc/rfc/rfc5123.txt | 899 |
1 files changed, 899 insertions, 0 deletions
diff --git a/doc/rfc/rfc5123.txt b/doc/rfc/rfc5123.txt new file mode 100644 index 0000000..de00671 --- /dev/null +++ b/doc/rfc/rfc5123.txt @@ -0,0 +1,899 @@ + + + + + + +Network Working Group R. White +Request for Comments: 5123 B. Akyol +Category: Informational Cisco Systems + February 2008 + + + Considerations in Validating the Path in BGP + +Status of This Memo + + This memo provides information for the Internet community. It does + not specify an Internet standard of any kind. Distribution of this + memo is unlimited. + +IESG Note + + After consultation with the RPSEC WG, the IESG thinks that this work + is related to IETF work done in WG RPSEC, but this does not prevent + publishing. + + This RFC is not a candidate for any level of Internet Standard. The + IETF disclaims any knowledge of the fitness of this RFC for any + purpose and in particular notes that the decision to publish is not + based on IETF review for such things as security, congestion control, + or inappropriate interaction with deployed protocols. The RFC Editor + has chosen to publish this document at its discretion. Readers of + this document should exercise caution in evaluating its value for + implementation and deployment. See RFC 3932 for more information. + +Abstract + + This document examines the implications of hop-by-hop forwarding, + route aggregation, and route filtering on the concept of validation + within a BGP Autonomous System (AS) Path. + +1. Background + + A good deal of thought has gone into, and is currently being given + to, validating the path to a destination advertised by BGP. The + purpose of this work is to explain the issues in validating a BGP AS + Path, in the expectation that it will help in the evaluation of + schemes seeking to improve path validation. The first section + defines at least some of the types of questions a BGP speaker + receiving an update from a peer not in the local autonomous system + (AS) could ask about the information within the routing update. The + following sections examine the answers to these questions in + consideration of specific deployments of BGP. + + + + +White & Akyol Informational [Page 1] + +RFC 5123 Path Validation Considerations February 2008 + + + The examples given in this document are intended to distill + deployments down to their most critical components, making the + examples easier to understand and consider. In many situations, the + specific path taken in the example may not be relevant, but that does + not nullify the principles considered in each example. It has been + suggested that these examples are "red herrings", because they do not + illustrate actual problems with specific policies. On the contrary, + these examples are powerful because they are simple. Any topology in + which one of these example topologies is a subtopology will exhibit + the characteristics explained in this document. Rather than focusing + on a specific topology, then dismissing that single topology as a + "corner case", this document shows the basic issues with assertions + about the AS Path attribute within BGP. These generalized issues can + then be applied to more specific cases. + + With the heightened interest in network security, the security of the + information carried within routing systems running BGP, as described + in [RFC4271], is being looked at with great interest. While there + are techniques available for securing the relationship between two + devices exchanging routing protocol information, such as [BGP-MD5], + these techniques do not ensure various aspects of the information + carried within routing protocols are valid or authorized. + + The following small internetwork is used to examine the concepts of + validity and authorization within this document, providing + definitions used through the remainder of the document. + + 10.1.1.0/24--(AS65000)---(AS65001)--(AS65002) + + Assume a BGP speaker in AS65002 has received an advertisement for + 10.1.1.0/24 from a BGP speaker in AS65001, with an AS Path of {65000, + 65001}. + +1.1. Is the Originating AS Authorized to Advertise Reachability to the + Destination? + + The most obvious question the receiving BGP speaker can ask about + this advertisement is whether or not the originating AS, in this case + AS65000, is authorized to advertise the prefix contained within the + advertisement, in this case 10.1.1.0/24. Whether or not a BGP + speaker receiving a route to 10.1.1.0/24 originating in AS65000 can + verify that AS65000 is, indeed, authorized to advertise 10.1.1.0/24 + is outside the scope of this document. + + + + + + + + +White & Akyol Informational [Page 2] + +RFC 5123 Path Validation Considerations February 2008 + + +1.2. Is the Path Contained in the Advertised Routing Information Valid? + + If a BGP speaker receives an advertisement from a peer outside the + local autonomous system (AS), the peer sending the update has a path + to the destination prefix in the update. Specifically, are the + autonomous systems within the internetwork connected in such a way + that the receiver, following the AS Path listed in the BGP update + itself, can reach the originating AS listed in the received AS Path? + Within this document, this is called path validation. + + Path validation, in the context of this small internetwork, asserts + that when a BGP speaker in AS65002 receives an advertisement from a + BGP speaker in AS65001 with the AS Path {65000, 65001}, the speaker + can assume that AS65001 is attached to the local AS, and that AS65001 + is also attached to AS65000. + +1.3. Is the Advertisement Authorized? + + There are at least three senses in which the readvertisement of a + received advertisement can be authorized in BGP: + + o The transmitter is authorized to advertise the specific routing + information contained in the route. This treats the routing + information as a single, atomic unit, regardless of the + information the route actually contains. A route to 10.1.1.0/24 + and another route to 10.1.0.0/16 are considered completely + different advertisements of routing information, so an AS may be + authorized to advertise 10.1.0.0/16 without regard to its + authorization to advertise 10.1.1.0/24, since these are two + separate routes. This is called route authorization throughout + this document. + + o The transmitter is authorized to advertise the specific reachable + destination(s) contained in the route. This treats the routing + information as a set of destinations. 10.1.1.0/24 is contained + within 10.1.0.0/16, and authorization to advertise the latter + implies authorization to advertise the former. This is called + reachability authorization throughout this document. + + o The transmitter is authorized to transit traffic to the + destinations contained within the route. This ties the concepts + of the route to what the route is used for. If a BGP speaker is + advertising reachability to 10.1.1.0/24, it is authorized to + transit traffic to all reachable destinations within 10.1.1.0/24 + along the path advertised. This is called transit authorization + throughout this document. + + + + + +White & Akyol Informational [Page 3] + +RFC 5123 Path Validation Considerations February 2008 + + + There is considerable tension between these three definitions of + authorization; much of this document is built around exploring the + relationships between these different types of authorization, and how + they may, or may not, work in various internetworks. One of the + conclusions reached by this document is that route authorization, + reachability authorization, and transit authorization are often at + odds with each other. Showing one type of authorization to be true + does not show any other types of authorization to be true, and route + authorization is of questionable value because of the intertwined + nature of these three types of authorization in a routing system. + +1.4. Will Traffic Forwarded to an Advertising Speaker Follow the + Described AS Path? + + If a BGP speaker receives an advertisement from a peer not in the + local AS, will traffic forwarded to the peer advertising the update + follow the path described in the AS Path? In this document, this is + called forwarding consistency. + + In terms of the small example internetwork, if a BGP speaker in + AS65002 receives an advertisement from a peer in AS65001 for the + destination 10.1.1.0/24, with an AS Path {65000, 65001}, will traffic + forwarded to the BGP speaker in AS65001 actually be forwarded through + routers within AS65001, then AS65000, to reach its destination? + +1.5. Is a Withdrawing Speaker Authorized to Withdraw the Routing + Information? + + If an advertisement is withdrawn, the withdrawing BGP peer was + originally advertising the prefix (or was authorized to advertise the + prefix). This assertion is out of the scope of this document. + +2. Analysis + + To begin, we review some of the concepts of routing, since we need to + keep these concepts fixed firmly in place while we examine these + questions. After this, four examples will be undertaken with BGP to + show the tension between the various types of authorization in a path + vector routing system. + +2.1. A Short Analysis of Routing + + Routing protocols are designed, in short, to discover a set of + loop-free paths to each reachable destination within a network (or + internetwork). The loop-free path chosen to reach a specific + destination may not be the shortest path, and it may not always be + + + + + +White & Akyol Informational [Page 4] + +RFC 5123 Path Validation Considerations February 2008 + + + the "best" path (depending on the definition of "best"), but it + should always be a loop-free path, otherwise the routing protocol has + failed. + + This sheds some light on the purpose of the path included in a path + vector protocol's routing update: the path is there to prove the path + is loop free, rather than to provide any other information. While + Dijkstra's Sender Policy Framework (SPF) and the Diffusing Update + Algorithm (DUAL) both base their loop-free path calculations on the + cost of a path, path vector protocols, such as BGP, prove a path is + loop free by carrying a list of nodes the advertisement itself has + traversed. BGP specifically uses an AS Path-based mechanism to prove + loop freeness for any given update so each AS along the path may + implement local policy without risking a loop in the routing system + caused by competing metrics. + + We need to keep this principle in mind when considering the use of + the path carried in a path-vector protocol, and its use by a + receiving BGP speaker for setting policy or gauging the route's + security level. + +2.2. First Example: Manual Intervention in the Path Choice + + In the small network: + + +---(AS65002)---+ + (AS65000)--(AS65001) (AS65004)--10.1.1.0/24 + +---(AS65003)---+ + + A BGP speaker in AS65000 may receive an advertisement from a peer + that 10.1.1.0/24 is reachable along the path {65004, 65002, 65001}. + Based on this information, the BGP speaker may forward packets to its + peer in AS65001, expecting them to take the path described. However, + within AS65001, the network administrator may have configured a + static route making the next hop to 10.1.1.0/24 the edge router with + AS65003. + + It's useful to note that while [RFC4271] states: "....we assume that + a BGP speaker advertises to its peers only those routes that it + itself uses...", the definition of the term "use" is rather loose in + all known widely deployed BGP implementations. Rather than meaning: + "A BGP speaker will only advertise destinations the BGP process on + the speaker has installed in the routing table", it generally means: + "A BGP speaker will only advertise destinations that the local + routing table has a matching route installed for, no matter what + process on the local router installed the route". A naive reaction + may be to simply change the BGP specifications and all existing + implementations so a BGP speaker will only advertise a route to a + + + +White & Akyol Informational [Page 5] + +RFC 5123 Path Validation Considerations February 2008 + + + peer if the BGP process on the router actually installed the route in + the local routing table. This, however, ignores the complex + interactions between interior and exterior gateway protocols, which + most often run on the same device, and the complexities of route + origination. + + Although this is an "extreme" example, since we can hardly claim the + information within the routing protocol is actually insufficient, we + still find this example instructive in light of the questions + outlined in Section 1: + + o Is the AS Path valid? The AS Path the receiving BGP speaker in + AS65000 receives from its peer in AS65001, {65004, 65002, 65001), + does exist, and is valid. + + o Is the advertisement authorized? Since we have no knowledge of + any autonomous system level policy within this network, we have no + way of answering this question. We can assume that AS65001 has + both route and reachability authorization, but it is difficult to + see how transit authorization can be accomplished in this + situation. Even if the BGP speaker in AS65000 could verify + AS65001 is authorized to transit AS65002 to reach 10.1.1.0/24, + this implies nothing about the authorization to transit traffic + through the path traffic will actually take, which is through + AS65003. + + o Is the AS Path consistent with the forwarding path (does + forwarding consistency exist)? No, the advertised AS Path is + {65004, 65002, 65001}, while the actual path is {65004, 65003, + 65001}. + + From this example, we can see forwarding consistency is not possible + to validate in a deployed network; just because a BGP speaker + advertises a specific path to reach a given destination, there is no + reason to assume traffic forwarded to the speaker will actually + follow the path advertised. In fact, we can reason this from the + nature of packet-forwarding networks; each router along a path makes + a completely separate decision about where to forward received + traffic. Any router along the path could actually change the path + due to network conditions without notifying, in any way, upstream + routers. Therefore, at any given time, an upstream router may be + forwarding traffic along a path that no longer exists, or is no + longer optimal, and downstream routers could be correcting the + forwarding decision by placing the traffic on another available path + unknown to the upstream router. + + As a corollary, we can see that authorizing transit through a + specific AS Path is not possible, either. If the source of a + + + +White & Akyol Informational [Page 6] + +RFC 5123 Path Validation Considerations February 2008 + + + specific flow cannot know what path the traffic within that flow will + take to reach the destination, then there is no meaningful sense in + which downstream routers can authorize the source to use available + paths for transiting traffic. + +2.3. Second Example: An Unintended Reachable Destination + + In this internetwork, we assume a single policy: the system + administrator of AS65000 would not like the destination 10.1.1.0/24 + to be reachable from any autonomous system beyond AS65001. In other + words, 10.1.1.0/24 should be reachable within AS65001, but not to + autonomous systems connected to AS65001, such as AS65002. + + 10.1.1.0/24---(AS65000)---(AS65001)---(AS65002) + + The system administrator can implement this policy by causing BGP + speakers within AS65000 to advertise 10.1.1.0/24 to peers within + AS65001 with a signal that the BGP speakers in AS65001 should not + readvertise the reachability of this routing information. For + example, BGP speakers in AS65000 could advertise the route to + 10.1.1.0/24 with the NO_ADVERTISE community attached, as described in + [RFC4271]. If the BGP speakers in AS65001 are configured to respond + to this community (and we assume they are for the purposes of this + document) correctly, they should accept this advertisement, but not + readvertise reachability to 10.1.1.0/24 into AS65002. + + However, unknown to the system administrator of AS65000, AS65001 is + actually advertising a default route to AS65002 with an AS Path of + {65001}, and not a full routing table. If some host within AS65002, + then, originates a packet destined to 10.1.1.1, what will happen? + The packet will be routed according to the default route from AS65002 + into AS65001. Routers within AS65001 will forward the packet along + the 10.1.1.0/24 route, eventually forwarding the traffic into + AS65000. + + o Is the AS Path valid? This is a difficult question to answer, + since there are actually two different advertisements in the + example. From the perspective of the BGP speaker in AS65002 + receiving a default route in an advertisement from a peer in + AS65001, the AS Path to the default route is valid. However, + there is no route to 10.1.1.0/24 for the BGP speaker in AS65002 to + examine for validity, so the question appears to be out of scope + for this example. + + o Is the AS Path consistent with the forwarding path (is there + forwarding consistency)? From the perspective of a BGP speaker in + AS65002, traffic forwarded to AS65001 towards a destination within + 10.1.1.0/24 is going to actually terminate within AS65001, since + + + +White & Akyol Informational [Page 7] + +RFC 5123 Path Validation Considerations February 2008 + + + that is the entire AS Path for the default route. However, this + traffic actually transits AS65001 towards AS65000. Therefore, + forwarding consistency does not exist in this example, in which we + are dealing with a case of aggregation, and as Section 9.1.4 of + [RFC4271], in reference to aggregated routing information, states: + "Forwarding along such a route does not guarantee that IP packets + will actually traverse only ASes listed in the AS_PATH attribute + of the route". + +2.3.1. Advertisement Authorization + + Is the advertisement authorized? This example higlights the tension + between the three different types of authorization. The three + following sections discuss issues with different advertisements + AS65001 may send to AS65002. + +2.3.1.1. Valid Unauthorized Aggregates + + The first issue that comes up in this example is the case where there + is no expectation of authorization for aggregation. The most common + example of this is the advertising and accepting of the default route + (0/0). This is a common practice typically done by agreement between + the two parties. Obviously, there is not an authorization process + for such an advertisement. This advertisement may extend + reachability beyond the originator's intention (along the lines of + the previous example). It may cause packets to take paths not known + by the sender (since the path on 0/0 is simply the advertising AS). + It may violate other security constraints. This places limits on the + power and applicability of efforts to secure the AS path and AS + policies. It does not vitiate the underlying value in such efforts. + +2.3.1.2. Owner Aggregation + + In the current instantiation of IP address allocation, an AS may + receive authorization to advertise 10.1.0.0/16, for instance, and may + authorize some other party to use (or own) 10.1.1.0/24, a subblock of + the space authorized. This is called a suballocation. + + For instance, in this example, if AS65001 were authorized to + originate 10.1.0.0/16, it could advertise 10.1.0.0/16 towards + AS65002, rather than a default route. Assume there is some form of + authorization mechanism AS65002 can consult to verify AS65001 is + authorized to advertise 10.1.0.0/16. In this case, AS65002 could + examine the authorization of AS65001 to originate 10.1.0.0/16, and + assume that if AS65002 is authorized to advertise 10.1.0.0/16, it is + also authorized to transit traffic towards every possible subblock of + (every destination within) 10.1.0.0/16. To put this in more distinct + terms: + + + +White & Akyol Informational [Page 8] + +RFC 5123 Path Validation Considerations February 2008 + + + o AS65002 verifies route authorization by examining the + authorization of AS65001 to advertise 10.1.0.0/16. + + o AS65002 assumes destination authorization, that AS65001 has the + authorization to advertise every possible subblock of 10.1.0.0/16, + because AS65001 is authorized to advertise 10.1.0.0/16. + + o AS65002 assumes transit authorization, that AS65001 has the + authorization to transit traffic to every possible subblock of + 10.1.0.0/16, because AS65001 is authorized to advertise + 10.1.0.0/16. + + From the example given, however, it is obvious route authorization + does not equal destination or transit authorization. While AS65001 + does have route authorization to advertise 10.1.0.0/16, it does not + have destination authorization to advertise 10.1.1.0/24, nor transit + authorization for destinations with 10.1.1.0/24. + + The naive reply to this would be to simply state that destination and + transit authorization should not be assumed from route authorization. + However, the problem is not that simple to resolve. The assumption + of destination authorization and transit authorization are not + decisions AS65002 actually makes; they are embedded in the way the + routing system works. The route itself, within the design of + routing, carries these implications. + + Why does routing intertwine these three types of authorization? Most + simply, because AS65002 does not have any information about subblocks + that are part of 10.1.0.0/16. There is no way for AS65002 to check + for destination and transit authorization because this information is + removed from the system altogether. In order to show destination and + transit authorization, this information must be reinjected into the + routing system in some way. + + For instance, considering destination authorization alone, it is + possible to envision a system where AS65001, when suballocating part + of 10.1.0.0/16 to the originator, must also obtain permission to + continue advertising the original address block as an aggregate, to + attempt to resolve this problem. However, this raises some other + issues: + + o If the originator did not agree to AS65001 advertising an + aggregate containing 10.1.1.0/24, then AS65001 would be forced to + advertise some collection of advertisements not containing the + suballocated block. + + o If AS65001 actually does obtain permission to advertise the + aggregate, we must find some way to provide AS65002 with + + + +White & Akyol Informational [Page 9] + +RFC 5123 Path Validation Considerations February 2008 + + + information about this authorization for each possible subblock of + 10.1.0.0/16. + + In other words, either AS65002 must receive the actual routes for + each suballocation of 10.1.0.0/16, or it must receive some form of + authorization allowing AS65001 to advertise each suballocation of + 10.1.0.0/16. This appears to defeat the purpose of aggregation, + rendering routing systems much less scalable than current design + allows. Further, this does not resolve the issue of how AS65002 + would actually know what all the suballocations of 10.1.0.0/16 + actually are. Some possible solutions could be: + + o The suballocator must advertise all suballocations. This could + potentially expose business relationships and patterns that many + large commercial providers do not want to expose, and degrades the + hierarchical nature of suballocation altogether. + + o The IP address space must be reconstructed so everyone using IP + address space will know, based on the construction of the IP + address space, what subblocks exist. For instance, the longest + allowed subblock could be set at a /24, and authorization must be + available for every possible /24 in the address space, either for + origination, or as part of an aggregate. This sort of solution + would be an extreme burden on the routing system. + +2.3.1.3. Proxy Aggregation + + It is also possible for AS65001 to have some form of agreement with + AS65002 to aggregate blocks of address space it does not own towards + AS65002. This might be done to reduce the burden on BGP speakers + within AS65002. This is called proxy aggregation. While proxy + aggregation is rare, it is useful to examine the result of agreed + upon proxy aggregation in this situation. + + Assume AS65001 has an advertisement for 10.1.0.0/24 from some unknown + source, and decides to advertise both 10.1.0.0/24 and 10.1.1.0/24 as + 10.1.0.0/23 to AS65002. If there exists an agreement for AS65001 to + advertise proxy aggregates to AS65002, the latter will accept the + advertisement regardless of any attached authorization to advertise. + This may represent a security risk for AS65002, but it might be seen + as an acceptable risk considering the trade-offs, from AS65002's + perspective. + + The problem is, however, this also impacts the policies of AS65000, + which is originating one of the two routes being aggregated by + AS65001. There is no way for AS65002 to know about this policy, nor + to react to it, and there is actually no incentive for AS65002 to + react to a security threat posed to AS65000, which it has no direct + + + +White & Akyol Informational [Page 10] + +RFC 5123 Path Validation Considerations February 2008 + + + relationship with. There doesn't appear to be any immediately + available solution to this problem, other than to disallow proxy + aggregation, even between two cooperating autonomous systems. + +2.3.2. Implications + + The basic problem is that AS65002 assumes when AS65001 advertises an + authorized route containing 10.1.1.0/24, either through a valid + unauthorized aggregate, an owner aggregated route, or a proxy + aggregation, AS65001 also has destination authorization for the + subblock 10.1.1.0/24, and transit authorization for destinations + within 10.1.1.0/24. These are, in fact, invalid assumptions, but + they are tied to the way routing actually works. This shows the + value of route authorization is questionable, unless there is some + way to untie destination and transit authorization from route + advertisements, which are deeply intertwined today. + +2.4. Third Example: Following a Specific Path + + This example is slightly more complex than the last two. Given the + following small network, assume that A and D have a mutually agreed + upon policy of not allowing traffic to transit B to reach + destinations within 10.1.1.0/25. + + 10.1.1.0/25--A---B---C---D + | | | + E-------F---G + + Assume the following: + + o A advertises 10.1.1.0/25 to B, and 10.1.1.0/24 to E. + + o B advertises 10.1.1.0/25 {B,A} to C. + + o E advertises 10.1.1.0/24 {E,A} to F, filtering 10.1.1.0/25 {E,A} + based on some local policy. + + o F advertises 10.1.1.0/24 {F,E,A} to C and to G. + + o C advertises 10.1.1.0/24 {C,F,E,A} to D, filtering 10.1.1.0/25 + {B,A} based on some local policy. + + o G advertises 10.1.1.0/24 {G,F,E,A} to D. + + o D chooses 10.1.1.0/24 {C,F,E,A} over 10.1.1.0/24 {G,F,E,A}. + + + + + + +White & Akyol Informational [Page 11] + +RFC 5123 Path Validation Considerations February 2008 + + + What path will traffic forwarded to C destined to hosts within + 10.1.1.0/25 actually follow? + + o D forwards this traffic to C, since its best path is through + 10.1.1.0/24 {C,F,E,A}. + + o C forwards this traffic to B, since its best path is through + 10.1.1.0/25 {B,A}. + + o B forwards this traffic to A, since its best path is through + 10.1.1.0/25 {A}. + + Considering this result: + + o Is the AS Path valid? Both {G, F, E, A} and {C, F, E, A} are + valid AS Paths, so both AS Paths in this example are valid. + + o Is the advertisement authorized? Assuming A is authorized to + advertise 10.1.1.0/24, and all the autonomous systems in the + example are authorized to readvertise 10.1.1.0/24, the route is + authorized. However, C does not have destination nor transit + authorization to 10.1.1.0/25, since B is the best path from C to + 10.1.1.0/25, and D and A have explicit policies not to transit + this path. In effect, then C does not have destination or transit + authorization for 10.1.1.0/24, because it contains 10.1.1.0/25. + + o Is the AS Path consistent with the forwarding path (is there + forwarding consistency)? While C is advertising the AS Path {C, + F, E, A} to D to reach destinations within 10.1.1.0/24, it is + actually forwarding along a different path to some destinations + within this advertisement. Forwarding consistency does not exist + within this internetwork. + + In this example, A assumes that D will receive both the advertisement + for 10.1.1.0/24 and the advertisement for 10.1.1.0/25, and will be + able to use the included AS Path to impose their mutually agreed on + policy not to transit B. Information about 10.1.1.0/25, however, is + removed from the routing system by policies outside the knowledge or + control of A or D. The information remaining in the routing system + implies D may correctly route to destinations within 10.1.1.0/25 + through C, since 10.1.1.0/25 is contained within 10.1.1.0/24, which C + is legally advertising. + + The tension between route authorization, destination authorization, + and transit authorization can be seen clearly in this slightly more + complex example. Route authorization implies destination and transit + authorization in routing, but route authorization does not include + destination or prefix authorization in this example. + + + +White & Akyol Informational [Page 12] + +RFC 5123 Path Validation Considerations February 2008 + + +2.5. Fourth Example: Interior and Exterior Paths Mismatch + + This is the most complex example we will cover in this document. It + can be argued that the configuration described in this example is a + misconfiguration, but we have chosen this example for its simplicity, + as an illustration of the complexity of the interaction between + interior and exterior gateway protocols within an autonomous system. + BGP route reflectors, particularly when configured in a hierarchy, + provide many examples of forwarding inconsistency, but they are much + more complex than this small example. + + +-----F(9)---------------G(3)--------+ + | | | + | +------+ | + | | | + | +---C(2)--+ | + | | | | + A(1)-----B(2) +----------------E(5)--10.1.1.0/24 + | | | | + | +---D(2)--+ | + | | + +------------------H(6)--J(7)--K(8)--+ + + In this diagram, each router is labeled, with the AS in which it is + contained, in parenthesis following the router label. As its best + path to 10.1.1.0/24: + + o Router E is using its local (intra-AS) path. + + o Router C is using the path through AS3. + + o Router D is using the path through Router E. + + o Router B is using the path through Router E. + + Examining the case of Router B more closely, however, we discover + that while Router B prefers the path it has learned from Router E, + that path has been advertised with a next hop of Router E itself. + However, Router B's best path to this next hop (i.e., Router E), as + determined by the interior routing protocol, is actually through + Router C. Thus, Router B advertises the path {2, 5} to Router A, but + traffic actually follows the path {2, 3, 5} when Router B receives + it. + + The system administrator of AS1 has determined there is an attacker + in AS3, and has set the policy on router A to avoid any route with + AS3 in the AS Path. So, beginning with this rule, it discards the + path learned from AS9. It now examines the two remaining paths, + + + +White & Akyol Informational [Page 13] + +RFC 5123 Path Validation Considerations February 2008 + + + learned from AS2 (B) and AS6, and determines the best path is {2, 5}, + through AS2 (B). However, unknown to A, AS2 (B) is also connected to + AS3, and is transiting traffic to AS5 via the path {2, 3, 5}. + + Returning to our questions: + + o Is the AS Path valid? The AS Path {2, 3, 5} is a valid AS Path. + + o Is the route authorized? Assuming each AS along the path is + authorized to originate, or readvertise, 10.1.1.0/24, the route is + authorized. Destination authorization is also clear in this + situation, since 10.1.1.0/24 is the single destination throughout + the example. Transit authorization is a little more difficult to + determine, since the traffic doesn't actually flow along the AS + Path contained in the routing advertisement. It's impossible to + claim the AS Path {2,3,5} is a valid path from either the route + originator or the traffic originator, since that AS Path is not + the AS Path advertised. Essentially, Router E assumes transit + authorization from route authorization, when there is no way to + determine that AS3 is actually authorized to transit traffic to + 10.1.1.0/24. + + o Is the AS Path consistent with the forwarding path (is there + forwarding consistency)? The advertised AS Path is {2, 5}, while + the traffic forwarded to the destination actually transits {2, 3, + 5}. Forwarding is not consistent in this example. + +3. Summary + + The examples given in this document are not the only possible + examples of forwarding that is inconsistent with the advertised AS + Path; [ROUTINGLOGIC] also provides some examples, as well. + [ASTRACEROUTE] provides some interesting background on the practical + impact of forwarding that is inconsistent with the advertised AS + Path, in the context of attempting to trace the actual path of + packets through a large internetwork, running BGP as an exterior + gateway protocol. + + Routing strongly intertwines the concepts of route authorization, + destination authorization, and transit authorization. If a BGP + speaker is authorized to advertise a specific route, routing assumes + that it is also authorized to advertise every possible subblock + within the destination prefix, and the advertiser is authorized to + transit packets to every destination within the route. By surveying + these examples, we see that route authorization does not, in fact, + equal destination authorization or transit authorization, calling + into question the value of route authorization. + + + + +White & Akyol Informational [Page 14] + +RFC 5123 Path Validation Considerations February 2008 + + + There are no easy or obviously scalable solutions to this problem. + +4. Acknowledgements + + We would like to thank Steve Kent for his contributions and comments + on this document. We would also like to thank Joel Halpern for his + work in clarifying many sections of the document, including + additional text in critical sections. + +5. Security Considerations + + This document does not propose any new extensions or additions to + existing or proposed protocols, and so does not impact the security + of any protocol. + +6. Informative References + + [ASTRACEROUTE] Feamster, N. and H. Balakrishnan, "Towards an Accurate + ASLevel Traceroute Tool", SIGCOMM ACM SIGCOMM, 2003. + + [BGP-MD5] Heffernan, A., "Protection of BGP Sessions via the TCP + MD5 Signature Option", RFC 2385, August 1998. + + [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A + Border Gateway Protocol 4 (BGP-4)", RFC 4271, January + 2006. + + [ROUTINGLOGIC] Feamster, N. and H. Balakrishnan, "Towards a Logic for + Wide Area Routing", SIGCOMM ACM SIGCOMM Worshop on + Future Directions in Network Architecture, Germany, + August 2003. + + [SOBGP] White, R., "Architecture and Deployment Considerations + for Secure Origin BGP (soBGP)", Work in Progress. + +Authors' Addresses + + Russ White + Cisco Systems + + EMail: riw@cisco.com + + + Bora Akyol + Cisco Systems + + EMail: bora@cisco.com + + + + +White & Akyol Informational [Page 15] + +RFC 5123 Path Validation Considerations February 2008 + + +Full Copyright Statement + + Copyright (C) The IETF Trust (2008). + + This document is subject to the rights, licenses and restrictions + contained in BCP 78 and at www.rfc-editor.org/copyright.html, and + except as set forth therein, the authors retain all their rights. + + This document and the information contained herein are provided on an + "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS + OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND + THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF + THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED + WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Intellectual Property + + The IETF takes no position regarding the validity or scope of any + Intellectual Property Rights or other rights that might be claimed to + pertain to the implementation or use of the technology described in + this document or the extent to which any license under such rights + might or might not be available; nor does it represent that it has + made any independent effort to identify any such rights. Information + on the procedures with respect to rights in RFC documents can be + found in BCP 78 and BCP 79. + + Copies of IPR disclosures made to the IETF Secretariat and any + assurances of licenses to be made available, or the result of an + attempt made to obtain a general license or permission for the use of + such proprietary rights by implementers or users of this + specification can be obtained from the IETF on-line IPR repository at + http://www.ietf.org/ipr. + + The IETF invites any interested party to bring to its attention any + copyrights, patents or patent applications, or other proprietary + rights that may cover technology that may be required to implement + this standard. Please address the information to the IETF at + ietf-ipr@ietf.org. + + + + + + + + + + + + +White & Akyol Informational [Page 16] + |