Securing BGP Geoff Huston November 2007. Agenda An Introduction to BGP BGP Security Questions Current Work Research Questions.

Slides:



Advertisements
Similar presentations
Routing Basics.
Advertisements

1 Copyright  1999, Cisco Systems, Inc. Module10.ppt10/7/1999 8:27 AM BGP — Border Gateway Protocol Routing Protocol used between AS’s Currently Version.
CS Summer 2003 CS672: MPLS Architecture, Applications and Fault-Tolerance.
Border Gateway Protocol Ankit Agarwal Dashang Trivedi Kirti Tiwari.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
Routing: Exterior Gateway Protocols and Autonomous Systems Chapter 15.
© J. Liebeherr, All rights reserved 1 Border Gateway Protocol This lecture is largely based on a BGP tutorial by T. Griffin from AT&T Research.
CSC 600 Internetworking with TCP/IP Unit 6a: IP Routing and Exterior Routing Protocols (Ch. 14, 15) Dr. Cheer-Sun Yang Spring 2001.
Border Gateway Protocol Autonomous Systems and Interdomain Routing (Exterior Gateway Protocol EGP)
An Introduction to Routing the Internet Geoff Huston APNIC.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Introduction to Dynamic Routing Protocol Routing Protocols and Concepts – Chapter.
1 Towards Secure Interdomain Routing For Dr. Aggarwal Win 2004.
An Operational Perspective on BGP Security Geoff Huston GROW WG IETF 63 August 2005.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
1 Network Architecture and Design Routing: Exterior Gateway Protocols and Autonomous Systems Border Gateway Protocol (BGP) Reference D. E. Comer, Internetworking.
1 BGP Security -- Zhen Wu. 2 Schedule Tuesday –BGP Background –" Detection of Invalid Routing Announcement in the Internet" –Open Discussions Thursday.
Interdomain Routing and The Border Gateway Protocol (BGP) Courtesy of Timothy G. Griffin Intel Research, Cambridge UK
Computer Networking Lecture 10: Inter-Domain Routing
More on BGP Check out the links on politics: ICANN and net neutrality To read for next time Path selection big example Scaling of BGP.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Exterior Gateway Protocols: EGP, BGP-4, CIDR Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
15-744: Computer Networking L-5 Inter-Domain Routing.
COS 420 Day 16. Agenda Finish Individualized Project Please Have Grading sheets to me by Tomorrow Group Project Discussion Assignment 3 moved back to.
Routing and Routing Protocols
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network Considering the Advantages of Using BGP.
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
1 CMPT 471 Networking II BGP. © Janice Regan, External Gateway Protocol  An EGP is designed to control the passage of information between autonomous.
Computer Networks Layering and Routing Dina Katabi
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Dynamic Routing Protocols  Function(s) of Dynamic Routing Protocols: – Dynamically share information between routers (Discover remote networks). – Automatically.
Routing/Routed Protocols. Remember: A Routed Protocol – defines logical addressing. Most notable example on the test – IP A Routing Protocol – fills the.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
M.Menelaou CCNA2 ROUTING. M.Menelaou ROUTING Routing is the process that a router uses to forward packets toward the destination network. A router makes.
Introduction to Dynamic Routing Protocol
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
1. 2 Anatomy of an IP Packet IP packets consist of the data from upper layers plus an IP header. The IP header consists of the following:
Interior Gateway Protocol. Introduction An IGP (Interior Gateway Protocol) is a protocol for exchanging routing information between gateways (hosts with.
Lecture 4: BGP Presentations Lab information H/W update.
Border Gateway Protocol
Computer Networking Inter-Domain Routing BGP (Border Gateway Protocol)
Xuan Zheng (modified by M. Veeraraghavan) 1 BGP overview BGP operations BGP messages BGP decision algorithm BGP states.
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
Secure Origin BGP: What is (and isn't) in a name? Dan Wendlandt Princeton Routing Security Reading Group.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Introduction to Dynamic Routing Protocol Routing Protocols and Concepts.
IP Routing Principles. Network-Layer Protocol Operations Each router provides network layer (routing) services X Y A B C Application Presentation Session.
An internet is a combination of networks connected by routers. When a datagram goes from a source to a destination, it will probably pass through many.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—6-1 Scaling Service Provider Networks Scaling IGP and BGP in Service Provider Networks.
1 Auto-Detecting Hijacked Prefixes? Routing SIG 7 Sep 2005 APNIC20, Hanoi, Vietnam Geoff Huston.
Routing Protocols Brandon Wagner.
1 Border Gateway Protocol (BGP) and BGP Security Jeff Gribschaw Sai Thwin ECE 4112 Final Project April 28, 2005.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Text BGP Basics. Document Name CONFIDENTIAL Border Gateway Protocol (BGP) Introduction to BGP BGP Neighbor Establishment Process BGP Message Types BGP.
Inter-domain Routing Outline Border Gateway Protocol.
BGP Validation Russ White Rule11.us.
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
1 Internet Routing 11/11/2009. Admin. r Assignment 3 2.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Auto-Detecting Hijacked Prefixes?
Auto-Detecting Hijacked Prefixes?
Goals of soBGP Verify the origin of advertisements
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
BGP update profiles and the implications for secure BGP update validation processing Geoff Huston PAM April 2007.
COS 561: Advanced Computer Networks
Dynamic Routing and OSPF
COS 561: Advanced Computer Networks
Computer Networks Protocols
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

Securing BGP Geoff Huston November 2007

Agenda An Introduction to BGP BGP Security Questions Current Work Research Questions

An Introduction to BGP

Background to Internet Routing The routing architecture of the Internet is based on a decoupled approach to:  Addresses  Forwarding  Routing  Routing Protocols The routing system is the result of the interaction of a collection of many components, hopefully operating in a mutually consistent fashion!

IP Addressing IP Addresses are not locationally significant  An address does not say “where” a device may be within the network  An address does not determine how a packet is passed across the network  It’s the role of the routing system to announce the “location” of the address to the network  It’s the role of the forwarding system to direct packets to this location

IP Forwarding Forwarding is a local autonomous action  Every IP routing element is equipped with a forwarding table End-to-end packet forwarding relies on mutually consistent populated forwarding tables held in every routing element The role of the routing system is to maintain these forwarding tables

IP Routing The routing system is a collection of switching devices that participate in a self-learning information exchange (through the operation of a routing protocol) All self-learning routing systems have a similar approach: You tell me what you know and I’ll tell you what I know! The objective is to support a distributed computation that produces consistent “best path” outcomes in the forwarding tables at every switching point, at all times Routing involves significant levels of mutual trust

Routing Structure The Internet’s routing architecture uses a 2-level hierarchy, based on the concept of a routing domain (“Autonomous System”) A “domain” is an interconnected network with a single exposed topology, a coherent routing policy and a consistent metric framework Interior Gateway Protocols are used within a domain  OSPF, IS-IS Exterior Gateway Protocols are used to interconnect domains, or “Autonomous Systems” (ASes)  BGP

BGPv4 BGP is a Path Vector Distance Vector exterior routing protocol Each routing object is an address and an attribute collection  Attributes: AS Path vector, Origination, Next Hop, Multi-Exit- Discriminator, Local Pref, … The AS Path attribute is a vector of AS identifiers that form a viable path of AS transits from this AS to the originating AS  The AS Path Vector is used to perform rapid loop detection and a path metric to support route comparison for best path selection

BGP is an inter-AS protocol Not hop-by-hop Addresses are bound to an “origin AS” BGP is an “edge to edge” protocol  BGP speakers are positioned at the inter-AS boundaries of the AS  The “internal” transit path is directed to the BGP-selected edge drop-off point  The precise path used to transit an AS is up to the IGP, not BGP BGP maintains a local forwarding state that associates an address with a next hop based on the “best” AS path  Destination Address -> [BGP Loc-RIB] -> Next Hop address  Next_Hop address -> [IP Forwarding Table] -> Output Interface

BGP Example

BGP Transport TCP is the BGP transport  Reliable transmission of BGP Messages Messages are never repeated!  Capability to perform throttling of the transmission data rate through TCP window setting control May operate across point-to-point physical connections or across entire IP networks

BGP is an incremental protocol Maintains a collection of local “best paths” for all advertised prefixes Passes incremental changes to all neighbours rather than periodic full dumps A BGP update message reflects changes in the local database:  A new reachability path to a prefix that has been installed locally as the local best path (update)  All local reachability information has been lost for this prefix (withdrawal)

Messaging protocol The TCP stream is divided into messages using BGP-defined “markers” Each message is a standalone protocol element Each message has a maximum size of 4096 octets

BGP Messages 2007/07/15 01:46 ATTRS: nexthop , origin i, path PFX: / /07/15 01:46 WDL: /19, / / /07/15 01:46 ATTRS: nexthop , origin i, path PFX: / /07/15 01:47 ATTRS: nexthop , origin i, path PFX: /24

Session setup requires mutual exchange of OPEN messages My AS field is the local AS number Hold time is inactivity timer BGP identifier code is a local identification value (loopback IPv4 address) Options allow extended capability negotiation  E.g. Route Refresh, 4-Byte AS, Multi-Protocol BGP OPEN Message

BGP KEEPALIVE Message “null” message Sent at 1/3 hold timer interval Prevent the remote end triggering an inactivity session reset

BGP UPDATE Message

List of withdrawn prefixes List of updated prefixes  Set of “Path Attributes” common to the updated prefix list Used for announcements, updates and withdrawals Can piggyback withdrawals onto announcements  But this happens rarely in practice today

AS Path Attribute AS_PATH : the vector of AS transits forming a path to the origin AS  In theory the BGP Update message has transited the reverse of this AS path  In practice it doesn’t matter The AS Path is merely a loop detector and a path metric

BGP Security Questions

BGP Security How do we talk?  Securing the TCP session Whom am I talking to?  Securing the BGP session What are you saying?  Verifying the authenticity and completeness of the routing information Should I believe you?  Verifying the integrity of the forwarding system

How do we talk? Long held TCP session Threats:  eavesdropping  session reset  session capture  message alteration  host processing exposure  host memory exposure

Whom am I talking to? Authenticate the BGP peer  MD5 and password exchange Symmetric crypto is faster than asymmetric public / private key crypto But key rollover is a problem  IPSEC More agile key management Stronger session protection Higher overhead Are you who you say you are?  AS number PKI to validate AS right-of-use assertions

What are you saying? Announcing a route object  Requires update credentials Altering a route object  Requires update credentials Withdrawing a route object  Does not require update credentials If I believe your announcement then I’ll believe your withdrawal

Should I believe you?

Update Credentials Origination part  AS a announces Prefix p Accumulation part  Update has AS path vector (x, y, z, a) Hop-by-hop part  Update has community value a::b

Origination Validation Is this a “valid” prefix? Has the prefix’s owner given this AS the authority to originate an announcement for this prefix into the routing system? Can I validate the prefix and the authority using my trust anchors?

AS Path Validation Did each AS in the AS Path vector add itself into the path vector?  Did the update propagate along precisely the same AS transit sequence as the AS Path vector? Is this a feasible forwarding path?  Could this packets I send actually be forwarded in the reverse direction along this AS path vector? Is this the actual forwarding path?  Can I validate that this AS Path vector represents the actual forwarding path?

Current Work

Current Proposals Secure BGP Secure origin BGP Pretty Secure BGP Internet Route Validation DNSV

sBGP PKI for addresses and ASes using the address distribution hierarchy Digitally signed attestations:  ROA to allow a prefix holder to authorize an AS to undertake route origination  Router Attestation to attest that a router is authorized to act for a particular AS Distribute PKI, ROAs and Router Attestations Augment BGP Updates with  origination signature  AS Path signature Nested digital sequence, incrementally signed across (previous sign, prefix, this AS, next AS)

sBGP Observations Generally regarded as the most complete specification of securing routing system Has the following drawbacks  Requires a PKI for addresses and ASes  Requires a novel mechanism to distribute attestations and validation material to every sBGP speaker  Requires certification for every router  High memory load  High processing load due to use of asymmetric crypto  High time penalty  Unclear as to the implications of off-loading sBGP processing  Incremental deployment is not supported in a robust manner

soBGP Assumes no PKI Relies on assertions by ASes  Address origination  AS Peering Distribution of assertions to all parties Augment BGP with  origination signature  Validate AS Path using AS Peering assertion graph for feasibility

soBGP Observations Hard to discern what is actually secured in soBGP Address assertions imply vulnerabilities from cooperating ASes AS peering assertions imply vulnerabilities from cooperating ASes No external independent validation mechanism for assertions implies weak security for address validity and AS peering adjancies AS peering attestations imply poor protection for the integrity of the AS path

psBGP Assumes a PKI for ASes, but no PKI for addresses (?) Uses AS assertions for  Address origination  AS Peering  Peer AS’s address origination Augment BGP with  Origination signature Validate signature using reputation calculation  Validate AS Path using AS Peering assertion graph for feasibility

psBGP Observations Assumes PKI for ASes but no PKI for addresses – why? Relies on calculation of relative trust in neighbours’ attestations Attempt to post-fix web of trust models with explicit calculation of trust level Solution looking for a problem?

IRV No modifications to BGP Uses OCSP-like approach to perform a ‘back’ query to validate a BGP update  Query the origination AS’s IRV server for origination  Query the transit ASs’ IRV servers for AS Path

IRV Observations Origination information can be distributed in a signed form  No need to perform post-fact queries Chained queries to validate the path is heavier overhead than a compound signed path Implies delayed validation pass  Is short term vulnerability acceptable? Solution looking for a problem?

DNSV Early proposal Place the authority provided by a prefix holder to permit an AS to originate an advertisement into the DNS Needs an address PKI and DNSSEC in order to inject reliability into the address part of the DNS And if you have an address PKI and an AS PKI then why not use origination attestations and bypass the DNS step?

Refinements Numerous papers, generally concentrating on the AS path validation problem of sBGP Common starting assumption - its all too cumbersome! Improve speed of validation  Use update aggregation to replace asymmetric cryptography with symmetric cryptography by using one way hash chains and hash trees  Elliptical cryptography to aggregate across an AS Path signature sequence Reduce validation processing load  Delay validation of update until the update has reached a stable state (convergence)  Cache validation outcomes for reuse  Modify BGP to reduce update load profile Delayed validation  Avoid potential circular dependencies of requiring to accept the route in order to validate the credentials associated with the route Reduce information space  Use additional layers of indirection in routing to reduce the population of the routed object set

Research Questions

What is essential and what is desireable in securing BGP?  BGP vs secure BGP performance profile BGP performance profile is measured in terms of: Time to converge, size of RIBs, router processor load, router memory load, router autonomy, routing system robustness, routing system scaling capability What are the acceptable trade-offs in terms of current understandings of acceptable BGP performance characteristics?  Is there a commonly accepted answer?

Research Questions Is securing the routing system alone actually helpful and valuable?  Can you validate forwarding paths being proposed by a routing system? Is secure routing helpful in and of itself? Or this this just pushing the vulnerability set to a different point in the network integrity space? If not, then is this a case of too high a cost or too low a benefit?  Is this a case of reducing the security credential generation and validation workload by reducing the security outcomes through reduced trust and/or reduced amount of validated information  Or is this a case of increasing the level of assurance and the amount of routing information secured by these mechanisms

Research Questions Are the semantics of routing security and incomplete credentials compatible concepts?  Can you deploy high integrity security using partial deployment scenarios?  Is BGP too incomplete in terms of its information distribution properties to allow robust validation of the intended forwarding state?  Does securing forwarding imply carrying additional information relating to the routing and forwarding state coupling in additon to routing

Questions?