More Related Content
Similar to Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
Similar to Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk (20)
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
- 1. Gaweł Mikołajczyk
gmikolaj@cisco.com
Security Consulting Systems Engineer
EMEA Central Core Team
CCIE #24987, CISSP-ISSAP, CISA, C|EH
Security B-Sides, 12 października 2012, Warszawa, Polska
© 2010 Cisco and/or its affiliates. All rights reserved.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
1
- 2. Jeżeli uważasz że technologia
CLI
rozwiąże Twoje problemy z
bezpieczeństwem, znaczy to, że
nie rozumiesz problemów i nie
rozumiesz technologii.
CLI
- Bruce Schneier
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
2
- 3. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
3
- 5. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
5
- 6. • Domyślne podsieci IPv6 mają 264 adresów
10 Mpps = więcej niż 50 000 lat
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
6
- 7. • Serwery publiczne w DNS
Więcej informacji kolekcjonowanych przez Google et al.
• Zwiększona zależność od DNS/Dynamic DNS
Wilęcej informacji zawartych w DNS
• Klienci peer-to-peer harvestują adresy IPv6
• Administratorzy będą implementować adres „proste do zapamiętania”
(::10,::20,::F00D, ::C5C0, :ABBA:BABE lub po prostu ostatni oktet IPv4
dla Dual-Stack)
• Kompromitacja hostów w sieci stwarza więcej powiększa wiedzę o
adresacji.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
7
- 8. • Nie ma już potrzeby rekonesansu. Wszystko widać.
• 3 adresy multicastowe site-local (domyślnie nie działają)
FF05::2 all-routers, FF05::FB mDNSv6, FF05::1:3 all DHCP servers
• Kilka adresów multicast link-local (działają domyślnie)
FF02::1 all nodes, FF02::2 all routers, FF02::F all UPnP, …
Source
Destination
Attacker
FF05::1:3
Payload
DHCP Attack
2001:db8:2
::50
2001:db8:1:
:60
2001:db8:3:
:70
http://www.iana.org/assignments/ipv6-multicast-addresses/
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
8
- 9. X
Router
PFX::/64
X skanuje 2 64 adresów
(ping PFX::a, PFX::b, …PFX::z)
Dst = Solicited-node multicast address of PFX::a
Query = what is PFX::a ’s link-layer address?
NS
Dst = Solicited-node multicast address of PFX::b
3 sekundy
historii
Query = what is PFX::b ’s link-layer address?
NS
Dst = Solicited-node multicast address of PFX::z
Query = what is PFX::z’s link-layer address?
NS
Obrona: mechanizmy alokacji adresów, filtrowanie na routerach, Destination
Guard na przełącznikach
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
9
- 10. X
L3 switch
Router
PFX::/64
Neighbor cache
Binding table
Address glean
X skanuje 2 64 adresów
PFX::a,
PFX::b, …
PFX::z
Lookup D1
NIE
Jest?
Forwarduj
Użyteczne na routerze last-hop i przełączniku dystrybucyjnym
Dropuj pakiety do hostów bez wpisu w cache
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
10
- 11. • Wirusy, zagrożenia e-mail, IM: IPv6 nie przynosi zmian
• Robaki:
IPv4: zależne od skanowania sieci
IPv6: inne techniki (zobacz: rekonesans)
Twórcy malware dostosują się do IPv6
Najlepsze praktyki dla IPv4 pozostają
aktualne w środowiskach IPv6
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
11
- 12. • “IPv6 wymaga implementacji IPSec”
• Niektóre organizacje uważają, że IPSec powinien byc używany do
ochrony całego ruchu...
“Ekspert w dziedzinie bezpieczeństwa, W., profesor na
Uniwersytecie Foo w Wielkiej Brytanii, powiedział gazecie Bar,
że nowy protokół IPv6 wymaga z IPSec, który raz na zawsze
rozprawi się z anonimowością w Internecie.
Jeżeli zaadoptujemy IPv6 globalnie, łapanie cyberprzestępców
będzie łatwiejsze, rzekł profesor W.”
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
12
- 13. • IPv6 początkowo wymagał implementacji IPsec (ale nie użycia!)
• Obecnie RFC 6434:
“IPsec POWINIEN być wspierany przez urządzenia IPv6
• IPSec End-to-end wprowadza interesujące wyzwania –
Skalowalność (n2 z IPsec)
Konieczność zaufania użytkownikom i urządzeniom ponieważ sieć nie jest
w stanie poddawać inspekcji ruchu zaszyfrowanego – ACL, IPS, Firewall
Telemetria sieciowa jest oślepiona: NetFlow staje się prawie bezużyteczny
Mechanizmy sieciowe osłabione: co z Quality of Service?
Rekomendacja: nie używaj IPSec end-to-end w obrębie
domeny administracyjnej.
Sugestia: Używaj IPSec w sieci IPv6 dokładnie tak, jak
robiłeś to w sieciach IPv4.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
13
- 14. • Nie ma adresów rozgłoszeniowych w IPv6
• Broadcast jest zastąpiony przed odpowiednie adresy
multicastowe
Link Local All Nodes Multicast—FF02::1
Link Local All Routers Multicast—FF02::2
Link Local All mDNS Multicast—FF02::FB
• Zalecenia:
Anti-spoofing jest pożądany. Atakujący nie może podszyć
się pod ofiarę.
Limituj wiadomości ICMP (egress/rate-limit)
Filtruj ruch multicastowy na wejściu do sieci
© 2012 Cisco and/or its affiliates. All rights reserved.
http://iana.org/assignments/ipv6-multicast-addresses/
Cisco Public
14
- 15. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
15
- 16. • Jeżeli jedna warstwa OSI ulegnie kompromitacji, warstwy
wyższe mogą o tym nawet nie wiedzieć
• Bezpieczeństwo zależy od najsłabszego ogniwa
• Warstwa 2 może być bardzo słabym ogniwem
Application
Presentation
Session
Transport
Network
Data Link
Physical
© 2012 Cisco and/or its affiliates. All rights reserved.
Kompromitacja
Protokół aplikacyjny
Application
POP3, IMAP, IM,
SSL, SSH
Presentation
Session
Protokoły/Porty
Transport
Adresy IP
Network
Kompromitacja
Łącze fizyczne
Data Link
Physical
Cisco Public
16
- 17. • Utworzenie mapowania adresu IPv6 na adres MAC
• Wiadomości ICMPv6: Neighbor Solicitation (NS), Neighbor
Advertisement (NA)
A
B
C
ICMP type = 135 (Neighbor Solicitation)
Src = A
NS
Dst = Solicited-node multicast address of B
Data = B
Option = link-layer address of A
ICMP type = 136 (Neighbor Advertisement)
Query = what is B’s link-layer address?
NA
Src = one B’s IF address
Dst = A
Data = B
Option = link-layer address of B
A i B mogą teraz się komunikować
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
17
- 18. • Atakujący podszywa się pod adres IPv6 ofiary.
A
C
B
NS
Dst = Solicited-node multicast address of B
Query = what is B’s link-layer address?
NA
NS
Src = B or any C’s IF address
Dst = A
Data = B
Option = link-layer address of C
Obrona: Statyczny Cache, Address GLEAN, SeND (CGA), Address-Watch.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
18
- 19. Gleaning oznacza poddawanie inspekcji pod kątem poprawności.
Binding table
IF
MACH1
100
MACH2
100
P2
MACH2
100
P2
A3
MACH3
100
DHCPserver
P1
A22
NS [IP source=A1, LLA=MACH1]
VLAN
A1
H3
MAC
A21
H2
H1
IPv6
P3
REQUEST [XID, SMAC = MACH2]
REPLY[XID, IPA21, IPA22]
data [IP source=A3, SMAC=MACH3]
DAD NS [IP source=UNSPEC, target = A3]
NA [IP source=A1, LLA=MACH3]
H1
H2
© 2012 Cisco and/or its affiliates. All rights reserved.
DHCP LEASEQUERY
DHCP LEASEQUERY_REPLY
H3
Cisco Public
19
- 22. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
22
- 23. • Odnajdywanie bramy domyślnej (routera)
• Odkrywanie prefixów on-link => kto jest sąsiadem?
• Wiadomości ICMPv6: Router Advertisements (RA), Router Solicitations
(RS)
B
A
Internet
ICMP Type = 133 (Router Solicitation)
Src = UNSPEC (or Host link-local address)
Dst = All-routers multicast address (FF02::2)
Query = please send RA
RA
RS
ICMP Type = 134 (Router Advertisement)
Src = Router link-local address
Dst = All-nodes multicast address (FF02::1)
Data = router lifetime, retranstime, autoconfig flag
Option = Prefix, lifetime
Użyj B jako bramy domyślnej
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
23
- 24. • Atakujący przekonuje ofiarę, że jest bramą domyślną
• Oparty o fałszywe Router Advertisements
• Najczęstszy atak z kategorii „nieświadomych”
B
C
A
Internet
RA
RA
Src = B’s link-local address
Dst = All-nodes
Data = router lifetime=0
Src = C’s link-local address
Dst = All-nodes
Data = router lifetime, autoconfig flag
Options = subnet prefix, slla
Host A wysyła ruch offlink traffic do C
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
24
- 25. A
C
RA
Weryfikacja?
“Jestem bramą domyślną”
Router Advertisement Option:
prefix(s)
Forward RA
Przełącznik selektywnie akceptuje lub odrzuca RA na podstawie różnych kryterów–
ACL (konfiguracja), uczy się lub aktywnie pyta stację (SeND).
Hosty widza tylko dozwolone RA z odpowiednią zawartością.
Więcej mechanizmów obrony: routing statyczny, SeND, segmentacja VLAN, PACL.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
25
- 26. • Weryfikacja unikalności adresu IPv6
• Próbkowanie sąsiadów czy nikt nie posiada już adresu
• Wiadomości: Neighbor Solicitation, Neighbor Advertisement
A
B
ICMP type = 135 (Neighbor Solicitation)
Src = UNSPEC = 0::0
Dst = Solicited-node multicast address of A
Data = A
Query = Does anybody use A already?
C
NS
Host A może używać adres IPv6
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
26
- 27. • Bezstanowy mechanizm na podstawie prefiksu w RA.
• Wiadomości: Router Advertisements, Router Solicitations
B
A
Internet
ICMP Type = 133 (Router Solicitation)
Src = UNSPEC (or Host link-local address)
Dst = All-routers multicast address (FF02::2)
Query = please send RA
RA
Oblicz
X::x, Y::y, Z::z
i wykonaj DAD
RS
ICMP Type = 134 (Router Advertisement)
Src = Router link-local address
Dst = All-nodes multicast address (FF02::1)
Data = router lifetime, retranstime, autoconfig flag
Options = Prefix X,Y,Z, lifetime
NS
Wysyłaj ruch z X::x, Y::y, Z::z
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
27
- 28. • Atakujący podszywa się pod RA z fałszywym on-link prefix
• Ofiara generuje IP na podstawie złego prefiksu
• Router odrzuca ruch wychodzący ofiary (ingress filtering)
• Ofiara odcięta od sieci zewnętrznych. DoS.
B
C
A
Internet
RA
Usuwa X::A
Oblicza BAD::A
I wykonuje DAD
RA
Src = B’s link-local address
Dst = All-nodes
Options = prefix X Preferred lifetime = 0
Src = B’s link-local address
Dst = All-nodes
Options = prefix BAD, Preferred lifetime
Host A wysyła ruch off-link do B jako BAD::A
© 2012 Cisco and/or its affiliates. All rights reserved.
Router B filtruje BAD::A
Cisco Public
28
- 29. • Każde urządzenie posiada parę kluczy RSA (nie wymaga certyfikatu)
• Lekki mechanizm sprawdzania poprawności. RFC 3972 (uproszczony)
• Ochrona przed spoofingiem z pomoca ważnego adresu CGA
Klucze RSA
Priv
Pub
Modifier
Public
Key
Subnet
Prefix
Podpis
SHA-1
CGA Params
Subnet
Prefix
Wiadomości SeND
© 2012 Cisco and/or its affiliates. All rights reserved.
Interface
Identifier
Crypto. Generated Address
Cisco Public
29
- 30. Certificate Authority CA0
Certificate Authority
Certificate C0
provision
1
Subject Name
zawiera listę
autoryzowanych
prefiksów IPv6
Router certificate CR
Router
certificate
request
3
provision
2
A
host
ROUTER ADVERTISEMENT (SRC = R)
4
Certificate Path Solicit (CPS): I trust CA0, who are you R?
5
Router R
Certificate Path Advertise (CPA): I am R, this is my certificate CR signed by CA0
6
7
Verify CR against CA0
Insert R as default route
© 2012 Cisco and/or its affiliates. All rights reserved.
Każdy host dba sam o swoje bezpieczeństwo
Weryfikacja czy router jest zaufany.
Cisco Public
30
- 32. • Urządzenia sieciowe integrują mechanizmy o których tu mowa.
1. RA-guard
2. NDP address glean/inspection
3. Address watch/ownership enforcement
4. Device Tracking
5. Address GLEAN (NDP + DHCP + data)
6. DHCP-guard
7. DAD/Resolution proxy
8. Source-guard (SAVI)
9. Destination-guard
10. DHCP L2 relay
• Czytaj dokumentację dla swoich urządzeń sieciowych.
• Upewnij się że Twoje przełączniki i routery potrafią obronić sieć.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
32
- 33. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
33
- 36. • Can detect IPv6 tunnels in IPv4
IPv6 in IPv4
IPv6 in MPLS tunnel
Teredo destination IP address
Teredo source port
Teredo destination port
Teredo data packet
• Więcej?
Detect DNS request for ISATAP
Detect traffic to 6to4 anycast server
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
36
- 37. • Sygnatury ICMPv6 dla ochrony przed atakami i widoczności ruchu NA,
NS, RA, RS.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
37
- 38. • Patrz w swój NetFlow.
Protocol 41: IPv6 over IPv4 lub tunele 6to4
IPv4 address: 192.88.99.1 (6to4 anycast server)
UDP 3544, publiczna część Teredo, kolejny mechanizm tunelowania
• Patrz w logi serwera DNS pytające o ISATAP
Twoja sieć IPv4 może być podatna na ataki IPv6 juz dziś.
© 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
38
- 39. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
39
- 40. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
40
- 42. © 2012 Cisco and/or its affiliates. All rights reserved.
Cisco Public
42