Internet Routing (COS 598A) Jennifer Rexford Today: Routing Protocol Security Tuesdays/Thursdays 11:00am-12:20pm

advertisement
Internet Routing (COS 598A)
Today: Routing Protocol Security
Jennifer Rexford
http://www.cs.princeton.edu/~jrex/teaching/spring2005
Tuesdays/Thursdays 11:00am-12:20pm
Course Projects
• Report (May 10, end of day)
– Ten pages (11pt, double-spaced, single column)
– Like the 6-pagers (two-column) we’ve read
– Include discussion of related work and evaluation
results (or plan for how to do an evaluation)
• Presentation (May 16, 1:30pm, room 302)
– 15 minutes (20 minutes for two-person projects)
– Allow a few minutes at the end for questions
– Consider giving a practice talk to someone
• Advice is free
– See Web site for guidelines on papers and talks
– Feel free to bounce a draft or outline by me
Outline
• Security goals for BGP
• Security limitations of BGP, and protection
– IP address blocks
– TCP sessions
– BGP route attributes
• Proposed enhancements to BGP
– A three-slide introduction to PKI
– Secure origin BGP (So-BGP)
– Secure BGP (S-BGP)
– Research proposals (e.g., SPV, Whisper, and IRV)
Security Goals for BGP
• Secure message exchange between neighbors
– Confidential BGP message exchange
• Can two ASes exchange messages without someone watching?
– No denial of service
• Prevent CPU overload, session reset, and tampered BGP messages?
• Validity of the routing information
– Origin authentication
• Is the prefix owned by the AS announcing it?
– AS path authentication
• Is the AS path the sequence of ASes the BGP update traversed?
– AS path policy
• Does the AS path adhere to the routing policies of each AS?
• Correspondence to the data path
– Does the traffic follow the advertised AS path?
IP Address Ownership
• IP address block assignment
– Regional Internet Registries (ARIN, RIPE, APNIC)
– Internet Service Providers
• Proper origination of a prefix into BGP
– By the AS who owns the prefix
– … or, by its upstream provider(s) in its behalf
• However, what’s to stop someone else?
– Prefix hijacking: another AS originates the prefix
– BGP does not verify that the AS is authorized
– Registries of prefix ownership are inaccurate
Address Ownership: Prefix Hijacking
4
3
5
2
7
1
6
12.34.0.0/16
12.34.0.0/16
• Consequences for the affected ASes
– Blackhole: data traffic is discarded
– Snooping: data traffic is inspected, and then redirected
– Impersonation: data traffic is sent to bogus destinations
Address Ownership: Hijacking is Hard to Debug
• Real origin AS doesn’t see the problem
– Picks its own route
– Might not even learn the bogus route
• May not cause loss of connectivity
– E.g., if the bogus AS snoops and redirects
– … then may only cause performance degradation
• Or, loss of connectivity is isolated
– E.g., only for sources in parts of the Internet
• Diagnosing prefix hijacking
– Analyzing BGP updates from many vantage points
– Launching traceroute from many vantage points
Address Ownership: Hijacking & Deaggregation
4
3
5
2
6
7
1
12.34.158.0/24
12.34.0.0/16
• Originating a more-specific prefix
– Every AS picks the bogus route for that prefix
– Traffic follows the longest matching prefix
Address Ownership: How to Hijack a Prefix
• The hijacking AS has
– Router with eBGP session(s)
– Configured to originate the prefix
• Getting access to the router
– Network operator makes configuration mistake
– Disgruntled operator launches an attack
– Outsider breaks in to the router and reconfigures
• Getting other ASes to believe the bogus route
– Neighbor ASes not filtering the routes
– … e.g., by allowing only expected prefixes
– But, specifying filters on peering links is hard
TCP Connection Underlying BGP Session
• BGP session runs over TCP
– TCP connection between neighboring routers
– BGP messages sent over TCP connection
– Makes BGP vulnerable to attacks on TCP
• Main kinds of attacks
– Against confidentiality: eavesdropping
– Against integrity: tampering
– Against performance: denial-of-service
• Main defenses
– Message authentication or encryption
– Limiting access to physical path between routers
– Defensive filtering to block unexpected packets
TCP Connection: Attacks Against Confidentiality
• Eavesdropping
– Monitoring the messages on the BGP session
– … by tapping the link(s) between the neighbors
• Reveals sensitive information
– Inference of business relationships
– Analysis of network stability
BGP session
• Reasons why it may be hard
– Challenging to tap the link
physical link
• Often, eBGP session traverses just one link
• … and may be hard to get access to tap it
– Encryption may obscure message contents
• BGP neighbors may run BGP over IPSec
TCP Connection: Attacking Message Integrity
• Tampering
– Man-in-the-middle tampers with the messages
– Insert, delete, modify, or replay messages
• Leads to incorrect BGP behavior
– Delete: neighbor doesn’t learn the new route
– Insert/modify/replay: neighbor learns bogus route
• Reasons why it may be hard
– Getting in-between the two routers is hard
– Use of authentication (signatures) or encryption
– Spoofing TCP packets the right way is hard
• Getting past source-address packet filters
• Generating the right TCP sequence number
TCP Connection: Denial-of-Service Attacks
• Third party sends bogus TCP packets
– FIN/RST to close the session
– SYN flooding to overload the router
• Leads to disruptions in BGP
– Session resets, causing transient routing changes
– Route-flapping, which may trigger flap damping
• Reasons why it may be hard
– Spoofing TCP packets the right way is hard
• Difficult to send FIN/RST with the right TCP header
– Packet filters may block the SYN flooding
• E.g., filter packets to BGP port from unexpected source
• … or destined to router from unexpected source
TCP Connection: Exploiting the IP TTL Field
• BGP speakers are usually one hop apart
– To thwart an attacker, can check that the packets
carrying the BGP message have not traveled far
• IP Time-to-Live (TTL) field
– Decremented once per hop
– Avoids packets staying in network forever
• Generalized TTL Security Mechanism
(RFC 3682)
– Send BGP packets with initial TTL of 255
– Receiving BGP speaker checks that TTL is 254
– … and flags and/or discards the packet others
• Hard for third-party to inject packets remotely
BGP Message Attributes
• BGP route attributes
– AS path (and the resulting AS path length)
– MED, origin type, next-hop, communities, etc.
• Main kinds of attacks
–
–
–
–
Bogus path: AS path that does not exist
Invalid path: AS path that violates routing policy
Missing/inconsistent routes: violating peering agreement
Bogus attributes: unexpected MED, origin, etc.
• Main defenses
– Route filtering based on ASes in AS path
– Resetting attributes to default/expected values
– Collecting and analyzing measurement data
BGP Attributes: Bogus Paths
• AS tampers with AS path
– Deletes ASes from the AS path
– Prepends with a bogus AS number
• Goal: influence the path-selection process
– Attract data traffic to the route
• E.g., by making AS path look shorter
• E.g., delete AS that might trigger route filtering
– Create blackholes for parts of the Internet
• E.g., prepend bogus AS to trigger loop detection
• Very hard to defend against these attacks
– How can you tell that the route is bogus?
BGP Attributes: Invalid Paths
• AS exports a route it shouldn’t
– AS path is a valid sequence, but violated policy
• Example: customer misconfiguration
– Exports routes from one provider to another
• … interacts with provider policy
– Provider prefers routes learned from customers
– … so provider picks these as the best route
• … leading the dire consequences
– E.g., directing all Internet
traffic through customer
BGP
• Main defense
data
– Filtering routes based on prefixes and AS path
BGP Attributes: Missing/Inconsistent Routes
• Peering agreements require consistent export
– Prefix advertised at all peering points
– Prefix advertised with same AS path length
• Reasons for violating the policy dest
– Trick neighbor into “cold potato”
– Configuration mistake
• Main defense
– Analyzing BGP updates
– … or data traffic
– … for signs of inconsistency
Bad AS
BGP
http://www.cs.princeton.edu/~jrex/papers/imc04.pdf
data
src
BGP Attributes: Bogus Attributes
• BGP neighbor (mis)assigning attributes
– With the goal of misleading the neighbor
– … to affect how data packets are forwarded
• Examples
– MED: trick neighbor to cold-potato routing
– Origin type: trick neighbor to (dis)favor route
– Next-hop: trick neighbor to forward wrong way
• Main defense
– Resetting attributes to default value
– E.g., set MED to zero on all sessions
– E.g., set next-hop to the peer’s IP address
BGP Security Today
• Applying best common practices (BCPs)
– Securing the session (authentication, encryption)
– Filtering routes by prefix and AS path
– Resetting attributes to default values
– Packet filters to block unexpected control traffic
• This is not good enough
– Depends on vigilant application of BCPs
• … and not making configuration mistakes!
– Doesn’t address fundamental problems
• Can’t tell who owns the IP address block
• Can’t tell if the AS path is bogus or invalid
• Can’t be sure the data packets follow the chosen route
Proposed Enhancements to BGP
Encrypting and Decrypting With Keys
• Encrypt to hide message contents
– Transforming message contents with a key
– Message cannot be read without the right key
• Symmetric key cryptography
– Same secret key for encrypting and decrypting
– … makes it hard to distribute the secret key
• Asymmetrical (or public key) cryptography
– Sender uses public key to encrypt message
• Can be distributed freely!
– Receiver uses private key to decrypt message
Authenticating the Sender and Contents
• Digital signature for authentication
– Data attached to the original message
• … to identify sender and detect tampering
– Sender encrypts message digest with private key
– Receiver decrypts message digest with public key
• … and compares with message digest it computes
• Certificate
– Collection of information about a person or thing
• ... with a digital signature attached
– A trusted third party attaches the signature
Public Key Infrastructure (PKI)
• Problem: getting the right key
– How do you find out someone’s public key?
– How do you know it isn’t someone else’s key?
• Certificate Authority (CA)
– Bob takes public key and identifies himself to CA
– CA signs Bob’s public key with digital signature to
create a certificate
– Alice can get Bob’s key and verify the certificate
with the CA
• Register once, communicate everywhere
– Each user only has the CA certify his key
– Each user only needs to know the CA’s public key
Secure Origin BGP (soBGP)
• Design requirements
– Incrementally deployable
– Distributed Web of trust
– Scalability by advertising security info only once
– Trade-off level of security vs. convergence speed
• Verify the AS path is not bogus
– Verify the origin AS is authorized to originate
– Verify the AS path is a valid path to origin AS
• BGP Security message
– Security information carried inside the protocol
– New message; no changes to existing messages
Certificates in Secure Origin BGP (soBGP)
• Entity: establish identity of the AS
– Public key for the AS, and the AS number itself
– Signature created using the AS’s private key
• Authentication: assign/delegate address space
– Address ranges an AS can advertise, and the AS number
– AS validating that the AS can advertise
• E.g., AS owning 10.0.0.0/8 can validate another for 10.1.1.0/24
– Signature created by the validating AS’s private key
• Policy: define policies and connectivity
– A list of ASes that an AS attaches to
– Routing policies applied by the AS
– Signature created using the AS’s private key
Using soBGP
• Upon receiving a BGP advertisement
– Can validate information in the BGP updates
– … using information in PolicyCerts and AuthCerts
• Obtaining the certificates
– From new BGP Security message type
– Gathered from well-known Web site
• Though you have to be able to route to the Web site!
• Flexible processing order
– Fast convergence: route handling 1st, security 2nd
– High security: security 1st, during route handling
Pros and Cons of soBGP
• Advantages
– Provides origin authentication
– Incrementally deployable
– Doesn’t interfere with BGP message processing
• Disadvantages
– Path authentication requires a topology database
– Policy checking requires a policy database
– Doesn’t ensure the data path follows the BGP path
• Though, in fairness, this is true for all of the proposals
Secure BGP (S-BGP)
• Address attestations
– Claim the right to originate a prefix
– Signed and distributed out-of-band
– Checked through delegation chain from ICANN
• Route attestations
– Distributed as an attribute in BGP update message
– Signed by each AS as route traverses the network
– Signature signs previously attached signatures
• S-BGP can validate
– AS path indicates the order ASes were traversed
– No intermediate ASes were added or removed
• But, the cryptography is very heavy-weight
– … and sBGP is less incrementally deployable than soBGP
Current Status
• IETF proposals
– soBGP: relatively new, in the last couple of years
– sBGP: worked on for much longer
• Active research area
– Secure Path Vector: lower crypto complexity
– Whisper: detect (and hopefully diagnose)
inconsistencies without using a PKI
– Interdomain Route Validation: separate server per
AS for validating BGP information
– … <your proposal here>
Next Time: Overlay Services
• Two papers
– “Resilient Overlay Networks”
– “On Selfish Routing in Internet-Like Environments”
• Review just of second paper
– Summary
– Why accept
– Why reject
– Avenues for future work
• Optional
– “A System for Authenticated Policy-Compliant
Routing” (Bonus points: Why is it called Platypus?)
Download