Skip to main content

Enhanced AS-Loop Detection for BGP
draft-chen-grow-enhanced-as-loop-detection-02

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors China Telecom , Di Ma , Yunan Gu , Shunwan Zhuang , Haibo Wang
Last updated 2019-10-26
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-chen-grow-enhanced-as-loop-detection-02
Network Working Group                                            H. Chen
Internet-Draft                                             China Telecom
Intended status: Best Current Practice                             D. Ma
Expires: April 28, 2020                                             ZDNS
                                                                   Y. Gu
                                                               S. Zhuang
                                                                 H. Wang
                                                                  Huawei
                                                        October 26, 2019

                   Enhanced AS-Loop Detection for BGP
             draft-chen-grow-enhanced-as-loop-detection-02

Abstract

   This document proposes to enhance AS-Loop Detection for BGP Inbound/
   Outbound Route Processing.  It is an enhancement to the current BGP's
   Inbound/Outbound processing and can be implemented directly on the
   device.  This could empower networks to quickly and accurately figure
   out they're being victimized.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 28, 2020.

Chen, et al.             Expires April 28, 2020                 [Page 1]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   5
   3.  Enhanced AS-Loop Detection for BGP Inbound Route Processing .   6
   4.  Enhanced AS-Loop Detection for BGP Outbound Route Processing    8
   5.  Benefits  . . . . . . . . . . . . . . . . . . . . . . . . . .   8
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   9.  Normative References  . . . . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   The Border Gateway Protocol (BGP) [RFC4271], as an inter-Autonomous
   (AS) routing protocol, is used to exchange network reachability
   information between BGP systems.  BGP is widely used by Internet
   Service Providers (ISPs) and large organizations.

   BGP is used to exchange reachable inter-AS routes, establish inter-AS
   paths, avoid routing loops, and apply routing policies between ASs.
   BGP loop detection mechanism is defined in section 9.1.2. of RFC4271:

      ...

      If the AS_PATH attribute of a BGP route contains an AS loop, the
      BGP route should be excluded from the Phase 2 decision function.
      AS loop detection is done by scanning the full AS path (as
      specified in the AS_PATH attribute), and checking that the
      autonomous system number of the local system does not appear in
      the AS path.  Operations of a BGP speaker that is configured to

Chen, et al.             Expires April 28, 2020                 [Page 2]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

      accept routes with its own autonomous system number in the AS path
      are outside the scope of this document.

      ...

   In ordinary BGP, every AS announces its route information with
   different prefixes.  However, its neighboring ASes cannot validate
   this route information, but rather directly propagate it across the
   Internet or simply discard AS-Loop routes directly.  Obviously, this
   weak trust model allows forged route announcement propagations and
   rarely been found, which is a fundamental security weakness of BGP.
   Forged routes, which can be generated by configuration errors or
   malicious attacks, can cause large-scale network connectivity
   problems.

   Some cases can be worse, hackers exploit this property of BGP to
   achieve their ulterior motives.  They can add some providers' AS
   number into the forged AS-Path and attempt to make it look like the
   route had passed through these ASNs, or perhaps they are there to
   prevent those providers from carrying the route.

   For example, the cases shown in Figure 1.

   o  Forged Case 1: One upstream ISP of AS64596 forged a route with the
      ASN 64596 as the origin ASN in the AS-Path.

   o  Forged Case 2: One upstream ISP of AS64596 forged a route with the
      ASN 64596 as the transit ASN in the AS-Path.

   After receiving the above routes, AS64596 treats them as normal loop
   routes during the loop detecting phase and discards them directly.
   In most NOSes (Network Operation Systems), such rejected routes are
   not logged and only visible by putting the router into debugging
   mode.  If the AS64596 is slightly enhanced, it can find that someone
   has faked himself, which may cause unnecessary trouble for himself.

Chen, et al.             Expires April 28, 2020                 [Page 3]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

     AS-Loop-Detecting at this point
     Discard AS-Loop Routes directly that contains AS64596
                 |
                 |
                 v                                 x.y.z.0/24 Origin AS 64600
AS64595---AS64596---AS64597---AS64598---AS64599----AS64600
                    Normal Case:
                    <-- x.y.z.0/24, AS-Path: 64597 64598 64599 64600

                    Forged Case 1:
                    <-- x.y.z.0/24, AS-Path: 64597 64596
                                        (Or: 64597 64598 64596 etc.)

                    Forged Case 2:
                    <-- x.y.z.0/24, AS-Path: 64597 64596 64600
                                        (Or: 64597 64596 64599 64600 etc.)

    Figure 1: BGP Inbound Route Processing

   Split-Horizon for EBGP is an optional function that a BGP sender will
   not advertise any routes that were previously received from that same
   AS.  In some current implementation, the BGP outbound route
   processing step will simply discard the route if AS-Loop being
   detected.

   For example, the cases shown in Figure 1.

   o  Forged Case 1: One upstream ISP of AS64597 forged a route with the
      ASN 64596 as the origin ASN in the AS-Path.

   o  Forged Case 2: One upstream ISP of AS64597 forged a route with the
      ASN 64596 as the transit ASN in the AS-Path.

   When sending the above routes, AS64597 treats them as normal loop
   routes and discards them directly.  If AS64597 is slightly enhanced,
   it can find that someone has faked AS64596, which may cause large-
   scale network connectivity problems.

