RFC 7132 INFORMATIONAL BGP · RPKI · SECURITY

BGP path threats: Threat Model for BGP Path Security

Who could attack BGP path security, and what they could do if they did.

On rfc-editor.org ↗
PUBLISHED
February 2014
AUTHORS
S. Kent, A. Chi
STREAM
IETF
ADVERSARY CLASSES
Network operators, hackers, criminals, registries, nations
DEFINITION OF A THREAT
A motivated, capable adversary
EXTENSIONS THAT BOUND CA CERTIFICATES
RFC 3779
RECORD FOR REPORTING REPOSITORY PROBLEMS
Ghostbusters Record, RFC 6493
DOCUMENT STATUS
Informational
DOI
10.17487/RFC7132
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                           S. Kent
Request for Comments: 7132                                           BBN
Category: Informational                                           A. Chi
ISSN: 2070-1721                                                   UNC-CH
                                                           February 2014


                   Threat Model for BGP Path Security

Abstract

   This document describes a threat model for the context in which
   External Border Gateway Protocol (EBGP) path security mechanisms will
   be developed.  The threat model includes an analysis of the Resource
   Public Key Infrastructure (RPKI) and focuses on the ability of an
   Autonomous System (AS) to verify the authenticity of the AS path info
   received in a BGP update.  We use the term "PATHSEC" to refer to any
   BGP path security technology that makes use of the RPKI.  PATHSEC
   will secure BGP, consistent with the inter-AS security focus of the
   RPKI.

   The document characterizes classes of potential adversaries that are
   considered to be threats and examines classes of attacks that might
   be launched against PATHSEC.  It does not revisit attacks against
   unprotected BGP, as that topic has already been addressed in the
   BGP-4 standard.  It concludes with a brief discussion of residual
   vulnerabilities.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7132.

