Border Gateway Protocol

advertisement
Border Gateway Protocol
Vasant Reddy
Contents
•
•
•
•
•
•
•
•
•
Introduction
Operation
BGP Types
BGP Header
Message & Attributes
BGP Route Processing
Security Issues
Vulnerabilities
Security Solution
Some Terminology…
• Autonomous System (a.k.a Administrative
Domain) is set of networks which share a
common routing polices Ex : UNT,AT&T
• Interior Gateway Protocols are routing
protocols within an Autonomous System
Ex : RIP,OSPF
• Exterior Gateway Protocols are routing
protocols used between Autonomous Systems
EX : BGP
Introduction
• Border Gateway Protocol –
the “exterior” gateway protocol for
IP address families.
• BGP uses a TCP connection to
exchange information between
peers.
• Policy based
• Incremental Updates
BGP v4
• RFC 1771
• The only Inter Domain routing protocol
currently in use.
• All previous versions of BGP are
obsolete and not in use today.
• Utilizes a Path Vector PV protocol.
• Employs CIDR or Classless inter-domain
routing.
BGP vs IGP
RIP
OSPF
BGP peering
R
R
R
R
R
R
R
R
R
R
R
Neither AS needs to know or care about
the IGP used by the neighboring AS.
BGP propagates routes between them.
R
BGP Operation
•
Runs over a reliable transport protocol (TCP)
•
Uses TCP port 179 to establish connections
•
BGP Speaker is router running BGP protocol ,speakers
communicate across TCP and become peers or neighbors.
•
External links: connections between BGP speakers in different
AS.
•
Internal links: connections between BGP speakers in the same
AS.
•
Resolve connection collisions if two BGP peers
Simultaneously try to open connection.
BGP Session Estblishment
•
Connect.req
SYN(179)
Connect.ind
SYN + ACK
CONNECT.conf
Connect.resp
ACK(179)
TCP session established
DATA.req(OPEN)
DATA(BGPopen)
TCP session Established
DATA.req
DATA.req(OPEN)
DATA(BGPopen)
DATA.req(open)
ACK
BGP Session Established
ACK
BGP Session Established
Origin of “Routes” for BGP
• Learned from other BGP routers
 BGP router only propagates the received routes
• Static configuration
 BGP router is configured to advertise some
prefixes
 Drawback : requires manual configuration
 Advantage : Stable set of advertised prefixes
• Learned from an Interior Gateway Protocol
 prefixes received from the IGP are advertised by
the BGP router usually as an aggregate
 Advantage :BGP advertisements follow network
state, prefix is automatically withdrawn by BGP it
is not reachable via IGP
eBGP and iBGP
• eBGP
– BGP running between two different
ASs
• iBGP
– BGP running within the same AS
– An AS has multiple BGP speakers
– Distribute routing info among BGP
routers
– Minor but important difference with
eBGP
BGP Header
•
16
Marker
•
Type
Data
Contains an authentication value that the message receiver can predict.
Indicates the total length of the message in bytes.
Type
–
•
Length
var
Length
–
•
1
Marker
–
•
2
Specifies the message type as one of the following:
• Open
• Update
• Notification
• Keep-alive
Data
–
Contains upper-layer information in this optional field.
BGP Message Types
•
•
•
•
Open
Update
Notification
Keep alive
TCP connection always established
throughout the BGP session
Open Messages
• Establish a peering session
• The first message sent after TCP established
• Each peer identify itself to each other
• Negotiate protocol version/parameters
• Security (optional)
Open Message Format
Version (1 octet)
My Autonomous System (2 octet)
Hold Time (2 octet)
BGP identifier (4 octet)
Optional Parameter
Length (1 octet)
Optional parameters (variable length)
Update Message
• Primary message used in a BGP
• Advertises (announces) a prefix to
BGP neighbors/withdraw a
previously advertised message
• Encourage multiple prefixes in a
single Update
Notification Message
• Used when error(s) happen(s)
• TCP will be closed immediately
after notification is sent
• Indicates to remote system why
BGP was terminated
Keepalive Message
• Confirm the connection is still active
• rate depend on the hold timer
negotiated by open message and
update message frequency
• A common header with no other
data
BGP attributes
•
•
•
•
•
•
AS-path attribute
Origin attribute
BGP Nexthop attribute
Weight Attribute
Local preference attribute
Metric attribute
AS-Path Attribute
• A list of AS numbers that a route
has traversed in order to reach a
destination
• Whenever a route update pass
through a new AS, the AS number
is prepended
• AS numbers are listed in order
• If the AS number is already in the
update, the route is dropped.
Origin Attribute
• Mandatory attribute
• Defines the origin of the path
information
• three typical values
– “i”: IGP, interior to the originating AS
– “e”: EGP, learnt via exterior gateway
protocol
– “?”: incomplete, unknown or via
others
Nexthop Attribute
• The next hop IP address used to
reach destination
• For eBGP, always the directly
connected neighbor’s interface
• For iBGP, the nexthop advertised
by eBGP should be carried through
into iBGP
Weight Attribute
• Cisco implementation
• Assigned locally to indicate a router
to choose best exit path
• Does not propagate through router
updates
• Higher weight is preferred
• Default is 0
Local Preference Attribute
• Indicate which route is preferred
• Exchanged among routers in the
same AS through updates
• Higher value is preferred
• Default value is 100
Metric Attribute
• Also called Multi_exit_discriminator
• Exchanged between AS, but not
carried through
• Low value of a metric is more
preferred
• Default value is 0
• Unless specified, router only
compare metrics for paths from the
same neighbor AS
BGP Policies
• BGP provides capability for enforcing various
policies
• Policies are not part of BGP: they are provided
to BGP as configuration information
• BGP enforces policies by choosing paths from
multiple alternatives and controlling
advertisement to other AS’s
Best Path Selection
• Decision Process
– Highest local preference
– Shortest AS path
– eBGP over iBGP
– Lowest IGP metric
– Lowest router id
BGP Router Model
Decide
exactly ONE
best path
Import policy
Receive routes
for prefixes
from multiple
neighbors
Filter out unwanted
routes, and
manipulate the
attributes of
remaining routes
Decision
Process
Export policy
Manipulate attributes of the
best route, influence
neighbor's choice, or decide
whether to advertise the
route to neighbors
BGP Security Issues
• The BGP architecture makes it highly vulnerable to
human errors and malicious attacks against
– Links between routers
– The routers themselves
– Management stations that control routers
• Most router implementations of BGP are susceptible to
various DoS attacks that can crash the router or
severely degrade performance
• Many ISPs rely on local policy filters to protect them
against configuration errors & some forms of attacks,
but creating and maintaining these filters is difficult, time
consuming, and error prone
Vulnerability Note VU#784540
• Overview:
Multiple implementations of the Border Gateway Protocol
(BGP) contain vulnerabilities related to the processing of UPDATE
and OPEN messages. The impacts of these vulnerabilities appear to
be limited to denial of service
• Impact :
A remote attacker can cause a denial of service in a vulnerable
system. In most cases, the attacker would need to act as a valid BGP
peer. BGP session instability can result in "flapping" and other routing
traffic that may adversely effect internet traffic
• Solution :
 Apply patch given by vendor
 Restrict BGP Access using ACL’s
 Authenticate BGP Messages( use MD5,IPSEC)
