IP Backbone Security > Nicolas FISCHBACH > Sébastien LACOSTE-SERIS

Transcription

IP Backbone Security > Nicolas FISCHBACH > Sébastien LACOSTE-SERIS
IP Backbone Security
> Nicolas FISCHBACH
IP Engineering Manager - COLT Telecom
[email protected] - http://www.securite.org/nico/
> Sébastien LACOSTE-SERIS
IP R&D Manager, Security Officer - COLT Telecom
[email protected] - http://www.securite.org/kaneda/
version 1.0
Agenda
» Introduction
» External Gateway Protocol : BGP
» Internal Gateway Protocols : OSPF and ISIS
» Netflow based DDoS detection
» MPLS and IPv6
» Conclusion
© 2002 Sécurité.Org
2
What « runs » the Internet ?
» Key protocols
> BGPv4 (Border Gateway Protocol)
> DNS (Domain Name System)
> A mix of BGP and DNS in all new/recent technologies
- DNS to store the information in new/extended type of records
- BGP to distribute the information across the network
» A few large vendors
»
> Limited range of ASIC powered devices
> Some well known software release versions/trains
(ie S-train)
Non-technical stuff : people in the NOCs & coffee :-)
© 2002 Sécurité.Org
3
What are the risks, if any ? (1)
» The Internet is considered a critical infrastructure
> But the trust model hasn’t really changed since the 70s
> Can it survive a “chapter 11” from a really large provider ?
> “Slashdot effect” (major links and websites -- even those
with distributed content). Could larger deployment of
multicast help ?
> Best Current Practices make the network more resistant, but
are not followed or deployed
> Recent publications
> IETF/IRTF Working Groups
© 2002 Sécurité.Org
4
What are the risks, if any ? (2)
» Current, new and future type of attacks
> Misconfiguration is the most common “attack”
> (D)DoS with spoofed source addresses
- Kill your network / (IRC) servers
- Use of routers as reflectors/amplifiers
- No reliable traceback
> Short-lived announcements used as source of SPAM/attacks
> Advanced routing protocols attacks
- Make your (internal/external) routing protocol unstable
- Inject new routes/prefixes : MiTM/traffic rerouting attacks
> Rootkits and Loadable Kernel Modules
- Take control of a device capable of generation thousands of
PPS (packets per second)
- Control all the routing protocol traffic
© 2002 Sécurité.Org
5
BGP : Protocol description
» BGP (Border Gateway Protocol)
> Current version : 4
> Listens on port 179/tcp
> Optional authentication :
- MD5 : adds an option to TCP (digest based on pseudoheader+header+data+shared password)
> Point-to-point over directly connected interfaces or multihop between (TTL > 1) non adjacent routers
> Routing information is exchanged in BGP Update message :
© 2002 Sécurité.Org
6
BGP : Protocol description
» BGP (Border Gateway Protocol)
iBGP sessions
Route reflectors
AS X
Core/Access Routers
eBGP sessions
{in,e}gress
filtering
AS Z
© 2002 Sécurité.Org
AS Y
7
BGP : Risks
» Where are the risks ?
> Internet Exchanges (“peering points”)
- All providers are usually connected to the same shared
infrastructure (a switch for example)
- The filtering policy is usually more “relax” for peerings
- Some major ones, no real (geo)diversity anymore
»
> Your direct {up,down}stream(s)
> Route reflectors
> Multi-hop configurations (Man-in-the-middle attack)
> Less likely : some backbone router “out there” in the
Internet or some hops away
What is never “verified”
> Origin-AS/prefix relation, “true” AS_path, source
authenticity, etc
© 2002 Sécurité.Org
8
BGP : Attacks (1)
» Information gathering
> Find the eBGP peers :
-
“Forward” and “reverse” traceroute / ICMP Record Route
Public route-servers and looking glasses
Directly adjacent IPs
IPs often used for loopback interfaces (.1+, .254-)
SNMP
> Session parameters may be required :
- Source/destination ports (ie. which router initiated the
connection)
- Right TTL
© 2002 Sécurité.Org
9
BGP : Attacks (2)
» Attacks against routers and BGP sessions
> SYNflood 179/tcp
> Drop the BGP session by RSTing the TCP connection or
injecting bogus OPEN/KEEPALIVE/etc messages
- Spoofed packet parameters (IPs, ports, SeqNum, TTL) may
have to fit
> BGP route injection tool : (what is the) challenge ?
- Inject the UPDATE
. MiTM (or ARP spoofing on IX switches)
. Synchronize with/hijack the TCP session (MiTM or spoofed from
remote)
. Have a previous knowledge of the current configurations of the
peers (a MiTM type of attack is more likely to happen)
- BGP route injection tools exist (in private circles)
> Security bug in the BGP implementation / modified BGPd
© 2002 Sécurité.Org
10
BGP : Attacks (3)
» Attacks against the network
> Attacks playing with BGP parameters (local-pref, MEDs,
communities) ?
> Make your BGP sessions flap : make you or other
destinations unreachable
> Announce “more specific routes” of large blocks to increase
the number of prefixes in the global routing table and eat up
memory on all routers
> Announce or “remove” some routes/prefixes or change their
attributes
> Direct all the traffic to a blackhole, direct it to a specific
network (DDoS), create loops, etc.
© 2002 Sécurité.Org
11
BGP : Sequence number prediction
» ISN problems on Cisco routers
Vulnerable IOS
“Less” vulnerable IOS
> “Fixed” as of 12.0(15) and 12.1(7)
> ISNs are (still) time dependant
Source : http://razor.bindview.com/publish/papers/tcpseq.html
© 2002 Sécurité.Org
12
BGP : Monitoring & protection
» What to monitor ?
»
> AS_path and prefixes you receive from upstreams
> AS_path and prefixes that other ISPs are getting that
contains your ASN/prefixes (route servers/looking glasses)
> Are the paths changing (especially the best path) ?
> Are some prefixes announced (temporary) in another AS ?
> ARP changes (IX public switches)
> Your logs for BGP related messages
What is currently missing ?
> Origin-AS/prefix mapping : automatically generated filters
out of RIRs (Regional Internet Registries) like RIPE NCC’s
DB (RPSL) are part of the solution but don’t cover
everything : route object that lists the AS in which the
network prefix is routed
© 2002 Sécurité.Org
13
BGP : Filtering policy
» Filtering recommendations
> Don’t accept to have only /24
> Never accept, announce or redistribute prefixes that are
longer than /24 or de-aggregated blocks
> Use maximum-prefix (ie “full routing table” is currently
~110K-114K routes)
> Only accept the customer’s allocated prefixes
> Don’t filter on AS_path only, but also prefixes (customer
may announce a more specific route): this the same as
in/egress filtering of IP addresses !
> Filter bogon and non-allocated networks
> Should you really accept/announce a default route in BGP ?
> Have ingress and egress filters to limit the prefixes you
receive/send
© 2002 Sécurité.Org
14
BGP : Ingress/egress filtering (1)
» What you should never route/see/allow through
»
> RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
> 0.0.0.0/x, 127.0.0.0/8
> 169.254.0.0/16 (auto-configuration when no DHCP)
> 192.0.2.0/24 (Netname: TEST-NET, like example.com)
> 192.88.99.0/24 (RFC 3048, used by 6to4 routers)
> Multicast blocks (D Class) and Martian networks (E+)
> “Hijacked” space by some vendors (192.0.0.192 for printers)
> (ARIN) Reserved blocks (bogon networks)
> Packets to broadcast addresses or where source ==
destination
What you should route/let through
> Your network prefixes (anti-spoofing)
© 2002 Sécurité.Org
15
BGP : Ingress/egress filtering (2)
» Example with ACLs
> Filter on network border : CPE/IX/uplinks
interface xy
access-group in 100
access-group out 100
access-list 100 deny ip host 0.0.0.0 any
access-list 100 deny ip 127.0.0.0 0.255.255.255 255.0.0.0 0.255.255.255
access-list 100 deny ip 10.0.0.0 0.255.255.255 255.0.0.0 0.255.255.255
access-list 100 deny ip 172.16.0.0 0.15.255.255 255.240.0.0 0.15.255.255
access-list 100 deny ip 192.168.0.0 0.0.255.255 255.255.0.0 0.0.255.255
access-list 100 deny ip 192.0.2.0 0.0.0.255 255.255.255.0 0.0.0.255
access-list 100 deny ip 192.88.99.0 0.0.0.255 255.255.255.0 0.0.0.255
access-list 100 deny ip 169.254.0.0 0.0.255.255 255.255.0.0 0.0.255.255
access-list 100 deny ip 240.0.0.0 15.255.255.255 any
access-list 100 permit ip any any
! Or permit ip <your network prefixes only>
» Example with route to Null0 (“discard” on Juniper)
ip route 10.0.0.0 255.0.0.0 null0
ip route 172.16.0.0 255.240.0.0 null0
ip route 192.168.0.0 255.255.0.0 null0
© 2002 Sécurité.Org
16
BGP : Security recommendations (1)
» Security measures
> Log changes (and think about using IPsec -- CPU and $)
> Use MD5, but not the same password with all the peers
> Filter and limit the number of prefixes, filter the AS_path
> Use a “secondary” or “loopback” IP address for the eBGP
session to hide parf of the eBGP session details
> Protect routes towards Root Servers (<x>.{root, gtld}servers.net) : exclude them from the route dampening
> Filtering and routing policies are important, but don’t forget:
- to harden your router configuration
- to use secure in and out-of-band management and monitoring
tools/protocols
- that physical access to the router gives “full rights” (peering
points/data centers)
© 2002 Sécurité.Org
17
BGP : Security recommendations (2)
» Security measures
router bgp 65000
no bgp dampening
bgp dampening route-map dampening-list
bgp log-neighbor-changes
network x.x.x.x
neighbor y.y.y.y remote-as 65001
neighbor y.y.y.y password <MD5password>
neighbor y.y.y.y version 4
neighbor y.y.y.y prefix-list theirnetworks in
neighbor y.y.y.y prefix-list ournetworks out
neighbor y.y.y.y maximum-prefix 120000
neighbor y.y.y.y route-map ourASpath out
ip
ip
ip
ip
ip
ip
prefix-list ournetworks seq 5 permit x.x.x.x/y
prefix-list ournetworks seq 10 deny 0.0.0.0/0 le 32
prefix-list theirnetworks seq 5 permit x.x.x.x/y
prefix-list protected-prefixes permit x.x.x.x/y
prefix-list <other prefix-list> permit x.x.x.x/y
as-path access-list 99 permit ^<AS>( <AS>)*$
route-map ourASpath permit 10
match as-path 99
route-map dampening-list deny 10
match ip address prefix-list protected-prefixes
route-map dampening-list permit 20
match ip address prefix-list <other prefix-list>
set dampening <your dampening parameters>
© 2002 Sécurité.Org
18
BGP : Future (1)
» S-BGP
> Covers part of the integrity/AA(A) issues and is based on :
- a PKI
. to verify ownership (IPs/AS) and Origin-AS/prefix relation
. to validate signed UPDATE (with Route Attestations) messages,
their content and BGP speakers
. to manage certificates and CRLs (Certificate Revocation List), etc
- IPsec for the router-to-router session
> Implementation and deployment imply that :
- RIRs act as a CA (Certificate Authority) and tree root
- Servers storing certificates, CRLs, and other information have
to be distributed and “protected” from DoS (non-routed ?)
- S-BGP supported on large routers with enough memory
(volatile and non-volatile) and CPU
- ISPs are willing/forced to do correct “paperwork”
© 2002 Sécurité.Org
19
BGP : Future (2)
» Working Groups
> IETF
- rpsec (Routing Protocol Security Requirements)
- ptomaine (Prefix Taxonomy Ongoing Measurement & Inter
Network Experiment)
- msec (Multicast Security)
> RIPE : Routing Working Group
> IRTF : Group Security (GSEC, formerly Secure Multicast
Group)
» Don’t forger router “host” security !
» Forensics (who used to announce which prefix)
> Route information stored inside DBs at large peering points
or by large providers
© 2002 Sécurité.Org
20
OSPF : Protocol description
» OSPF (Open Shortest Path First)
> Protocol type 89
> Multicast traffic : “easy” to inject LSAs (Link State
Advertisement)
> Active adjacencies between all the routers and the (B)DRs
(DR/BDR status is based on Router ID and priority)
> SPF (Shortest Path First) recalculation takes time and CPU
Backup Designated
Router (BDR)
Designated Router
(DR)
Area 2
Backbone area (Area 0)
Autonomous System
Border Router
(ASBR)
Area Border Router
(ABR)
Network running
another IGP
© 2002 Sécurité.Org
Area 1
21
OSPF : Attacks
» Attacks against OSPF
> Since the (B)DRs don’t preempt, it’s needed to “kill” the
legitimate ones to take the functionality over
> A “local” area LSA may be exported to another area (over
an ABR) or even to another AS (over an ASBR)
- ABRs and ASBRs are key routers together with (B)DRs
> OSPF LSAs (even “MD5ed”) can be replayed (sequence
number)
- inject/withdraw routes
- break adjacencies (higher sequence number/hello message)
- MAXAGE LSAs can be send to purge the related OSPF DB
> More or less impossible to protect the network from an
internal attack/threat : routers can “lie” (about their role or
modify the information they announce)
© 2002 Sécurité.Org
22
OSPF : Security (1)
» Security measures
> Authenticate OSPF exchanges (per interface) with MD5 (not
Null nor cleartext). MAC is (OSPF payload+secret)
interface xy
!ip ospf authentication-key <key>
ip ospf message-digest-key 1 md5 <key>
router ospf 1
area 0 authentication [message-digest]
> Turn your network into a NBMA (Non Broadcast Multiple
Access - “point-to-point links only”) network
interface xy
ip ospf network non-broadcast
router ospf 1
neighbor x.x.x.x
> (Positive) side effect of link-state protocols : routers may
counter the faked LSAs
© 2002 Sécurité.Org
23
OSPF : Security (2)
» Security measures
> Don’t put the interfaces that shouldn’t send or receive OSPF
LSAs in your network statement or then exclude them with
a passive-interface statement
router ospf 1
> Log changes
log-adjacency-changes
network x.x.x.x
passive-interface default
no passive-interface xy
> You can’t filter what is injected into the local area (the
network statement meaning is misleading) only to other
Ases
- the route information is in the OSPF Database but is not
pushed into the RIB (Routing Information Base)
router ospf 1
distribute-list <ACL> in
distribute-list <ACL> out
© 2002 Sécurité.Org
24
ISIS : Protocol description (1)
» IS-IS (Intermediate System to Intermediate System)
> Comes from the OSI world (routed OSI procotols)
> Doesn’t run on top of IP but directly over the data link
> Encodes the packets in TLV (Type-Length-Value) format
> Uses hierarchy levels/addressing (L1/L2) and flooding
- L1 routing means routing in the same area
- L2 routing means between areas
L1/L2
Router
L1 Router
Area 1
L1/L2
Router
L2 Router
L1 Router
Area 2
L2 Router
Area 3
© 2002 Sécurité.Org
25
ISIS : Protocol description (2)
» IS-IS (Intermediate System to Intermediate System)
> Floods LSPs (Link State PDUs)
- Nothing do to with MPLS’ LSP (Label Switch Path)
> Contrary to OSPF DR/BDRs a new IS-IS DIS (Designated IS)
with higher priority will take precedence (preempt) and all
the routers maintain adjacencies with all the routers in the
area (separate L1 and L2 adjacencies on same LAN)
> A lot of Service Providers are moving from OSPF to ISIS
(usually in relation with MPLS/Traffic Engineering
deployment)
© 2002 Sécurité.Org
26
ISIS : Attacks and security
» Attacks
> Similar to OSPF attacks but more complex to inject data
because of non-IP protocol
> Possible to use the “Overload Bit” to have transit traffic not
sent over a “overloaded” router and thus try to redirect it
» Security measures
> Log changes
> Use authentication at
- the interface level
- the area level
- the domain level
interface xy
isis password <password> level-<z>
router isis
log-adjacency-changes
domain-password <password>
area-password <password>
> HMAC-MD5 support (TLV 54)
© 2002 Sécurité.Org
27
DDoS detection (1)
» Netflow
> Accounting data (AS, IP flows, protocols, etc)
> Send in clear text over the network (UDP) to a gatherer
> Only counts outgoing traffic on the interface
> Needs CEF (Cisco Express Forwarding) or dCEF
- Requires IOS 12.x and uses ~30MB of memory
- With CEF activated Netflow will only do accounting
- Without CEF the router will do netflow switching
> How to export the data
ip flow-export version 5 origin-as
ip flow-export destination x.x.x.x
interface xy
ip route-cache flow
> How to view the data : sh ip cache flow
© 2002 Sécurité.Org
28
DDoS detection (2)
» (Un)usual traffic distribution per protocol
> TCP
> UDP
> ICMP
> IGMP
:
:
:
:
~90 % (HTTP, FTP, SMTP and P2P tools)
~10 % (DNS, SNMP, streaming)
<1 %
<1 %
> Mostly <x> bytes packets
> RRDtool and Netflow can be used to graph trends, detect
changes and anomalies
Source : Flowscan from UW-Madison (http://wwwstats.net.wisc.edu/)
© 2002 Sécurité.Org
29
DDoS detection (3)
» Netflow data on Multi-Layer Switches
> Netflow-based MLS flow-mode is “destination-only” no
source address is cached)
> Enable “full-flow” mode (performance impact on SE1)
! MLS in hybrid mode
set mls flow full
! MLS in native mode
mls flow ip full
> Display the entries
! MLS in hybrid mode
show mls entry
! MLS in native mode
show mls ip
> Poor man’s netflow : ntop ?
© 2002 Sécurité.Org
30
DDoS prevention (1)
» Unicast RPF (Reverse-Path Forwarding)
> Mode
- Strict : IP packets are checked to ensure that the route back to
the source uses the same interface
- Loose check: allowed if the prefix exists in the FIB
> Only the best path (if no multi-path or equal cost paths) is
in the FIB
> Asymmetric routes are supported (really :-)
> Check the BGP weight if you use strict
mode in a multi-homed configuration
© 2002 Sécurité.Org
31
DDoS prevention (2)
» Unicast RPF (Reverse-Path Forwarding)
> Strict (you can use an ACL for exceptions or for logs)
ip cef [distributed]
interface xy
ip verify unicast reverse-path [allow-self-ping] [acl]
> “Loose check”
ip verify unicast source reachable-via any
© 2002 Sécurité.Org
32
DDoS prevention (3)
» ICMP, UDP, TCP SYN rate-limiting
interface xy
rate-limit input access-group 100 8000 8000 8000 \
conform-action transmit exceed-action drop
rate-limit output access-group 100 8000 8000 8000 \
conform-action transmit exceed-action drop
<…>
access-list 100 deny tcp any host x.x.x.x established
access-list 100 permit tcp any host x.x.x.x
access-list 101 permit icmp any any echo
access-list 101 permit icmp any any echo-reply
> UDP rate-limiting can be a problem if your customer is a
streaming company
© 2002 Sécurité.Org
33
DDoS prevention (4)
» TCP Intercept
> Can do as much good as bad
> If enabled : process switching and not “full” CEF anymore
> The “destination” host must send a RST (no silent drops) or
you’ll DoS yourself
> Same is true if you use “blackholed” routes (route to Null0)
ip
ip
ip
ip
ip
tcp
tcp
tcp
tcp
tcp
intercept
intercept
intercept
intercept
intercept
list 100
connection-timeout 60
watch-timeout 10
one-minute low 1500
one-minute high 6000
access-list 100 permit tcp any x.x.x.0 0.0.0.255
© 2002 Sécurité.Org
34
DDoS prevention (5)
» Advanced ICMP filtering
> Only let the “mission critical” ICMP messages in and out
interface xy
ip access-group 100 in
access-list 100 deny icmp any any fragments
access-list 100 permit icmp any any echo
access-list 100 permit icmp any any echo-reply
access-list 100 permit icmp any any packet-too-big
access-list 100 permit icmp any any source-quench
access-list 100 permit icmp any any time-exceeded
access-list 100 deny icmp any any
access-list 100 permit ip any any
> ICMP filtering is a source of dispute (unreachables,
parameter-problem, etc)
> ICMP is not just “ping”, you can break a lot of things (Path
MTU Discovery for example)
> YMMV.
© 2002 Sécurité.Org
35
DDoS prevention (6)
» Advanced technique 1 (1/2) : BGP/Null0
> Pick an IP address from TEST-NET and add a static route to
Null0 for it (on all your routers)
> Have a “master” BGP router set the next-hop for the source
network you want to “drop” to the selected IP
> Have BGP redistribute it to the routers in your AS only and
uRPF will drop it (at the LC level, not on the RP)
router bgp <AS>
network <sourceOfDDOS> mask <netmask> route-map ddos-nh
route-map ddos-nh
set ip next-hop <TEST-NETIPaddr>
ip route <TEST-NET> 255.255.255.0 Null0
> Do not redistribute it to your peers : use a private AS or a
“no-export” community
© 2002 Sécurité.Org
36
DDoS prevention (7)
» Advanced technique 1 (2/2) : BGP/Null0
NOC
iBGP sessions
Master BGP router
(set the next-hop for the DDoS
sources to 192..0.2.10)
Route reflectors
Propagate the new
next-hop
Core/Access Routers
(route 192.0.2.10 to Null0)
Internet
or
Customers
© 2002 Sécurité.Org
37
DDoS prevention (8)
» Advanced technique 2 (1/2) : BGP/CAR/FIB
> Set a special community for the network you want to ratelimit on your “master” BGP router and send this community
to your iBGP peers
router bgp <AS>
network <destOfDDOS> mask <netmask>
neighbor x.x.x.x route-map ddos-rl out
neighbor x.x.x.x send community
access-list 10 permit <destOfDDOS>
route-map ddos-rl
match ip address 10
set community <AS>:66 no-export
ip route <destOfDDOS> 255.255.255.0 Null0
© 2002 Sécurité.Org
38
DDoS prevention (9)
» Advanced technique 2 (2/2) : BGP/CAR/FIB
> On the routers change the QoSID entry in the FIB based on
this special community
> Use the QoSID entry of the FIB to rate-limit
router bgp <AS>
table-map ddos-rl
ip community list 1 permit <AS>:66
route-map ddos-rl
match community 1
set ip qos-group 66
interface xy
bgp-policy source ip-qos-map
rate-limit input qos-group 66 ...
© 2002 Sécurité.Org
39
Worm detection and protection (1)
» How to detect a new worm
> New/unusual number of HTTP/SMTP flows and server logs
» How to protect with NBAR (Network-Based Application
Recognition)
> Needs CEF
> Available as of 12.1(5)T
> Like TCP Intercept - do we need it ?
> Side-effect : the TCP handshake is already done but the
server never receives the HTTP GET request
> Performance impact : ~20% CPU
© 2002 Sécurité.Org
40
Worm detection and protection (2)
» NBAR Restrictions and limitations
> Supports up to 24 concurrent URLs, hosts or MIME types
matches
> Can’t match beyond the first 400 bytes in a URL
> Can’t deal with fragmented packets
> HTTPS traffic (that’s normal ;-)
> Packets originating from/sent to the router (you can’t
protect the local HTTP server)
> Doesn’t support Unicode (UTF-8/%u)
» Tune the scheduler and the timeout
ip nbar resources 600 1000 50
scheduler allocate 30000 2000
© 2002 Sécurité.Org
41
DDoS/worm research/future (1)
» ICMP Traceback (itrace)
»
»
> Each router sends, with a low probability, a message to the
destination of a packet it forwarded with information about
the previous and next hop and part of the payload
> Only “works” for larger (D)DoS attacks
IP Traceback
> Traceback information is stored in the ip.id field by the “IPT”
routers on the packet’s path
> Probability to catch smaller attacks is better than with itrace
MULTOPS (Multi-Level Tree for Online Packet Statistics)
> A local data structure on each router stores data about
current flows and is analyzed to detect/respond to attacks
© 2002 Sécurité.Org
42
DDoS/worm research/future (2)
» SPIE (Source Path Isolation Engine)
»
»
»
> The router stores temporary a hash about each packet it
forwards and authorized routers can query this information
Pushback
> Router send rate-limit requests for certain networks if they
detect attacks (based on traffic characteristics)
IDIP (Intruder Detection and Isolation Protocol)
> Protocols and framework used to correlate information,
detect and respond to intrusions
HIP (Host Identity Payload/Protocol)
> New name space (next to IP/DNS) with IKE like
functionalities and public key based authentication for hosts
© 2002 Sécurité.Org
43
DDoS/worm research/future (3)
» CenterTrack
> Secondary network used to carry “interesting” packets
detected by routers for analysis
» Limitations
> CPU and memory needs on routers
> Fundamental changes (infrastructure, deployment,
operations, etc)
> IP address spoofing and traceback are the key issues
© 2002 Sécurité.Org
44
DDoS/worm research/future (4)
» Worse to come
> A lot of research has been done but nothing has been
published/disclosed : “risks are too high”
> Most of the worms we’ve seen were quite gentle
> Will the next worm affect IIS/Outlook users again ?
> What are the effects on the Internet stability ?
» What are the trends ?
> Routers are used as source
> Attacks are more complex and agents are becoming more
intelligent
> Temporary “use” of non allocated blocks
© 2002 Sécurité.Org
45
MPLS (1)
» MultiProtocol Label Switching
> MPLS label added to the IP packet to identify the VPN
> Each router (LSR) on the path (LSP) has a local table (LIB)
> The label only has a “local” meaning and is/may be changed
on each hop
Backup LSP
Primary LSP (Label Switch Path)
Router
Customer Edge
Router
Provider Edge
MPLS Core
Label Switch Routers
© 2002 Sécurité.Org
46
MPLS (2)
» MultiProtocol Label Switching
> Virtual Circuits, not encrypted/authenticated VPNs
> “Equivalent” to a layer 2 VPN (ATM/FR)
- the security is often provided by hiding the MPLS core
structure/cloud from customers by using filtering or nonrouted address space (think security by obscurity)
- as a customer you have to trust the MPLS core
> IPsec can be used to secure the traffic
> VPN partitioning done at routing layer
> “One routing table per VPN” on each PE router
- separate Virtual Routing and Forwarding instance (VRF)
- or extended Route Distinguisher (RD)
> Current trend in SP networks : deploy MPLS+ISIS w/ Wide
Metrics+TE for subsecond convergence and traffic rerouting
© 2002 Sécurité.Org
47
MPLS (3)
» Attacks
> Labeled packets injection :
- locked by default on all interfaces (Customer Edge Router)
- easy if access to the MPLS routers
> Inject data in the signaling protocols ((MP-)BGP and IGPs)
to modify the VPN topology : IPv4-RRs and VPNv4-RRs
(Route Reflectors)
> Even a higher risk when the same router is shared for
Internet access and a MPLS L2VPN
© 2002 Sécurité.Org
48
MPLS (4)
» Attacks
> Use new functionality like FRR (MPLS Fast ReRoute)
- RSVP (No Route) Path Error message : allows sniffing by
redirecting traffic over a router that is under control and part
of the MPLS core
. a new LSP is signaled
. the adjacency table is updated for the tunnel interface
. a LSR receiving a marked packet with label x will accept it on any
interface and switch it out
fake/spoofed
IGP LSP/LSA
or
RSVP Path Error message
Label In
Label Out Interface Out
old Path
3
17
POS7/0
new Path
3
8
POS7/1
© 2002 Sécurité.Org
MPLS Core
49
MPLS (5)
» Security measures
> Good configuration of all routers (CE, PE, P, MPLS Core)
-
ACLs
Static and dynamic routing
VRFs
etc.
> The “MPLS network” should start on the PE router, not the
CE
> Difficult to gather MPLS information from the routers
> Use IPsec (without anonymous key exchanges ;-)
© 2002 Sécurité.Org
50
IPv6
» IPv6
> Basically no new risks/big changes
> “Native” IPsec support
> Higher risks during the transition phase from IPv4 to IPv6 ?
> Protocols used to interconnect IPv4 to IPv4 islands over
IPv6 (and vice versa)
- GRE
- MPLS
> MAC address can be part of the IP address
© 2002 Sécurité.Org
51
Publications
» Publications
> Inferring Internet DoS Activity (Caida)
> A Snapshot of Global Worm Activity (Arbor)
> Shining Light on Dark Internet Address Space (Arbor)
> How to 0wn the Internet in Your Spare Time
(Staniford/Paxson)
> Global Routing Instabilities during Code Red II and Nimda
Worm Propagation (Renesys)
> Trends in Denial of Service Attack Technology (CERT)
> ...
© 2002 Sécurité.Org
52
That’s all folks :-)
» Latest version of this document & presentation
including tips/commands to secure routers (IOS) and
switches (Cat(I)OS)
< http://www.securite.org/presentations/secip/ >
» Questions ?
Image: http://www.inforamp.net/~dredge/funkycomputercrowd.html
© 2002 Sécurité.Org
53