Chen, et al.             Expires April 28, 2020                 [Page 4]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

     Split-Horizon Enable & AS-Loop-Detecting at this point
     Discard AS-Loop Routes directly if sending AS-Path contains AS64596
                   |
                   |
                   v                               x.y.z.0/24 Origin AS 64600
AS64595---AS64596---AS64597---AS64598---AS64599----AS64600
                    Normal Case:
                    <-- x.y.z.0/24, AS-Path: 64597 64598 64599 64600

                    Forged Case 1:
                    <-- x.y.z.0/24, AS-Path: 64597 64596
                                            (Or: 64597 64598 64596 etc.)

                    Forged Case 2:
                    <-- x.y.z.0/24, AS-Path: 64597 64596 64600
                                        (Or: 64597 64596 64599 64600 etc.)

    Figure 2: BGP Outbound Route Processing

   Above cases are also being known As-Path Poisoning Attacks.

   ASPA [I-D.ietf-sidrops-aspa-verification] can be used to verify the
   AS_PATH attribute of routes advertised in the Border Gateway
   Protocol, and it is a systematic deployment based on RPKI system.
   This mechanism requires a series of infrastructure implementations.

   This document proposes to enhance AS-Loop Detection for BGP Inbound/
   Outbound Route Processing.  It is an enhancement to the current BGP's
   Inbound/Outbound processing and can be implemented directly on the
   device.  This could empower networks to quickly and accurately figure
   out they're being victimized.

2.  Terminology

   The following terminology is used in this document.

   AS: Autonomous System

   BGP: Border Gateway Protocol

   BGP hijacking : is the illegitimate takeover of groups of IP
   addresses by corrupting Internet routing tables maintained using the
   Border Gateway Protocol (BGP).  (Sometimes referred to as prefix
   hijacking, route hijacking or IP hijacking)

   EBGP: External BGP

Chen, et al.             Expires April 28, 2020                 [Page 5]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

   ISP: Internet Service Provider

3.  Enhanced AS-Loop Detection for BGP Inbound Route Processing

   This section proposes to enhance AS Loop Detection for BGP Inbound
   Route Processing.

   As shown in Figure 3, when receiving the routes from AS64597, AS64596
   should check whether its own AS number is already in the AS-Path, If
   yes, it further analyzes the location of the AS Number 64596 in the
   received AS_Path:

   Case 1: AS 64596 is listed as Origin AS in the AS-Path

   Lookup the local resource database (Such as ROA Cache) and determine
   whether the route is originated from the AS 64596.

   o  Result 1: AS 64596 has no corresponding prefix; it is identified
      as a purely forged AS_Path prefix hijacking event, which is
      recorded as incident type 1.

   o  Result 2: The corresponding prefix is a sub-prefix of a certain
      prefix of the AS 64596 and the AS 64596 has not advertise it.  For
      example, the prefix being hold by the AS 64596 is 10.10.128.0/17,
      and the receiving route prefix is 10.10.192.0/24, the latter is a
      sub-prefix of the former, which indicates that this is a forged
      AS_Path sub-prefix hijacking event, which is recorded as incident
      type 2.

   o  Result 3: The corresponding prefix is a sub-prefix of a certain
      prefix of the AS 64596 and the AS 64596 has only advertised to
      some special ASNs, and only wants it to be used internally by
      those ASNs.  The AS 64596 recognizes that At least one special AS
      violates the route policy.  Which is recorded as incident type 3.

   o  Result 4: The corresponding prefix is originated by the AS 64596,
      this is the normal case.

   Case 2: AS 64596 is listed as transit AS in the AS-Path

   For example, AS-Path looks like the following form AS64596's
   perspective:

   (possible other ASes), left AS, local AS(64596), right AS, (possible
   other ASes)

   At this point, AS 64596 can lookup the local resource database and
   check whether there is a real AS relationship between the local AS

Chen, et al.             Expires April 28, 2020                 [Page 6]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

   and the left AS and the right AS.  (From the perspective of the local
   AS, it can manage/hold the AS-relationship database between the local
   AS and each of its neighboring ASs (such as C2P, P2P, P2C, etc.).)

   o  Result 1: At least one of the AS ( the left AS or the right AS)
      has no actual AS relationship with the local AS (i.e.  A never
      before seen AS-AS adjacency).  It is a purely forged AS_Path
      prefix hijacking event.  Which is recorded as incident type 4.

   o  Result 2: The AS relationships between the local AS and the left
      AS and the right AS are correct, but the local AS has not
      previously process this prefix , so it can be recognized that this
      is a forged route.  We classify this incident type as type 5.

   o  Result 3: The AS relationships between the AS and the left AS and
      the right AS are correct, and the local AS 64596 has previously
      processed the prefix, this is the normal case.

     Enhanced AS-Loop-Detecting at this point
     To identify the attack/forged information
                 |
                 |
                 v                                 x.y.z.0/24 Origin AS 64600