Vulnerability Note VU#689326
• Overview:
Cisco device running IOS that is enabled for BGP is vulnerable to
a denial-of-service attack via a malformed BGP packet. The specific
nature of the crafted packets exploiting this vulnerability is not known.
IOS is vulnerable only if the device is set up with the bgp log-neighborchanges command.
• Impact :
By sending a specially crafted BGP packet to an affected device,
a remote attacker could cause the device to reload resulting in a DOS
• Solution :
• Apply patch given by vendor
• Systems Affected
• Cisco Systems, Inc
Vulnerability Note VU#106392
•
Overview:
There is a problem involving BGP updates on Cisco routers with
BGP4 and prefix filtering and inbound route maps enabled. A route
update with an unrecognized transitive attribute may cause
vulnerable routers to crash.
•
Impact :
Attackers that are able to send malformed BGP updates can
cause vulnerable routers to crash causing network outages. Under
certain circumstances the attacker may be able to use BGP
infrastructure to propagate the bad route update to multiple routers
•
Solution :
• Apply patch from vendor
•
Systems Affected :
• Cisco Systems, Inc
Basic BGP Security Requirement
• For every UPDATE it receives, a BGP router should
be able to verify that the “owner” of each prefix
authorized the first (origin) AS to advertise the prefix
and that each subsequent AS in the path has been
authorized by the preceding AS to advertise a route
to the prefix
• This requirement, if achieved, allows a BGP router to
detect and reject unauthorized routes, irrespective of
what sort of attack resulted in the bad routes
• Conversely, if a security approach fails to achieve this
requirement, a BGP router will be vulnerable to attacks
that result in misrouting of traffic in some fashion
Security Solution Requirements
• Security architectures for BGP should not rely on “trust”
among ISPs or subscribes
– On a global scale, some ISPs will never be trusted
– Transitive trust in people or organizations causes
mistakes to propagate
• Security solutions must exhibit the same dynamics as the
aspects of BGP they protect
• Both implementation and architectural security concerns
must be addressed
Secure BGP (S-BGP)
• S-BGP is an architectural solution to the BGP security
problems described earlier
• S-BGP represents an extension of BGP
– It uses a standard BGP facility to carry additional data
about paths in UPDATE messages
– It adds an additional set of checks to the BGP route
selection algorithm
• S-BGP avoids the pitfalls of transitive trust that are
common in today’s routing infrastructure
How does S-BGP do it?
• S-BGP makes use of:
– IPsec to secure point-to-point communication of BGP
control traffic
– Public Key Infrastructure to provide an authorization
framework representing address space and AS
“ownership”
– Attestations (digitally-signed data) to bind authorization
information to UPDATE messages
• S-BGP requires routers to:
– Generate an attestation when generating an UPDATE for
another S-BGP router
– Validate attestations associated with each UPDATE
received from another S-BGP router
QUESTIONS?
Questions
• What is difference between IGP and
EGP?
• When is I-BGP needed?
• How does BGP implements
policies?
• Why is BGP vulnerable?
• How S-BGP overcomes security
problems of BGP?
References
• http://totem.info.ucl.ac.be/BGP/slides/bgp-4.pdf
• www.ida.liu.se/~TDTS02/bgp-slides.pdf
• ws.edu.isoc.org/data/2000/1392568124007367
7d0fb5/bgp.ppt
• www.cisco.com/univercd/cc/td/doc/cisintwk/ito_
doc/bgp.html
• www.freesoft.org/CIE/Topics/88.htm
THANK YOU!
Download