Security B-Sides Warsaw 2013 - Masywna Telemetria NetFlow jest Masywna - Gawel Mikolajczyk
Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
-
Upload
gawel-mikolajczyk -
Category
Technology
-
view
333 -
download
3
Transcript of Security B-Sides Warsaw 2012 - Bezpieczenstwo IPv6 - Gawel Mikolajczyk
Cisco Public 1 © 2010 Cisco and/or its affiliates. All rights reserved. Cisco Public 1 © 2010 Cisco and/or its affiliates. All rights reserved. Cisco Public 1 © 2010 Cisco and/or its affiliates. All rights reserved. Cisco Public 1 Cisco Public 1 © 2012 Cisco and/or its affiliates. All rights reserved.
Gaweł Mikołajczyk [email protected] Security Consulting Systems Engineer EMEA Central Core Team CCIE #24987, CISSP-ISSAP, CISA, C|EH
Security B-Sides, 12 października 2012, Warszawa, Polska
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 2
Jeżeli uważasz że technologia
rozwiąże Twoje problemy z
bezpieczeństwem, znaczy to, że
nie rozumiesz problemów i nie
rozumiesz technologii.
- Bruce Schneier
CLI
CLI
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 3
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
4
http://www.worldipv6launch.org/
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 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 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 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, …
2001:db8:2
::50
2001:db8:1:
:60
2001:db8:3:
:70
Attacker FF05::1:3
Source Destination Payload
DHCP Attack
http://www.iana.org/assignments/ipv6-multicast-addresses/
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
X skanuje 2 64 adresów
(ping PFX::a, PFX::b, …PFX::z)
Router
PFX::/64
NS
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
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?
3 sekundy historii
X
Obrona: mechanizmy alokacji adresów, filtrowanie na routerach, Destination Guard na przełącznikach
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
Użyteczne na routerze last-hop i przełączniku dystrybucyjnym Dropuj pakiety do hostów bez wpisu w cache
X skanuje 2 64 adresów
PFX::a,
PFX::b, …
PFX::z
Router
PFX::/64
X
Forwarduj
Lookup D1
Jest? NIE
L3 switch
Address glean
Binding table Neighbor cache
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 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 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 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 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
http://iana.org/assignments/ipv6-multicast-addresses/
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 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
POP3, IMAP, IM, SSL, SSH
Łącze fizyczne
Adresy IP
Protokoły/Porty
Kompromitacja
Protokół aplikacyjny K
om
pro
mit
ac
ja
Application
Presentation
Session
Transport
Network
Data Link
Physical
Application
Presentation
Session
Transport
Network
Data Link
Physical
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
A i B mogą teraz się komunikować
• Utworzenie mapowania adresu IPv6 na adres MAC
• Wiadomości ICMPv6: Neighbor Solicitation (NS), Neighbor Advertisement (NA)
A B C
NS
ICMP type = 135 (Neighbor Solicitation)
Src = A
Dst = Solicited-node multicast address of B
Data = B
Option = link-layer address of A
Query = what is B’s link-layer address?
NA
ICMP type = 136 (Neighbor Advertisement) Src = one B’s IF address Dst = A Data = B
Option = link-layer address of B
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
• Atakujący podszywa się pod adres IPv6 ofiary.
NS
Src = B or any C’s IF address Dst = A
Data = B Option = link-layer address of C
NA
A B C
Dst = Solicited-node multicast address of B
Query = what is B’s link-layer address? NS
Obrona: Statyczny Cache, Address GLEAN, SeND (CGA), Address-Watch.
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
H1
Binding table
NS [IP source=A1, LLA=MACH1]
DHCP-
server
REQUEST [XID, SMAC = MACH2]
REPLY[XID, IPA21, IPA22]
H2 H3
data [IP source=A3, SMAC=MACH3]
DAD NS [IP source=UNSPEC, target = A3]
NA [IP source=A1, LLA=MACH3]
IPv6 MAC VLAN IF
A1 MACH1 100 P1
A21 MACH2 100 P2
A22 MACH2 100 P2
A3 MACH3 100 P3
DHCP LEASEQUERY
DHCP LEASEQUERY_REPLY
H1 H2 H3
Gleaning oznacza poddawanie inspekcji pod kątem poprawności.
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
Binding table
IPv6 MAC VLAN IF STATE
A1 MACH1 100 P1 STALE
A21 MACH2 100 P2 REACH
A22 MACH2 100 P2 REACH
A3 MACH3 100 P3 STALE Address
GLEAN
DAD NS [IP source=UNSPEC, target = A1]
DAD NS [IP source=UNSPEC, target = A3]
NA [target = A1LLA=MACH1]
IPv6 MAC VLAN IF STATE
A1 MACH1 100 P1 REACH
A21 MACH2 100 P2 REACH
A22 MACH2 100 P2 REACH
– Utrzymuj informację o stanie hostów
– Aktywnie próbkuj hosty
– Usuwaj wpisy od niewaktywnych hostów
– Zapisuj kreację/usunięcie/zmiany
H1 H2 H3
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
Binding table
IPv6 MAC VLAN IF
A1 MACA1 100 P1
A21 MACA21 100 P2
A22 MACA22 100 P2
A3 MACA3 100 P3
Address
GLEAN
– Pozwól na ruch
od znanych
IP/SMAC
– Odrzuć ruch od
nieznanych
IP/SMAC
P1:: data, src= A1, SMAC = MACA1
P2:: data src= A21, SMAC = MACA21
P3:: data src= A3, SMAC = MACA3
P3 ::A3, MACA3
DAD NS [IP source=UNSPEC, target = A3]
NA [target = A1LLA=MACA3]
DHCP LEASEQUERY
DHCP LEASEQUERY_REPLY
H1 H2 H3
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 22
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
ICMP Type = 133 (Router Solicitation)
Src = UNSPEC (or Host link-local address)
Dst = All-routers multicast address (FF02::2)
Query = please send 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
RA
Użyj B jako bramy domyślnej
• 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
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 24
• Atakujący przekonuje ofiarę, że jest bramą domyślną
• Oparty o fałszywe Router Advertisements
• Najczęstszy atak z kategorii „nieświadomych”
Src = C’s link-local address
Dst = All-nodes
Data = router lifetime, autoconfig flag
Options = subnet prefix, slla
RA
Host A wysyła ruch off-link traffic do C
B
C A
Src = B’s link-local address
Dst = All-nodes
Data = router lifetime=0
RA
Internet
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
Weryfikacja?
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.
A C
“Jestem bramą domyślną” Router Advertisement Option: prefix(s)
RA
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
• Weryfikacja unikalności adresu IPv6
• Próbkowanie sąsiadów czy nikt nie posiada już adresu
• Wiadomości: Neighbor Solicitation, Neighbor Advertisement
ICMP type = 135 (Neighbor Solicitation)
Src = UNSPEC = 0::0
Dst = Solicited-node multicast address of A
Data = A
Query = Does anybody use A already?
NS
Host A może używać adres IPv6
A B C
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
• Bezstanowy mechanizm na podstawie prefiksu w RA.
• Wiadomości: Router Advertisements, Router Solicitations
ICMP Type = 133 (Router Solicitation)
Src = UNSPEC (or Host link-local address)
Dst = All-routers multicast address (FF02::2)
Query = please send 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
Options = Prefix X,Y,Z, lifetime
RA
Wysyłaj ruch z X::x, Y::y, Z::z
Oblicz X::x, Y::y, Z::z i wykonaj DAD NS
A B
Internet
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 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
Router B filtruje BAD::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
RA Usuwa X::A
Host A wysyła ruch off-link do B jako BAD::A
A C
Internet
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 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
SHA-1
Klucze RSA
Priv Pub
Subnet
Prefix
Interface
Identifier
Crypto. Generated Address
Podpis
Wiadomości SeND
Modifier
Public
Key
Subnet
Prefix
CGA Params
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 30
Router R host
Certificate Authority CA0 Certificate Authority
Certificate C0
Router
certificate
request
Router certificate CR
Certificate Path Solicit (CPS): I trust CA0, who are you R?
Certificate Path Advertise (CPA): I am R, this is my certificate CR signed by CA0
1
2
3
4
5
6 Verify CR against CA0
7 Insert R as default route
ROUTER ADVERTISEMENT (SRC = R)
provision
provision
A
Każdy host dba sam o swoje bezpieczeństwo
Weryfikacja czy router jest zaufany.
Subject Name
zawiera listę
autoryzowanych
prefiksów IPv6
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
Hosty muszą posiadać certyfikaty CA
Relacja zaufania jest łatwa do zbudowania w obrębie
kontrolowanej sieci, na zewnątrz – bardzo trudna do osiągnięcia
Bardzo mało stosów TCP/IPv6 wspiera dzisiaj SeND
GRANICA ADMINISTRACYJNA
CA
Router Host
CA
Router Host
CA
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 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 33
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
Przykład:
ICMPv6 Neigbor discovery / Router advertisements
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
Service HTTP
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 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 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 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 39
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
http://www.cisco.com/security
184 pages
50 pages
© 2012 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
Cisco Public 43