AS64595---AS64596---AS64597---AS64598---AS64599----AS64600
                    Normal Case:
                    <-- x.y.z.0/24, AS-Path: 64597 64598 64599 64600

                    Forged Case 1:
                    <-- x.y.z.0/24, AS-Path: 64596 64595
                                        (Or: 64597 64598 64596 etc.)

                    Forged Case 2:
                    <-- x.y.z.0/24, AS-Path: 64597 64596 64600
                                        (Or: 64597 64596 64599 64600 etc.)

   Figure 3: Enhance for BGP Inbound Route Processing

   The local AS 64596 inputs the detected result to the route hijacking
   management module, or/and records the log or/and the alarm
   information, and the maintenance team of the local AS 64596 can
   notify the maintenance team of the relevant AS to correct the error
   in their networks .

   After the above steps are added, the stability and security of the
   network can be improved.

Chen, et al.             Expires April 28, 2020                 [Page 7]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

4.  Enhanced AS-Loop Detection for BGP Outbound Route Processing

   This section proposes to enhance AS Loop Detection for BGP Outbound
   Route Processing.

    If Split-Horizon Enable, Enhanced AS-Loop-Detecting at this point
    To identify the attack/forged information
                   |
                   |
                   v                               x.y.z.0/24 Origin AS 64600
AS64595---AS64596---AS64597---AS64598---AS64599----AS64600
                    Normal Case:
                    <-- x.y.z.0/24, AS-Path: 300 64598 64599 64600

                    Forged Case 1:
                    <-- x.y.z.0/24, AS-Path: 64597 64596
                                        (Or: 64597 64598 64596 etc.)

                    Forged Case 2:
                    <-- x.y.z.0/24, AS-Path: 64597 64596 64600
                                        (Or: 64597 64596 64599 64600 etc.)

    Figure 4: Enhance for BGP Outbound Route Processing

   As shown in Figure 4, when sending the routes from AS64597 to
   AS64596, AS64597 will check whether the AS number 64596 is already in
   the AS-Path, If yes, it can further analyzes the location of the
   AS64596 in the received AS_Path:

   The remaining processing steps are the same as the previous section.

5.  Benefits

   After the enhancements of the AS Loop Detection for BGP Inbound/
   Outbound Route Processing are added, the stability and security of
   the network can be improved.

6.  Acknowledgements

   The authors would like to acknowledge the review and inputs from Gang
   Yan, Zhenbin Li, Aijun Wang, Jeff Haas, Robert Raszuk, Alexander
   Asimov, Ruediger Volk and the working group.

Chen, et al.             Expires April 28, 2020                 [Page 8]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

7.  IANA Considerations

   This document includes no request to IANA.

8.  Security Considerations

   This document does not change the underlying security issues in the
   BGP protocol.  It however, does provide an additional mechanism to
   protect against attacks based on the forged AS-Path in the BGP
   routes.

9.  Normative References

   [I-D.ietf-sidrops-aspa-verification]
              Azimov, A., Bogomazov, E., Patel, K., and J. Snijders,
              "Verification of AS_PATH Using the Resource Certificate
              Public Key Infrastructure and Autonomous System Provider
              Authorization", draft-ietf-sidrops-aspa-verification-01
              (work in progress), July 2019.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [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>.

   [RFC4760]  Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
              "Multiprotocol Extensions for BGP-4", RFC 4760,
              DOI 10.17487/RFC4760, January 2007,
              <https://www.rfc-editor.org/info/rfc4760>.

   [RFC7854]  Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP
              Monitoring Protocol (BMP)", RFC 7854,
              DOI 10.17487/RFC7854, June 2016,
              <https://www.rfc-editor.org/info/rfc7854>.

Authors' Addresses

Chen, et al.             Expires April 28, 2020                 [Page 9]
Internet-Draft         Enhanced AS-Loop Detection           October 2019

   Huanan Chen
   China Telecom
   109, West Zhongshan Road, Tianhe District
   Guangzhou  510000
   China

   Email: chenhn8.gd@chinatelecom.cn

   Di Ma
   ZDNS
   4 South 4th St. Zhongguancun
   Beijing, Haidian
   China

   Email: madi@zdns.cn

   Yunan Gu
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: guyunan@huawei.com

   Shunwan Zhuang
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: zhuangshunwan@huawei.com

   Haibo Wang
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: rainsword.wang@huawei.com

Chen, et al.             Expires April 28, 2020                [Page 10]