290 likes | 404 Views
IPv6 – bezpečnostní hrozby (IPSec to srovná). Tomáš Podermański , tpoder@cis.vutbr.cz. Zdroje informací. IPv6 security Eric Vyncke, Scott Hogg Internetový protokol IPv6 Pavel Satrapa Prezentace, IPv6 Security Scott Hogg Prezentace, Attacking the IPv6 Protocol Suit van Hauser
E N D
IPv6 – bezpečnostní hrozby (IPSec to srovná) Tomáš Podermański, tpoder@cis.vutbr.cz
Zdroje informací • IPv6 security Eric Vyncke, Scott Hogg • Internetový protokol IPv6 Pavel Satrapa • Prezentace, IPv6 Security Scott Hogg • Prezentace, Attacking the IPv6 Protocol Suit van Hauser • Prezentace, IPv6 Routing Header Security Philippe BIONDI, Arnaud EBALARD
Co se povídá o bezpečnosti IPv6 • IPv6 provides better security than IPv4 for applications and networks • How does IPv6 provide a solution?In IPv6, IPSec is a major protocol requirement and is one of the factors in ensuring that IPv6 provides better security than IPv4. Zdroj: http://ipv6.com/articles/general/Top-10-Features-that-make-IPv6-greater-than-IPv4-Part5.htm
IPv6 bezpečnost • Pravděpodobně IPv6 už na svém PC máte • Ve většině OS automaticky zapnutý protokol • MS Vista/7, Linux, Mac OS, BSD* • Preferovaný protokol • Pro sítě kde není nativní konektivita se vytvářejí automaticky tunely • Většina těchto aktivit se děje bez vědomí uživatele a správce • Ignorace zabezpečení IPv6 vede k vytváření obrovských backdoorů • Zabezpečení celého systému zavisí od nejslabšího prvku
IPv6 bezpečnostní hrozby • Zatím není IPv6 z pohledu hackerů příliš zajimavé - to se jistě v dohledné době změní • IPv6 je “nový” (=nově použivaný) protokol - řada slabých míst zatím není odhalena • Vrstvy nad a pod síťovou vrstvou jsou zranitelné stejným způsobem jako dosud
Reconnaissance - zjišťování • Rozsahlý adresový prostor prakticky znemožňuje plošné scanningy • Brute force scanning na síti /64 by trval 28 let s intenzitou 1 mln testů za sekundu (400Mb/s) než by došlo k nalezení první aktivní IP adresy • RFC 5157 IPv6 - Implications for Network Scanning • Privacy extension for Stateless Address Autoconf. (RFC 4941) • Budou se hledat nové metody zjišťování aktivních adres • DNS, dynamické DNS, whois, logy, Flow, NI Query (RFC 4620) … • Zjišťování na úrovní lokalních sítí • Ping FF02::1 • Odhadovaní EUI-64 adres • Odhadování adres na základě IPv4 (tunely a spol) • Získavání informací z neighbor cache
IPv6 Attack Tools • THC IPv6 Attack Toolkit – parasite6, alive6, fake_router6, redir6, toobig6, detect-new-ip6, dos-new-ip6, fake_mld6, fake_mipv6, fake_advertiser6, smurf6, rsmurf6 http://freeworld.thc.org/ • Scanners – Nmap, halfscan6, Scan6, CHScanner • Packet forgery – Scapy6, SendIP, Packit, Spak6 • DoS Tools – 6tunneldos, 4to6ddos, Imps6-tools
ICMPv6 (RFC 2463) • Značně odlišný oproti IPv4 • Nezbytný protokol pro chod celého IPv6 • Objevování sousedů (NDP) • Bezstavová konfigurace (RS, RA) • Práce se skupinami v multicastu (MLD) • Diagnostika (PING) • Signalizace • Destination Unreachable • Time exceeded • Packet to Big • Redirection • … • Bez ICMPv6 IPv6 nefunguje !
Konfigurace klientů – RA, DHCPv6 • RA neobsahuje adresy name serverů • Získat je jinou cestou (DHCPv4, DHCPv6) • Obracet se na anycastovou adresu DNS serveru • Rozšíření RA (RFC 5006) – zatím bez implemetace • Původním záměrem bylo vyhnout se zcela DHCPv6 • První RFC 3315 (rok 2003) • Předpokládá koexistencí s RA (flagy M,O) • Neobsahuje prefix sítě ani adresu směrovače • Různé OS podporují různé mechanizmy • Windows Vista/7 – RA + DHCPv6 • MAC OS - RA • Linux, BSD a spol. - různě
Hrozby v lokální síti • Hrozby založene na modifikovaných ICMPv6 zprávach • RA spoofing • Vyčerpání zdrojů směrovače • Redirekce • ICMPv6 nelze blokovat jako celek – komplikovaná konfigurace bezpečnostní politiky • Falešný router (v sítich kde není IPv6) • Hrozby založené na modifikovaných DHCPv6 zprávach • DHCPv6 spoofing • Falešné DHCPv6 (v sítích kde není IPv6)
Hrozby v lokální síti • V IPv4 se pro přídělování adres ustálilo DHCP • Mechanizmy ochrany na úrovní aktivních prvků • DHCP snooping (zahazovaní paketů falešných DHCP) • Dynamic lock down (stanice si nejdřív musí požadat o adresu z DHCP a pak může tuto adresu použít ke komunikaci) • Možnosti v IPv6 – zatím nevalné, nerozšířené a nejasné • SeND (RFC 3971) • Založen na asymetrické kryptografii (distribuce certifikátu) • Cisco patentovaný protokol, ale otevřený všem • Vylučuje použití privacy extension • RA-Guard (draft-ietf-v6ops-rogue-ra-06, September 2010) • Filtrace odpovědí na úrovní portu prvku • SeND proxy • SAVI (draft-bi-savi-cps-00, October 2009) • Řeší RA, DHCPv4 I DHCPv6 – v principu lepší RA-Guard • Vyexpirovaný
OK, nechme IPv6 být nějak to dopadne. Jenže • 2/3 PC podporují dualstack • Většina (téměř všechny) jsou nakonfigurovány tak aby získavaly adresu prostřednicvím autokonfigurace • Všechny systémy upřednostňují IPv6 před IPv4 • Jak tedy postupovat: • Konfigurace PC, tak aby šířil do sítě RA • Připravím si DHCPv6 server; jako adresy DNS serveru budu inzerovat svojí IPv6 adresu • Upravím si DNS server tak, aby pro www.csas.cz, www.mbank.cz, www.kb.cz a www.liberouter.org vracel můj záznam s IPv6 adresou • Zprovozním proxy službu a už jen loguju
Jak tomuto typu útoku bránit • Zavedení nativní IPv6 konektivity • Průběžné monitorování zdrojů prefixů • ramond - http://ramond.sourceforge.net/ • mafixd - http://www.kame.net/ • ndpmon - http://ndpmon.sourceforge.net/ • scapy6 - http://hg.natisbad.org/scapy6/ • Blokování na úrovní acces listů přepínačů • Viz. http://www.cesnet.cz/ipv6/wg/p/1006-detekce-routeru.pdf ipv6 access-list block-ra-dhcp 10 deny icmp any any 134 0 20 deny udp any eq 547 fe80::/64 eq 546 30 permit ipv6 any any exit interface 1-44 ipv6 access-group block-ra-dhcp in
Rozšiřující (zřetězené) hlavičky • Snaha o vytvoření konceptu umožňující rozšířování • Každá hlavička může mít jinou délku • Linearní seznam hlaviček (voleb) • Terminující: TCP, UDP, ICMPv6, OSPFv3, EIGRP, PIM-SM, …, NULL • IPSec: ESP, AH • Řízení: Hop-by-Hop, Destination, Routing, Fragmentation option • Experimentalní hlavičky • Předepsané pořadí
Rozšiřující (zřetězené) hlavičky • Potencialní rizika • Zneužití routing header (obrana zákaz RH0) • Fragmentace (obrana VRF) • Záměrná záměna pořadí hlaviček • Vyčerpaní prostředků – dlohé zřetězení • Zejména u Router alert hlavičky • Minimální možnosti filtrace • (ne)zkoušejte isic6 – nahodilé generování hlaviček • Všespasitelný IPSEC • Skryje veškerý provoz před očima firewallu, IDS, IPS, … • Obecné doporučení – povolit IPSec/ESP pouze pro vybrané stroje (adresy)
Hrozby na úrovní páteřních sítí • BGP4+ : převzato prakticky 1:1 z BGP • OSPFv3, RIPNG : drobné změny • Link local adresy • Zrušení OPFFv3 autentizace • Zatím je IPv6 trafficu minimum • Co se stane až dojde k nárustu objemu dat ? • Co se stane až dojde k navýšení počtu směrovacích záznamů ? • Zatím to vypadá relativně únosně… zatím …. • Možný nárust užívání PI adres
Implementation Vulnerabilities in IPv6 so far • Převzato z : http://freeworld.thc.org/papers.php • IPv6 was meant to be easy to process and easy to implement. • Programmers have learned their lessons with IPv4. • Hey, then what can probably go wrong?
Implementation Vulnerabilities in IPv6 so far • Python getaddrinfo Function Remote Buffer Overflow Vulnerability • FreeBSD IPv6 Socket Options Handling Local Memory Disclosure Vulnerability • Juniper JUNOS Packet Forwarding Engine IPv6 Denial of Service Vulnerability • Apache Web Server Remote IPv6 Buffer Overflow Vulnerability • Exim Illegal IPv6 Address Buffer Overflow Vulnerability • Cisco IOS IPv6 Processing Remote Denial Of Service Vulnerability • Linux Kernel IPv6_Setsockopt IPv6_PKTOPTIONS Integer Overflow Vulnerability • Postfix IPv6 Unauthorized Mail Relay Vulnerability
Implementation Vulnerabilities in IPv6 so far • Microsoft Internet Connection Firewall IPv6 Traffic Blocking Vulnerabilityn Microsoft Windows 2000/XP/2003 IPv6 ICMP Flood Denial Of Service Vulnerability • Ethereal OSI Dissector Buffer Overflow • Vulnerabilityn SGI IRIX Snoop Unspecified • Vulnerabilityn SGI IRIX Snoop Unspecified • Vulnerabilityn SGI IRIX IPv6 InetD Port Scan • Denial Of Service Vulnerabilityn Apache Web • Server FTP Proxy IPv6 Denial Of Service • Vulnerabilityn Sun Solaris IPv6 Packet Denial of Service Vulnerability • Multiple Vendor HTTP Server IPv6 Socket IPv4 MappedAddress
Implementation Vulnerabilities in IPv6 so far • Cisco IOS IPv6 Processing Arbitrary Code Execution Vulnerabilityn Cisco IOS IPv6 Processing Arbitrary Code Execution Vulnerability • Linux Kernel IPv6 Unspecified Denial of Service Vulnerabilityn HP Jetdirect 635n IPv6/IPsec • Print Server IKE Exchange Denial Of Service Vulnerabilityn • 6Tunnel Connection Close State Denial of Service Vulnerability • HP-UX DCE Client IPv6 Denial of Service Vulnerability • Multiple Vendor IPv4-IPv6 Transition Address SpoofingVulnerability • ZMailer SMTP IPv6 HELO Resolved Hostname Buffer Overflow Vulnerability • Linux Kernel IPv6 FlowLable Denial Of Service Vulnerability • Linux Kernel IP6_Input_Finish Remote Denial Of Service Vulnerability
Implementation Vulnerabilities in IPv6 so far • Linux Kernel IP6_Input_Finish Remote Denial Of Service Vulnerability • Sun Solaris 10 Malformed IPv6 Packets Denial of Service Vulnerability • Sun Solaris Malformed IPv6 Packets Remote Denial of Service Vulnerability • Windows Vista Torredo Filter Bypass • Linux Kernel IPv6 Seqfile Handling Local Denial of Service Vulnerability • Linux Kernel Multiple IPv6 Packet Filtering Bypass Vulnerabilities • Cisco IOS IPv6 Source Routing Remote Memory Corruption Vulnerability
Implementation Vulnerabilities in IPv6 so far • Linux Kernel IPv6_SockGlue.c NULL Pointer Dereference Vulnerability • Multiple: IPv6 Protocol Type 0 Route Header Denial of Service Vulnerability • Linux Kernel Netfilter nf_conntrack IPv6 Packet Reassembly Rule Bypass Vulnerability • Sun Solaris Remote IPv6 IPSec Packet Denial of Service Vulnerability • Linux Kernel IPv6 Hop-By-Hop Header Remote Denial of Service Vulnerability • KAME Project IPv6 IPComp Header Denial Of Service Vulnerability • OpenBSD IPv6 Routing Headers Remote Denial of Service Vulnerability
Implementation Vulnerabilities in IPv6 so far • Linux Kernel IPv6_Getsockopt_Sticky Memory Leak Information Disclosure Vulnerability • Linux Kernel IPv6 TCP Sockets Local Denial of Service Vulnerability • Juniper Networks JUNOS IPv6 Packet Processing Remote Denial of Service VulnerabilityCisco IOS Dual-stack Router IPv6 Denial Of Service Vulnerability • Multiple Platform IPv6 Address Publication Denial of Service Vulnerabilities • Microsoft IPv6 TCPIP Loopback LAND Denial of Service Vulnerability • Handling Vulnerabilityn BSD ICMPV6 Handling • Routines Remote Denial Of Service Vulnerability
Implementation Vulnerabilities in IPv6 so far Vulnerability data from June 2008 47 bugs some multi operating systems many silently fixed Převzato z : http://freeworld.thc.org/papers.php
Závěr • IPv6 kopíruje většinu bezpečnostních hrozeb IPv4 • DDoS, Address spoofing, RH0, Fragmentace, … • Neřeší (a ani nemůže) hrozby nižších a vyšších vrstev • Některé typy útoků jsou složitější • Horizontální scanning • Lepší filtrace sítí • Některé snažší (zejména díky nezralosti protokolu) • RA, DHCPv6 spoofing, … • Útoky na ICMPv6 • Řetězení hlaviček, overflow • Neznalostí a ignorací uživatelů a správců • Nové možnosti přinášejí tranzitní mechanizmy • IPSec není všespasitelné řešení • Naopak některé věci hodně komplikuje
Domácí úkol IPv6 Security Eric Vyncke, Scott Hogg Publisher: Cisco Press ISBN: 1587055945 Pages: 576