Copyright Notice

   Copyright (c) 2014 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
   (http://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 . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Threat Characterization . . . . . . . . . . . . . . . . . . .   6
   4.  Attack Characterization . . . . . . . . . . . . . . . . . . .   8
     4.1.  Active Wiretapping of Sessions between Routers  . . . . .   8
     4.2.  Attacks on a BGP Router . . . . . . . . . . . . . . . . .   9
     4.3.  Attacks on Network Operator Management Computers (Non-CA
           Computers)  . . . . . . . . . . . . . . . . . . . . . . .  11
     4.4.  Attacks on a Repository Publication Point . . . . . . . .  12
     4.5.  Attacks on an RPKI CA . . . . . . . . . . . . . . . . . .  14
   5.  Residual Vulnerabilities  . . . . . . . . . . . . . . . . . .  16
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  18
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  18
   8.  Informative References  . . . . . . . . . . . . . . . . . . .  18

1.  Introduction

   This document describes the security context in which PATHSEC is
   intended to operate.  The term "PATHSEC" (for path security) refers
   to any design used to preserve the integrity and authenticity of the
   AS_PATH attribute carried in a BGP update message [RFC4271].  The
   security context used throughout this document is established by the
   Secure Inter-Domain Routing (SIDR) working group charter [SIDR-CH].
   The charter requires that solutions that afford PATHSEC make use of
   the Resource Public Key Infrastructure (RPKI) [RFC6480].  It also
   calls for protecting only the information required to verify that a
   received route traversed the Autonomous Systems (ASes) in question,
   and that the Network Layer Reachability Information (NLRI) in the
   route is what was advertised.

   Thus, the goal of PATHSEC is to enable a BGP speaker to verify that
   the ASes enumerated in this path attribute represent the sequence of
   ASes that the NLRI traversed.  The term "PATHSEC" is thus consistent
   with the goal described above.  (Other SIDR documents use the term
   "BGPSEC" to refer to a specific design; we avoid use of that term
   here.)

   This document discusses classes of potential adversaries that are
   considered to be threats, and classes of attacks that might be
   launched against PATHSEC.  Because PATHSEC will rely on the RPKI,
   threats and attacks against the RPKI are included.  This model also
   takes into consideration classes of attacks that are enabled by the
   use of PATHSEC (e.g., based on use of the RPKI).

   The motivation for developing PATHSEC, i.e., residual security
   concerns for BGP, is well described in several documents, including
   "BGP Security Vulnerabilities Analysis" [RFC4272] and "Design and
   Analysis of the Secure Border Gateway Protocol (S-BGP)" [Kent2000].
   All of these documents note that BGP does not include mechanisms that
   allow an AS to verify the legitimacy and authenticity of BGP route
   advertisements.  (BGP now mandates support for mechanisms to secure
   peer-to-peer communication, i.e., for the links that connect BGP
   routers.  There are several secure protocol options to address this
   security concern, e.g., IPsec [RFC4301] and TCP Authentication Option
   (TCP-AO) [RFC5925].  This document briefly notes the need to address
   this aspect of BGP security, but focuses on application layer BGP
   security issues that must be addressed by PATHSEC.)

   RFC 4272 [RFC4272] succinctly notes:

      BGP speakers themselves can inject bogus routing information,
      either by masquerading as any other legitimate BGP speaker, or by
      distributing unauthorized routing information as themselves.
      Historically, misconfigured and faulty routers have been
      responsible for widespread disruptions in the Internet.  The
      legitimate BGP peers have the context and information to produce
      believable, yet bogus, routing information, and therefore have the
      opportunity to cause great damage.  The cryptographic protections
      of [TCPMD5] and operational protections cannot exclude the bogus
      information arising from a legitimate peer.  The risk of
      disruptions caused by legitimate BGP speakers is real and cannot
      be ignored.

   PATHSEC is intended to address the concerns cited above, to provide
   significantly improved path security, which builds upon the route
   origination validation capability offered by use of the RPKI
   [RFC6810].  Specifically, the RPKI enables relying parties (RPs) to
   determine if the origin AS for a path was authorized to advertise the
   prefix contained in a BGP update message.  This security feature is
   enabled by the use of two types of digitally signed data: a PKI
   [RFC6487] that associates one or more prefixes with the public key(s)
   of an address space holder, and Route Origin Authorizations (ROAs)
   [RFC6482] that allow a prefix holder to specify one or more ASes that
   are authorized to originate routes for a prefix.

   The security model adopted for PATHSEC does not assume an "oracle"
   that can see all of the BGP inputs and outputs associated with every
   AS or every BGP router.  Instead, the model is based on a local
   notion of what constitutes legitimate, authorized behavior by the BGP
   routers associated with an AS.  This is an AS-centric model of secure
   operation, consistent with the AS-centric model that BGP employs for
   routing.  This model forms the basis for the discussion that follows.

   This document begins with a brief set of definitions relevant to the
   subsequent sections.  It then discusses classes of adversaries that
   are perceived as viable threats against routing in the public
   Internet.  It continues to explore a range of attacks that might be
   effected by these adversaries against both path security and the
   infrastructure upon which PATHSEC relies.  It concludes with a brief
   review of residual vulnerabilities, i.e., vulnerabilities that are
   not addressed by use of the RPKI and that appear likely to be outside
   the scope of PATHSEC mechanisms.

2.  Terminology

   The following security and routing terminology definitions are
   employed in this document.

   Adversary:  An adversary is an entity (e.g., a person or an
      organization) that is perceived as malicious, relative to the
      security policy of a system.  The decision to characterize an
      entity as an adversary is made by those responsible for the
      security of a system.  Often, one describes classes of adversaries
      with similar capabilities or motivations rather than specific
      individuals or organizations.

   Attack:  An attack is an action that attempts to violate the security
      policy of a system, e.g., by exploiting a vulnerability.  There is
      often a many-to-one mapping of attacks to vulnerabilities because
      many different attacks may be used to exploit a vulnerability.

   Autonomous System (AS):  An AS is a set of one or more IP networks
      operated by a single administrative entity.

   AS Number (ASN):  An ASN is a 2- or 4-byte number issued by a
      registry to identify an AS in BGP.

   Certification Authority (CA):  An entity that issues digital
      certificates (e.g., X.509 certificates) and vouches for the
      binding between the data items in a certificate.

   Countermeasure:  A countermeasure is a procedure or technique that
      thwarts an attack, preventing it from being successful.  Often,
      countermeasures are specific to attacks or classes of attacks.

   Border Gateway Protocol (BGP):  A path vector protocol used to convey
      "reachability" information among ASes in support of inter-domain
      routing.

   False (Route) Origination:  If a network operator originates a route
      for a prefix that the operator does not hold (and that has not
      been authorized to originate by the prefix holder), this is termed
      false route origination.

   Internet Service Provider (ISP):  An organization managing (and
      typically selling) Internet services to other organizations or
      individuals.

   Internet Number Resources (INRs):  IPv4 or IPv6 address space and
      ASNs.

   Internet Registry:  An organization that manages the allocation or
      distribution of INRs.  This encompasses the Internet Assigned
      Number Authority (IANA), Regional Internet Registries (RIRs),
      National Internet Registries (NIRs), and Local Internet Registries
      (LIRs) (network operators).

   Man in the Middle (MITM):  A MITM is an entity that is able to
      examine and modify traffic between two (or more) parties on a
      communication path.

   Network Operator:  An entity that manages an AS and thus emits (E)BGP
      updates, e.g., an ISP.

   Network Operations Center (NOC):  A network operator employs a set of
      equipment and a staff to manage a network, typically on a 24/7
      basis.  The equipment and staff are often referred to as the NOC
      for the network.

   Prefix:  A prefix is an IP address and a mask used to specify a set
      of addresses that are grouped together for purposes of routing.

   Public Key Infrastructure (PKI):  A PKI is a collection of hardware,
      software, people, policies, and procedures used to create, manage,
      distribute, store, and revoke digital certificates.

   Relying Parties (RPs):  An RP is an entity that makes use of signed
      products from a PKI, i.e., it relies on signed data that is
      verified using certificates and Certificate Revocation Lists
      (CRLs) from a PKI.

   RPKI Repository System:  The RPKI repository system consists of a
      distributed set of loosely synchronized databases.

   Resource PKI (RPKI):  A PKI operated by the entities that manage INRs
      and that issue X.509 certificates (and CRLs) that attest to the
      holdings of INRs.

   RPKI Signed Object:  An RPKI signed object is a data object
      encapsulated with Cryptographic Message Syntax (CMS) that complies
      with the format and semantics defined in [RFC6488].

   Route:  In the Internet, a route is a prefix and an associated
      sequence of ASNs that indicates a path via which traffic destined
      for the prefix can be directed.  (The route includes the origin
      AS.)

   Route Leak:  A route leak is said to occur when AS-A advertises
      routes that it has received from AS-B to the neighbors of AS-A,
      but AS-A is not viewed as a transit provider for the prefixes in
      the route.

   Threat:  A threat is a motivated, capable adversary.  An adversary
      that is not motivated to launch an attack is not a threat.  An
      adversary that is motivated but not capable of launching an attack
      also is not a threat.

   Vulnerability:  A vulnerability is a flaw or weakness in a system's
      design, implementation, or operation and management that could be
      exploited to violate the security policy of a system.

3.  Threat Characterization

   As noted in Section 2 above, a threat is defined as a motivated,
   capable adversary.  The following classes of threats represent
   classes of adversaries viewed as relevant to this environment.

      Network Operators: A network operator may be a threat.  An
      operator may be motivated to cause BGP routers it controls to emit
      update messages with inaccurate routing info, e.g., to cause
      traffic to flow via paths that are economically advantageous for
      the operator.  Such updates might cause traffic to flow via paths
      that would otherwise be rejected as less advantageous by other
      network operators.  Because an operator controls the BGP routers
      in its network, it is in a position to modify their operation in
      arbitrary ways.  Routers managed by a network operator are
      vehicles for mounting MITM attacks on both control and data plane
      traffic.  If an operator participates in the RPKI, it will have at
      least one CA resource certificate and may be able to generate an
      arbitrary number of subordinate CA certificates and ROAs.  It will
      be authorized to populate (and may even host) its own repository
      publication point.  If it implements PATHSEC, and if PATHSEC makes
      use of certificates associated with routers or ASes, it will have
      the ability to issue such certificates for itself.  If PATHSEC
      digitally signs updates, it will be able to do so in a fashion
      that will be accepted by PATHSEC-enabled neighbors.

      Hackers: Hackers are considered a threat.  A hacker might assume
      control of network management computers and routers controlled by
      operators, including operators that implement PATHSEC.  In such
      cases, hackers would be able to act as rogue network operators
      (see above).  It is assumed that hackers generally do not have the
      capability to effect MITM attacks on most links between networks
      (links used to transmit BGP and subscriber traffic).  A hacker
      might be recruited, without his/her knowledge, by criminals or by
      nations, to act on their behalf.  Hackers may be motivated by a
      desire for "bragging rights", for profit, or to express support
      for a cause ("hacktivists" [Sam04]).  We view hackers as possibly
      distinct from criminals in that the former are presumed to effect
      attacks only remotely (not via a physical presence associated with
      a target) and not necessarily for monetary gain.  Some hackers may
      commit criminal acts (depending on the jurisdiction), and thus
      there is a potential for overlap between this adversary group and
      criminals.

      Criminals: Criminals may be a threat.  Criminals might persuade
      (via threats or extortion) a network operator to act as a rogue
      operator (see above) and thus be able to effect a wide range of
      attacks.  Criminals might persuade the staff of a
      telecommunications provider to enable MITM attacks on links
      between routers.  Motivations for criminals may include the
      ability to extort money from network operators or network operator
      clients, e.g., by adversely affecting routing for these network
      operators or their clients.  Criminals also may wish to manipulate
      routing to conceal the sources of spam, DoS attacks, or other
      criminal activities.

      Registries: Any registry in the RPKI could be a threat.  Staff at
      the registry are capable of manipulating repository content or
      mismanaging the RPKI certificates that they issue.  These actions
      could adversely affect a network operator or a client of a network
      operator.  The staff could be motivated to do this based on
      political pressure from the nation in which the registry operates
      (see below) or due to criminal influence (see above).

      Nations: A nation may be a threat.  A nation may control one or
      more network operators that operate in the nation, and thus can
      cause them to act as rogue network operators.  A nation may have a
      technical active wiretapping capability (e.g., within its
      territory) that enables it to effect MITM attacks on inter-network
      traffic.  (This capability may be facilitated by control or
      influence over a telecommunications provider operating within the
      nation.)  It may have an ability to attack and take control of
      routers or management network computers of network operators in
      other countries.  A nation may control a registry (e.g., an RIR)
      that operates within its territory and might force that registry
      to act in a rogue capacity.  National threat motivations include
      the desire to control the flow of traffic to/from the nation or to
      divert traffic destined for other nations (for passive or active
      wiretapping, including DoS).

4.  Attack Characterization

   This section describes classes of attacks that may be effected
   against Internet routing (relative to the context described in
   Section 1).  Attacks are classified based on the target of the
   attack, an element of the routing system, or the routing security
   infrastructure on which PATHSEC relies.  In general, attacks of
   interest are ones that attempt to violate the integrity or
   authenticity of BGP traffic or that violate the authorizations
   associated with entities participating in the RPKI.  Attacks that
   violate the implied confidentiality of routing traffic, e.g., passive
   wiretapping attacks, are not considered a requirement for BGP
   security (see [RFC4272]).

4.1.  Active Wiretapping of Sessions between Routers

   An adversary may attack the BGP (TCP) session that connects a pair of
   BGP speakers.  An active attack against a BGP (TCP) session can be
   effected by directing traffic to a BGP speaker from some remote
   point, or by being positioned as a MITM on the link that carries BGP
   session traffic.  Remote attacks can be effected by any adversary.  A
   MITM attack requires access to the link.  Modern transport networks
   may be as complex as the packet networks that utilize them for inter-
   AS links.  Thus, these transport networks may present significant
   attack surfaces.  Nonetheless, only some classes of adversaries are
   assumed to be capable of MITM attacks against a BGP session.  MITM
   attacks may be directed against BGP and PATHSEC-protected BGP, or
   against TCP or IP.  Such attacks include replay of selected BGP
   messages, selective modification of BGP messages, and DoS attacks
   against BGP routers.  [RFC4272] describes several countermeasures for
   such attacks, and thus this document does not further address such
   attacks.

4.2.  Attacks on a BGP Router

   An adversary may attack a BGP router, whether or not it implements
   PATHSEC.  Any adversary that controls routers legitimately, or that
   can assume control of a router, is assumed to be able to effect the
   types of attacks described below.  Note that any router behavior that
   can be ascribed to a local routing policy decision is not considered
   to be an attack.  This is because such behavior could be explained as
   a result of local policy settings and thus is beyond the scope of
   what PATHSEC can detect as unauthorized behavior.  Thus, for example,
   a router may fail to propagate some or all route withdrawals or
   effect "route leaks".  (These behaviors are not precluded by the
   specification for BGP and might be the result of a local policy that
   is not publicly disclosed.  As a result, they are not considered
   attacks.  See Section 5 for additional discussion.)

   Attacks on a router are equivalent to active wiretapping attacks (in
   the most general sense) that manipulate (forge, tamper with, or
   suppress) data contained in BGP updates.  The list below illustrates
   attacks of this type.

      AS Insertion: A router might insert one or more ASNs, other than
      its own ASN, into an update message.  This violates the BGP spec
      and thus is considered an attack.

      False (Route) Origination: A router might originate a route for a
      prefix when the AS that the router represents is not authorized to
      originate routes for that prefix.  This is an attack, but it is
      addressed by the use of the RPKI [RFC6480].

      Secure Path Downgrade: A router might remove AS_PATH data from a
      PATHSEC-protected update that it receives when forwarding this
      update to a PATHSEC-enabled neighbor.  This behavior violates the
      PATHSEC security goals and thus is considered an attack.

      Invalid AS_PATH Data Insertion: A router might emit a PATHSEC-
      protected update with "bad" data (such as a signature), i.e.,
      PATHSEC data that cannot be validated by other PATHSEC routers.
      Such behavior is assumed to violate the PATHSEC goals and thus is
      considered an attack.

      Stale Path Announcement: If PATHSEC-secured announcements can
      expire, such an announcement may be propagated with PATHSEC data
      that is "expired".  This behavior would violate the PATHSEC goals
      and is considered a type of replay attack.

      Premature Path Announcement Expiration: If a PATHSEC-secured
      announcement has an associated expiration time, a router might
      emit a PATHSEC-secured announcement with an expiry time that is
      very short.  Unless the PATHSEC protocol specification mandates a
      minimum expiry time, this is not an attack.  However, if such a
      time is mandated, this behavior becomes an attack.  BGP speakers
      along a path generally cannot determine if an expiry time is
      "suspiciously short" since they cannot know how long a route may
      have been held by an earlier AS, prior to being released.

      MITM Attack: A cryptographic key used for point-to-point security
      (e.g., TCP-AO, TLS, or IPsec) between two BGP routers might be
      compromised (e.g., by extraction from a router).  This would
      enable an adversary to effect MITM attacks on the link(s) where
      the key is used.  Use of specific security mechanisms to protect
      inter-router links between ASes is outside the scope of PATHSEC.

      Compromised Router Private Key: If PATHSEC mechanisms employ
      public key cryptography, e.g., to digitally sign data in an
      update, then a private key associated with a router or an AS might
      be compromised by an attack against the router.  An adversary with
      access to this key would be able to generate updates that appear
      to have passed through the AS that this router represents.  Such
      updates might be injected on a link between the compromised router
      and its neighbors if that link is accessible to the adversary.  If
      the adversary controls another network, it could use this key to
      forge signatures that appear to come from the AS or router(s) in
      question, with some constraints.  So, for example, an adversary
      that controls another AS could use a compromised router/AS key to
      issue PATHSEC-signed data that includes the targeted router/AS.
      (Neighbors of the adversary's AS ought not accept a route that
      purports to emanate directly from the targeted AS.  So, an
      adversary could take a legitimate, protected route that passes
      through the compromised AS, add itself as the next hop, and then
      forward the resulting route to neighbors.)

      Withdrawal Suppression Attack: A PATHSEC-protected update may be
      signed and announced, and later withdrawn.  An adversary
      controlling intermediate routers could fail to propagate the
      withdrawal.  BGP is already vulnerable to behavior of this sort,
      so withdrawal suppression is not characterized as an attack under
      the assumptions upon which this mode is based (i.e., no oracle).

4.3.  Attacks on Network Operator Management Computers (Non-CA
      Computers)

   An adversary may choose to attack computers used by a network
   operator to manage its network, especially its routers.  Such attacks
   might be effected by an adversary who has compromised the security of
   these computers.  This might be effected via remote attacks,
   extortion of network operations staff, etc.  If an adversary
   compromises NOC computers, he can execute any management function
   that authorized network operations the staff would have performed.
   Thus, the adversary could modify the local routing policy to change
   preferences, to black-hole certain routes, etc.  This type of
   behavior cannot be externally detected as an attack.  Externally,
   this appears as a form of rogue operator behavior.  (Such behavior
   might be perceived as accidental or malicious by other operators.)

   If a network operator participates in the RPKI, an adversary could
   manipulate the RP tools that extract data from the RPKI, causing the
   output of these tools to be corrupted in various ways.  For example,
   an attack of this sort could cause the operator to view valid routes
   as not validated, which could alter its routing behavior.

   If an adversary invoked the tool used to manage the repository
   publication point for this operator, it could delete any objects
   stored there (certificates, CRLs, manifests, ROAs, or subordinate CA
   certificates).  This could affect the routing status of entities that
   have allocations/assignments from this network operator (e.g., by
   deleting their CA certificates).

   An adversary could invoke the tool used to request certificate
   revocation, causing router certificates, ROAs, or subordinate CA
   certificates to be revoked.  An attack of this sort could affect not
   only this operator but also any operators that receive allocations/
   assignments from it, e.g., because their CA certificates were
   revoked.

   If an operator is PATHSEC-enabled, an attack of this sort could cause
   the affected operator to be viewed as not PATHSEC-enabled, possibly
   making routes it emits less preferable to other operators.

   If an adversary invoked a tool used to request ROAs, it could
   effectively reallocate some of the prefixes allocated/assigned to the
   network operator (e.g., by modifying the origin AS in ROAs).  This
   might cause other PATHSEC-enabled networks to view the affected
   network as no longer originating routes for these prefixes.  Multi-
   homed subscribers of this operator who received an allocation from
   the operator might find that their traffic was routed via other
   connections.

   If the network operator is PATHSEC-enabled, and makes use of
   certificates associated with routers/ASes, an adversary could invoke
   a tool used to request such certificates.  The adversary could then
   replace valid certificates for routers/ASes with ones that might be
   rejected by PATHSEC-enabled neighbors.

4.4.  Attacks on a Repository Publication Point

   A critical element of the RPKI is the repository system.  An
   adversary might attack a repository, or a publication point within a
   repository, to adversely affect routing.

   This section considers only those attacks that can be launched by any
   adversary who controls a computer hosting one or more repository
   publication points, without access to the cryptographic keys needed
   to generate valid RPKI-signed products.  Such attacks might be
   effected by an insider or an external threat.  Because all repository
   objects are digitally signed, attacks of this sort translate into DoS
   attacks against the RPKI RPs.  There are a few distinct forms of such
   attacks, as described below.

   Note first that the RPKI calls for RPs to cache the data they acquire
   and verify from the repository system [RFC6480][RFC6481].  Attacks
   that delete signed products, insert products with "bad" signatures,
   tamper with object signatures, or replace newer objects with older
   (valid) ones, can be detected by RPs (with a few exceptions).  RPs
   are expected to make use of local caches.  If repository publication
   points are unavailable or the retrieved data is corrupted, an RP can
   revert to using the cached data.  This behavior helps insulate RPs
   from the immediate effects of DoS attacks on publication points.

   Each RPKI data object has an associated date on which it expires or
   is considered stale (certificates expire and CRLs become stale).
   When an RP uses cached data, how to deal with stale or expired data
   is a local decision.  It is common in PKIs to make use of stale
   certificate revocation status data when fresher data is not
   available.  Use of expired certificates is less common, although not
   unknown.  Each RP will decide, locally, whether to continue to make
   use of or ignore cached RPKI objects that are stale or expired.

   If an adversary inserts an object into a publication point, and the
   object has a "bad" signature, the object will not be accepted and
   used by RPs.

   If an adversary modifies any signed product at a publication point,
   the signature on the product will fail, causing RPs to not accept it.
   This is equivalent to deleting the object, in many respects.

   If an adversary deletes one or more CA certificates, ROAs, or the CRL
   for a publication point, the manifest for that publication point will
   allow an RP to detect this attack.  An RP can continue to use the
   last valid instance of the deleted object (as a local policy option),
   thus minimizing the impact of such an attack.

   If an adversary deletes a manifest (and does not replace it with an
   older instance), RPs are able to detect this action.  Such behavior
   should result in the CA (or publication point maintainer) being
   notified of the problem.  An RP can continue to use the last valid
   instance of the deleted manifest (a local policy option), thus
   minimizing the impact of such an attack.

   If an adversary deletes newly added CA certificates or ROAs, and
   replaces the current manifest with the previous manifest, the
   manifest (and the CRL that it matches) will be "stale" (see
   [RFC6486]).  This alerts an RP that there may be a problem.  The RP
   should use the information from a Ghostbuster Record [RFC6493] to
   contact the entity responsible for the publication point and request
   a remedy to the problem (e.g., republish the missing CA certificates
   and/or ROAs).  An RP cannot know the content of the new certificates
   or ROAs that are not present, but it can continue to use what it has
   cached.  An attack of this sort will, at least temporarily, cause RPs
   to be unaware of the newly published objects.  INRs associated with
   these objects will be treated as unauthenticated.

   If a CA revokes a CA certificate or a ROA (via deleting the
   corresponding End Entity (EE) certificate), and the adversary tries
   to reinstate that CA certificate or ROA, the adversary would have to
   rollback the CRL and the manifest to undo this action by the CA.  As
   above, this would make the CRL and manifest stale, and this is
   detectable by RPs.  An RP cannot know which CA certificates or ROAs
   were deleted.  Depending on local policy, the RP might use the cached
   instances of the affected objects and thus be tricked into making
   decisions based on these revoked objects.  Here too, the goal is that
   the CA will be notified of the problem (by RPs) and will remedy the
   error.

   In the attack scenarios above, when a CRL or manifest is described as
   stale, this means that the next issue date for the CRL or manifest
   has passed.  Until the next issue date, an RP will not detect the
   attack.  Thus, it behooves CAs to select CRL/manifest lifetimes (the
   two are linked) that represent an acceptable trade-off between risk
   and operational burdens.

   Attacks effected by adversaries that are legitimate managers of
   publication points can have much greater effects and are discussed
   below under attacks on or by CAs.

4.5.  Attacks on an RPKI CA

   Every entity to which INRs have been allocated/assigned is a CA in
   the RPKI.  Each CA is nominally responsible for managing the
   repository publication point for the set of signed products that it
   generates.  (An INR holder may choose to outsource the operation of
   the RPKI CA function and the associated publication point.  In such
   cases, the organization operating on behalf of the INR holder becomes
   the CA from an operational and security perspective.  The following
   discussion does not distinguish such outsourced CA operations.)

   Note that attacks attributable to a CA may be the result of malice by
   the CA (i.e., the CA is the adversary), or they may result from a
   compromise of the CA.

   All of the adversaries listed in Section 2 are presumed to be capable
   of launching attacks against the computers used to perform CA
   functions.  Some adversaries might effect an attack on a CA by
   violating personnel or physical security controls as well.  The
   distinction between the CA as an adversary versus the CA as an attack
   victim is important.  Only in the latter case should one expect the
   CA to remedy problems caused by an attack once the attack has been
   detected.  (If a CA does not take such action, the effects are the
   same as if the CA is an adversary.)

   Note that most of the attacks described below do not require
   disclosure of a CA's private key to an adversary.  If the adversary
   can gain control of the computer used to issue certificates, it can
   effect these attacks, even though the private key for the CA remains
   "secure" (i.e., not disclosed to unauthorized parties).  However, if
   the CA is not the adversary, and if the CA's private key is not
   compromised, then recovery from these attacks is much easier.  This
   motivates use of hardware security modules to protect CA keys, at
   least for higher tiers in the RPKI.

   An attack by a CA can result in revocation or replacement of any of
   the certificates that the CA has issued.  Revocation of a certificate
   should cause RPs to delete the (formerly) valid certificate (and
   associated signed object, in the case of a revoked EE certificate)
   that they have cached.  This would cause repository objects (e.g., CA
   certificates and ROAs) that are verified under that certificate to be
   considered invalid, transitively.  As a result, RPs would not
   consider any ROAs or PATHSEC-protected updates to be valid based on
   these certificates, which would make routes dependent on them less
   preferred.  Because a CA that revokes a certificate is authorized to
   do so, this sort of attack cannot be detected, intrinsically, by most
   RPs.  However, the entities affected by the revocation or replacement
   of CA certificates can be expected to detect the attack and contact
   the CA to effect remediation.  If the CA was not the adversary, it
   should be able to issue new certificates and restore the publication
   point.

   An adversary that controls the CA for a publication point can publish
   signed products that create more subtle types of DoS attacks against
   RPs.  For example, such an attacker could create subordinate CA
   certificates with Subject Information Access (SIA) pointers that lead
   RPs on a "wild goose chase" looking for additional publication points
   and signed products.  An attacker could publish certificates with
   very brief validity intervals or CRLs and manifests that become
   "stale" very quickly.  This sort of attack would cause RPs to access
   repositories more frequently, and that might interfere with
   legitimate accesses by other RPs.

   An attacker with this capability could create very large numbers of
   ROAs to be processed (with prefixes that are consistent with the
   allocation for the CA) and correspondingly large manifests.  An
   attacker could create very deep subtrees with many ROAs per
   publication point, etc.  All of these types of DoS attacks against
   RPs are feasible within the syntactic and semantic constraints
   established for RPKI certificates, CRLs, and signed objects.

   An attack that results in revocation and replacement (e.g., key
   rollover or certificate renewal) of a CA certificate would cause RPs
   to replace the old, valid certificate with the new one.  This new
   certificate might contain a public key that does not correspond to
   the private key held by the certificate subject.  That would cause
   objects signed by that subject to be rejected as invalid, and prevent
   the affected subject from being able to sign new objects.  As above,
   RPs would not consider any ROAs issued under the affected CA
   certificate to be valid, and updates based on router certificates
   issued by the affected CA would be rejected.  This would make routes
   dependent on these signed products less preferred.  However, the
   constraints imposed by the use of extensions detailed in [RFC3779]
   prevent a compromised CA from issuing (valid) certificates with INRs
   outside the scope of the CA, thus limiting the impact of the attack.

   An adversary that controls a CA could issue CA certificates with
   overlapping INRs to different entities when no transfer of INRs is
   intended.  This could cause confusion for RPs as conflicting ROAs
   could be issued by the distinct (subordinate) CAs.

   An adversary could replace a CA certificate, use the corresponding
   private key to issue new signed products, and then publish them at a
   publication point controlled by the attacker.  This would effectively
   transfer the affected INRs to the adversary or to a third party of
   his choosing.  The result would be to cause RPs to view the entity
   that controls the private key in question as the legitimate INR
   holder.  Again, the constraints imposed by the use of the extensions
   in RFC 3779 prevent a compromised CA from issuing (valid)
   certificates with INRs outside the scope of the CA, thus limiting the
   impact of the attack.

   Finally, an entity that manages a repository publication point can
   inadvertently act as an attacker (an example of Walt Kelly's most
   famous "Pogo" quote [Kelly70]).  For example, a CA might fail to
   replace its own certificate in a timely fashion (well before it
   expires).  It might fail to issue its CRL and manifest prior to
   expiration, creating stale instances of these products that cause
   concern for RPs.  A CA with many subordinate CAs (e.g., an RIR or
   NIR) might fail to distribute the expiration times for the CA
   certificates that it issues.  A network with many ROAs might do the
   same for the EE certificates associated with the ROAs it generates.
   A CA could rollover its key but fail to reissue subordinate CA
   certificates under its new key.  Poor planning with regard to rekey
   intervals for managed CAs could impose undue burdens for RPs, despite
   a lack of malicious intent.  All of these examples of mismanagement
   could adversely affect RPs, despite the absence of malicious intent.

5.  Residual Vulnerabilities

   The RPKI, upon which PATHSEC relies, has several residual
   vulnerabilities that were discussed in the preceding text (Sections
   4.4 and 4.5).  These vulnerabilities are of two principle forms:

   o  The RPKI repository system may be attacked in ways that make its
      contents unavailable, not current, or inconsistent.  The principle
      defense against most forms of DoS attacks is the use of a local
      cache by each RP.  The local cache ensures availability of
      previously acquired RPKI data in the event that a repository is
      inaccessible or if the repository contents are deleted
      (maliciously).  Nonetheless, the system cannot ensure that every
      RP will always have access to up-to-date RPKI data.  An RP, when
      it detects a problem with acquired repository data, has two
      options:

      1.  The RP may choose to make use of its local cache, employing
          local configuration settings that tolerate expired or stale
          objects.  (Such behavior is, nominally, always within the
          purview of an RP in PKI.)  Using cached, expired, or stale
          data subjects the RP to attacks that take advantage of the
          RP's ignorance of changes to this data.

      2.  The RP may chose to purge expired objects.  Purging expired
          objects removes the security information associated with the
          real-world INRs to which the objects refer.  This is
          equivalent to the affected INRs not having been afforded
          protection via the RPKI.  Since use of the RPKI (and PATHSEC)
          is voluntary, there may always be a set of INRs that are not
          protected by these mechanisms.  Thus, purging moves the
          affected INRs to the set of non-participating INR holders.
          This more conservative response enables an attacker to move
          INRs from the protected set to the unprotected set.

   o  Any CA in the RPKI may misbehave within the bounds of the INRs
      allocated to it, e.g., it may issue certificates with duplicate
      resource allocations or revoke certificates inappropriately.  This
      vulnerability is intrinsic in any PKI, but its impact is limited
      in the RPKI because of the use of extensions in RFC 3779.  It is
      anticipated that RPs will deal with such misbehavior through
      administrative means once it is detected.

   PATHSEC has a separate set of residual vulnerabilities:

   o  It has been stated that "route leaks" are viewed as a routing
      security problem by many operators.  However, BGP itself does not
      include semantics that preclude what many perceive as route leaks,
      and there is no definition of the term in any RFC.  This makes it
      inappropriate to address route leaks in this document.
      Additionally, route leaks are outside the scope of PATHSEC,
      consistent with the security context noted in Section 1 of this
      document.  If, at a later time, the SIDR security context is
      revised to include route leaks, and an appropriate definition
      exists, this document should be revised.

   o  PATHSEC is not required to protect all attributes associated with
      an AS_PATH, even though some of these attributes may be employed
      as inputs to routing decisions.  Thus, attacks that modify (or
      strip) these other attributes are not prevented/detected by
      PATHSEC.  As noted in Section 1, the SIDR security context calls
      for protecting only the information needed to verify that a
      received route traversed the ASes in question, and that the NLRI
      in the route is what was advertised.  (The AS_PATH data also may
      have traversed ASes within a confederation that are not
      represented.  However, these ASes are not externally visible and
      thus do not influence route selection, so their omission in this
      context is not a security concern.)  Thus, protection of other
      attributes is outside the scope of this document, as described in
      Section 1.  If, at a later time, the SIDR security context is
      revised to include protection of additional BGP attributes, this
      document should be revised.

   o  PATHSEC cannot ensure that an AS will withdraw a route when the AS
      no longer has a route for a prefix, as noted in Section 4.2.
      PATHSEC may incorporate features to limit the lifetime of an
      advertisement.  Such lifetime limits provide an upper bound on the
      time that the failure to withdraw a route will remain effective.

6.  Security Considerations

   A threat model is, by definition, a security-centric document.
   Unlike a protocol description, a threat model does not create
   security problems nor does it purport to address security problems.
   This model postulates a set of threats (i.e., motivated, capable
   adversaries) and examines classes of attacks that these threats are
   capable of effecting, based on the motivations ascribed to the
   threats.  It describes the impact of these types of attacks on
   PATHSEC, including the RPKI on which PATHSEC relies.  It describes
   how the design of the RPKI (and the PATHSEC design goals) address
   classes of attacks, where applicable.  It also notes residual
   vulnerabilities.

7.  Acknowledgements

   The authors with to thank the members of the SIDR working group for
   the extensive feedback provided during the development of this
   document.

8.  Informative References

   [Kelly70]  Kelly, W., "We Have Met The Enemy and He Is Us: Pogo Earth
              Day Poster", April 1970.

   [Kent2000]
              Kent, S., Lynn, C., and K. Seo, "Design and Analysis of
              the Secure Border Gateway Protocol (S-BGP)", IEEE DISCEX
              Conference, June 2000.

   [RFC3779]  Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
              Addresses and AS Identifiers", RFC 3779, June 2004.

   [RFC4271]  Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
              Protocol 4 (BGP-4)", RFC 4271, January 2006.

   [RFC4272]  Murphy, S., "BGP Security Vulnerabilities Analysis", RFC
              4272, January 2006.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, December 2005.

   [RFC5925]  Touch, J., Mankin, A., and R. Bonica, "The TCP
              Authentication Option", RFC 5925, June 2010.

   [RFC6480]  Lepinski, M. and S. Kent, "An Infrastructure to Support
              Secure Internet Routing", RFC 6480, February 2012.

   [RFC6481]  Huston, G., Loomans, R., and G. Michaelson, "A Profile for
              Resource Certificate Repository Structure", RFC 6481,
              February 2012.

   [RFC6482]  Lepinski, M., Kent, S., and D. Kong, "A Profile for Route
              Origin Authorizations (ROAs)", RFC 6482, February 2012.

   [RFC6486]  Austein, R., Huston, G., Kent, S., and M. Lepinski,
              "Manifests for the Resource Public Key Infrastructure
              (RPKI)", RFC 6486, February 2012.

   [RFC6487]  Huston, G., Michaelson, G., and R. Loomans, "A Profile for
              X.509 PKIX Resource Certificates", RFC 6487, February
              2012.

   [RFC6488]  Lepinski, M., Chi, A., and S. Kent, "Signed Object
              Template for the Resource Public Key Infrastructure
              (RPKI)", RFC 6488, February 2012.

   [RFC6493]  Bush, R., "The Resource Public Key Infrastructure (RPKI)
              Ghostbusters Record", RFC 6493, February 2012.

   [RFC6810]  Bush, R. and R. Austein, "The Resource Public Key
              Infrastructure (RPKI) to Router Protocol", RFC 6810,
              January 2013.

   [SIDR-CH]  "Secure Inter-Domain Routing: Charter for Working Group",
              September 2013, <http://tools.ietf.org/wg/sidr/
              charters?item=charter-sidr-2013-09-20.txt>.

   [Sam04]    Samuel, A., "Hacktivism and the Future of Political
              Participation", Ph.D. dissertation, Harvard University,
              September 2004, <http://www.alexandrasamuel.com/
              dissertation/pdfs/Samuel-Hacktivism-entire.pdf>.

Authors' Addresses

   Stephen Kent
   BBN Technologies
   10 Moulton St.
   Cambridge, MA  02138
   USA

   EMail: kent@bbn.com


   Andrew Chi
   University of North Carolina - Chapel Hill
   c/o Department of Computer Science
   CB 3175, Sitterson Hall
   Chapel Hill, NC  27599
   USA

   EMail: achi@cs.unc.edu

ISO Plain Language

On this page
PROBLEMPath security for BGP is a family of designs that protect the AS_PATH attribute of a route update. Before anyone builds one, the designers need to know who might attack it and what they would try.
MECHANISMThe RFC defines PATHSEC and the AS-centric model it works in, then names five classes of adversary: network operators, hackers, criminals, registries and nations. It then works through the attacks each could mount, grouped by their target: the sessions between routers, a BGP router, the operator's management computers, a repository publication point and a certification authority.
WHY IT MATTERSIt is an Informational RFC that defines no protocol. Its last section lists the vulnerabilities that path security leaves open, including route leaks, other path attributes, and the risk that a relying party acts on stale repository data.

§1What Path Security Is For

The term PATHSEC, for path security, refers to any design used to preserve the integrity and authenticity of the AS_PATH attribute carried in a BGP update message. The security context comes from the Secure Inter-Domain Routing working group charter, which requires that solutions affording path security make use of the Resource Public Key Infrastructure, and that they protect only the information needed to verify that a received route traversed the Autonomous Systems in question and that the address prefix in the route is what was advertised. The goal of path security is therefore to let a BGP speaker verify that the ASes enumerated in the path attribute really are the sequence of ASes the prefix traversed.

The motivation is a set of residual security concerns about BGP. BGP has no mechanism by which an AS can verify the legitimacy and authenticity of route advertisements, and BGP speakers can inject bogus routing information either by masquerading as another speaker or by distributing unauthorized information as themselves. Historically, misconfigured and faulty routers have caused widespread disruption, and legitimate peers have the context and information to produce believable but bogus routing information. The cryptographic protection of the session between peers cannot exclude that.

Path security is meant to build on what the RPKI already offers, which is route origination validation: relying parties can already determine whether the origin AS of a path was authorised to advertise the prefix in an update, using a public key infrastructure that associates prefixes with the keys of address space holders, and route origin authorisations that let a prefix holder name the ASes allowed to originate routes for it.

One design choice shapes everything that follows. The security model does not assume an oracle that can see all the BGP input and output of every AS or router. Instead it rests on a local notion of what counts as legitimate, authorised behaviour by the routers of an AS. That is an AS-centric model of secure operation, matching the AS-centric model BGP already uses for routing.

Path security is about one thing: proving that the list of networks a route passed through is the real list. The RFC assumes no central witness, so each router can only judge what its own neighbours did.

§2The Terms Used

The RFC defines the vocabulary the rest of the document depends on, and the definitions are deliberately narrow.

An adversary is an entity, such as a person or an organisation, perceived as malicious relative to the security policy of a system, and the decision to characterise an entity that way is made by those responsible for the system's security. A threat is a motivated, capable adversary: an adversary that is not motivated is not a threat, and neither is one that is motivated but not capable. An attack is an action that attempts to violate the security policy, and a vulnerability is a flaw or weakness in a system's design, implementation or operation that could be exploited to violate it. A countermeasure is a procedure or technique that thwarts an attack, often specific to one attack or class of attack.

Two routing terms carry weight in the analysis. False route origination occurs when a network operator originates a route for a prefix it does not hold and has not been authorised to originate. A route leak occurs when AS-A advertises to its own neighbours routes it received from AS-B, while AS-A is not regarded as a transit provider for those prefixes.

The rest of the definitions describe the RPKI. A certification authority issues digital certificates and vouches for the binding between the data items in a certificate. The RPKI is a public key infrastructure operated by the entities that manage internet number resources, issuing certificates that attest to those holdings. A relying party makes use of signed products from such an infrastructure, verifying them with certificates and certificate revocation lists. The RPKI repository system is a distributed set of loosely synchronised databases, and an RPKI signed object is a data object wrapped in Cryptographic Message Syntax.

An adversary is someone who might attack, a threat is someone who both might and can, and a vulnerability is a weakness worth exploiting. Route leaks and false origination are the two specific BGP faults the document keeps coming back to.

§3The Adversaries

The RFC names five classes of adversary and is explicit about what each can reach.

Network operators. An operator may be motivated to make its routers emit inaccurate routing information, for example so that traffic flows over paths that are economically better for it. Because the operator controls the routers in its network, it can modify their operation in arbitrary ways, and those routers are vehicles for mounting man-in-the-middle attacks on both control and data plane traffic. If the operator takes part in the RPKI it holds at least one certification authority certificate and may generate subordinate certificates and authorisations of its own, and if it implements path security it will be able to sign updates in a way that its path-security-enabled neighbours accept.

Hackers. A hacker might take control of the management computers and routers of operators, including operators that implement path security, and act as a rogue operator. The RFC assumes hackers generally cannot mount man-in-the-middle attacks on most of the links between networks. They may be motivated by bragging rights, profit or a cause, and are presumed to work remotely rather than from a physical presence at the target.

Criminals. Criminals might persuade an operator, by threat or extortion, to act as a rogue operator, and might persuade the staff of a telecom provider to enable man-in-the-middle attacks on links between routers. Their motives include extorting operators or their clients and manipulating routing to conceal the source of spam or denial-of-service attacks.

Registries. Any registry in the RPKI could be a threat. Registry staff could manipulate repository content or mismanage the certificates they issue, harming an operator or its clients, whether from political pressure in their country or under criminal influence.

Nations. A nation may control network operators in its territory and make them act as rogue operators, may have the technical capability for active wiretapping within its territory, may be able to attack routers or management computers in other countries, and may control a registry such as a regional registry and force it to act in a rogue capacity. The stated motivations are controlling traffic to and from the country and diverting traffic destined for other countries, for passive or active wiretapping including denial of service.

The adversaries are other operators, hackers, criminals, registry staff and governments. An operator is the hardest case, because it controls its own routers and can sign updates that its neighbours will believe.

THE FIVE CLASSES OF ADVERSARY
  • Network operatorsThey control their own routers, can send inaccurate updates, and can sign updates that protected neighbours accept.
  • HackersThey may take over management computers and routers and act as rogue operators, but cannot usually tap links directly.
  • CriminalsThey may coerce operators or telecom staff, and may manipulate routing to hide spam and denial-of-service attacks.
  • RegistriesStaff can manipulate repository content or mismanage the certificates they issue, for political or criminal reasons.
  • NationsThey may control operators and registries in their territory, tap traffic inside it, and attack routers elsewhere.

§4What the Attacks Look Like

Attacks are grouped by their target. The RFC notes at the outset that attacks of interest try to break the integrity or authenticity of BGP traffic, or the authorisations of the entities in the RPKI; attacks that only break the implied confidentiality of routing traffic are not a requirement for BGP security.

Against the sessions between routers, an active attack can be launched from a remote point or from a position on the link as a man in the middle. The remote form is available to any adversary, while the man-in-the-middle form needs access to the link, and modern transport networks present a large attack surface. Such attacks include replaying selected BGP messages, selectively modifying messages, and denial-of-service attacks against routers.

Against a BGP router, the attacks amount to forging, tampering with or suppressing data inside updates. One important limit is stated up front: behaviour that can be ascribed to a local routing policy decision is not an attack, because it could be explained as a policy choice and is beyond what path security can detect. So a router may fail to propagate some or all withdrawals, or leak routes, and that is not counted here. Within that limit the RFC lists several attacks. A router may insert AS numbers other than its own into an update, which violates BGP and is an attack. It may originate a route for a prefix its AS is not authorised to originate, which is an attack but one the RPKI already addresses. It may remove path data from a protected update before forwarding it to a protected neighbour, which violates the path security goals. It may emit protected data that other routers cannot validate. It may propagate an announcement whose protected data has expired, which is a replay. It may set an expiry time so short that the announcement dies early, which counts as an attack only if the protocol mandates a minimum. And if a private key associated with a router or an AS is compromised, the adversary can generate updates that appear to have passed through that AS.

Against the operator's management computers, compromising a network operations centre computer lets the adversary run any management function the staff could, which changes local routing policy, blackholes routes and more. This behaviour cannot be detected externally as an attack; it just looks like rogue operator behaviour. The same access lets an adversary corrupt the tools that pull data from the RPKI, delete objects from the operator's repository publication point, request revocation of certificates or route origin authorisations, or request router certificates that neighbours will reject.

Against a repository publication point, the RFC considers only attacks by someone who controls a machine hosting publication points but lacks the keys needed to produce valid signed products. Because everything in a repository is signed, such attacks turn into denial-of-service attacks. Relying parties cache what they fetch, so they can detect deleted products, products with bad signatures, tampered signatures and replacements of newer objects with older valid ones, and they can fall back on their cache. Deleting a manifest is detectable, and the relying party can keep using the last valid copy. Deleting newly added certificates and replacing the manifest with the previous one leaves the manifest and its certificate revocation list stale, which alerts the relying party, which is expected to use a Ghostbusters Record to contact the publication point maintainer and ask for a remedy. The RFC notes that staleness is only detected once the next issue date passes, which is why certificate revocation list and manifest lifetimes have to balance risk against operational burden.

Against an RPKI certification authority, the attack surface is different: the private key need not be disclosed at all. If the adversary controls the machine that issues certificates, it can revoke or replace any certificate the authority has issued, which makes the routes that depend on them less preferred without being detectable by most relying parties. The RFC notes that most of these attacks are easier to recover from when the authority is a victim rather than the adversary, which motivates hardware security modules for the keys of the higher tiers. A controlling adversary can also create subordinate certificates that send relying parties on a wild goose chase, publish certificates with very brief validity, create very large numbers of authorisations, or issue certificates with overlapping allocations to different entities. One limit does apply: the extensions in RFC 3779 prevent a compromised authority from issuing valid certificates for resources outside its own scope.

The attacks fall into four groups: breaking the link between routers, tampering with a router, tampering with the operator's own management machines, and tampering with the repository and the authority that fills it. Signing makes most repository attacks obvious, but obvious does not mean harmless.

ATTACKS ON A BGP ROUTER
  • AS insertionAS Insertion — A router puts AS numbers other than its own into an update, which violates BGP.
  • False originationFalse Route Origination — A router originates a route for a prefix its AS is not authorised to originate. The RPKI addresses this.
  • Path downgradeSecure Path Downgrade — A router strips path data from a protected update before passing it to a protected neighbour.
  • Invalid dataInvalid Path Data Insertion — A router emits protected data that other routers cannot validate.
  • Stale announcementStale Path Announcement — An expired protected announcement is passed on, which is a replay.
  • Short expiryPremature Expiration — A router sets an expiry time so short that the announcement dies early.
  • MITMMITM Attack — A link-protection key is compromised, letting the attacker sit in the middle of the link.
  • Stolen keyCompromised Private Key — A router or AS key is stolen, letting the adversary forge updates that look genuine.

§5Residual Vulnerabilities

Some weaknesses survive even with path security and the RPKI, and the RFC lists them.

The first is that the repository system may be attacked in ways that make its contents unavailable, out of date or inconsistent. The main defence is the local cache each relying party keeps, which preserves previously acquired data when a repository is unreachable or its contents are deleted. The system still cannot guarantee that every relying party has access to up-to-date data, and when one detects a problem it has two choices. It can keep using its cache, tolerating expired or stale objects, which exposes it to attacks that rely on its ignorance of changes. Or it can purge the expired objects, which removes the security information attached to the real-world resources concerned. That is the same as those resources never having been protected, and because use of the RPKI and path security is voluntary, purging effectively moves them into the set of unprotected resources. This lets an attacker move resources from the protected set to the unprotected set.

The second is that any authority in the RPKI may misbehave within the bounds of the resources allocated to it, for example by issuing certificates with duplicate resource allocations or revoking certificates inappropriately. The RFC calls this intrinsic to any public key infrastructure, and notes that its impact is limited in the RPKI by the extensions in RFC 3779, with administrative action expected to handle it once detected.

Path security has its own residual weaknesses. Route leaks are a routing security problem for many operators, but BGP itself has no semantics that preclude them and no RFC defines the term, so the RFC does not address them and notes the document should be revised if the security context is later revised to include them. Path security is not required to protect every attribute associated with an AS path, even though some are used as routing inputs, so attacks that modify or strip those other attributes are not prevented or detected. Confederation members that are not represented in the path are not a concern, because they are not externally visible and so do not influence route selection. Finally, path security cannot ensure that an AS withdraws a route when it no longer has one; it may bound the lifetime of an advertisement, which caps how long such a failure remains effective.

Some problems stay. If the repository goes stale, a router either trusts old data or drops the protection entirely. Route leaks and the other attributes of a path are outside what this design covers.

WHAT SURVIVES PATH SECURITY AND THE RPKI
Residual vulnerabilityWhat it leads toHow it is handled
Repository unavailable or inconsistentRelying parties may act on out-of-date dataEach relying party keeps a local cache
Expired objects are purgedThe affected resources lose their protectionThe resources move to the unprotected set
An authority misbehavesDuplicate allocations or wrongful revocationsAdministrative action once detected
Route leaksNot defined in any RFCOutside the scope of path security
Other path attributesThey can be modified or strippedOutside the scope of path security
An AS does not withdraw a routeA stale route can persistAnnouncement lifetimes can bound it

§6What a Threat Model Is For

The RFC closes with a statement of what its own kind of document is. A threat model is, by definition, a security-centric document. Unlike a protocol description it does not create security problems, nor does it claim to address them. It postulates a set of threats, that is motivated and capable adversaries, examines the classes of attack those threats can mount based on their motivations, describes the impact on path security and on the RPKI that path security relies on, notes where the design of the RPKI and the goals of path security already address classes of attack, and records the residual vulnerabilities.

A threat model is not a protocol and does not fix anything. It sets out who might attack, what they would try, and what the design already handles, so that the people writing the protocol know where the edges are.

§7References