Överbelastningsattacker mot gränsroutrar

Relevanta dokument
Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:

Att Säkra Internet Backbone

DIG IN TO Administration av nätverk- och serverutrustning

Datakommunikation. Nätskiktet. Routers & routing

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

IP routinghierarkier. Robert Löfman Institutionen för informationsbehandling Åbo Akademi, FIN Åbo, Finland e post: robert.lofman@abo.nospam.

Denial of Services attacker. en översikt

DIG IN TO Administration av nätverk- och serverutrustning

DIG IN TO Administration av nätverk- och serverutrustning

ETS052 Internet Routing. Jens A Andersson

Nätverkslagret - Intro

Instuderingsfrågor ETS052 Datorkommuniktion

Hjälpprotokoll till IP

DIG IN TO Nätverksteknologier

DIG IN TO Administration av nätverk- och serverutrustning

Säkerhet i gränsrouting

ETS052 Internet Routing. Jens A Andersson

DIG IN TO Nätverkssäkerhet

5 Internet, TCP/IP och Tillämpningar

Kihl & Andersson: Kapitel 6 (+ introduktioner från kap 7, men följ slides) Stallings: 9.5, 14.1, 14.2, Introduktion i 14.3, 16.1

5 Internet, TCP/IP och Applikationer

Datasäkerhet och integritet

Tentamen i Datorkommunikation den 10 mars 2014

Lösningar till tentan i ETS052 Datorkommunikation

IT för personligt arbete F2

Svar till SSNf angående projekt SKA 3.1, Säker Kund Anslutning. 12 Mars 2008 Version 3.0

Denna genomgång behandlar följande: IP (v4) Nätmasken ARP Adresstilldelning och DHCP

Tentamen CDT102 Datakommunikation i nätverk I 7,5hp

DIG IN TO Administration av nätverk- och serverutrustning

DIG IN TO Administration av nätverk- och serverutrustning

Grundläggande nätverksteknik. F3: Kapitel 4 och 5

ETS052 Internet Routing WILLIAM TÄRNEBERG

TCP/IP och Internetadressering

Vad är Internet? - Flera olika slags nät - Vill kunna kommunicera över dessa nät - Vad gör man?

Introduktion - LAN Design och switching concepts Basic Switch Concepts and Configuration Frågor? Referenser. Nätverksteknik 2

IPv6 Jonas Aronsson 3TEa

5. Internet, TCP/IP tillämpningar och säkerhet

Kapitel 6, 7, o 8: ARP Vägval Från användare till användare. Jens A Andersson (Maria Kihl)

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Kaj Kjellgren Netnod Netnod

Säkerhet genom simpel nätverksutrustning. Högskoleingenjörsexamensarbete Fredrik Folke

DA 2012: F13. Nätverk 2 Ann-Sofi Åhn

Grundläggande datavetenskap, 4p

Från användare till användare ARP. (Maria Kihl)

Kapitel 10, 11 o 12: Nätdrift, Säkerhet. Publika telenätet. Informationsöverföring. Jens A Andersson. Telenäten är digitala.

DIG IN TO Nätverksteknologier

IP Från användare till användare Vägval DNS Jens A Andersson (Maria Kihl) Att skicka data över flera länkar. Nätprotokoll

g S tin u g A o ett tin u r R m llan o o e to R ec in m g? ain g S tin m tin ce-v u o u r ro r-d r ro istan ö te ö är ett A d a D - F In - F V

Din guide till IP RFID. Intertex Nu ännu starkare säkerhet för SIP. Snom - marknadens säkraste IP-telefon. Ur innehållet TALK TELECOM

Skydda ditt nät och dina kunder från näthoten. Integritet, Spårbarhet och Tillgänglighet

Kapitel 6, 7, o 8: IP DNS Vägval Från användare till användare Jens A Andersson (Maria Kihl) Att skicka data över flera länkar.

Hur gör man ett trådlöst nätverk säkert?

LABORATIONSRAPPORT Säkerhet & Sårbarhet VPN

Lösningar till tentan i ETS052 Datorkommunikation

Interna routingprotokoll i operatörsnät - uppbyggnad och tillämpning

Övning 5 ETS052 Datorkommuniktion Routing och Networking

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

IPv6 och säkerhet.

1. Internets Applikationer 8 poäng

Föreläsning 5: ARP (hur hitta MAC-adress) Från applikation till applikation

Föreläsning 5: Stora datanät Från användare till användare ARP

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

Säkerhet. Säker kommunikation - Nivå. Secure . Alice wants to send secret message, m, to Bob.

Nätverksteknik A - Introduktion till Routing

Tentamen CDT102 Datakommunikation i nätverk I 7,5hp

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Föreläsning 5: ARP (hur hitta MAC-adress) IPv4, IPv6 Transportprotokoll (TCP) Jens A Andersson

Kapitel 10 , 11 o 12: Nätdrift, Säkerhet

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

F8 Meddelandesändning med UDP

5. Internet, TCP/IP och Applikationer

Real-time requirements for online games

Internetprotokollen. Maria Kihl

Från användare till användare. (Maria Kihl)

IPv6 i Stadsnät. Anders Löwinger, PacketFront

Informationsteknologi sommarkurs 5p, Datakommunikation

SKA v6. Godkänd: Rev: April. SKA v6 1(19)

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson

Nätverksteknik A - Introduktion till Routing

Protokoll i flera skikt Fragmentering Vägval DNS. Jens A Andersson

Stora datanät. Maria Kihl

Grundläggande rou-ngteknik. F2: Kapitel 2 och 3

att det finns inte något nätverk som heter Internet Finns Internet? Varför fungerar det då? Nätet? Jag påstår

2D1395, Datasäkerhet. GF3 Paketfiltrering

Rättningstiden är i normalfall 15 arbetsdagar och resultat anslås sedan i Ladok inom en vecka (under förutsättning att inget oförutsett inträffar).

Routing Information Protocol

Önskemål kring Studentstadens bredband och UpUnet-S

Christer Scheja TAC AB

EITF45 Internet Routing JENS ANDERSSON (WILLIAM TÄRNEBERG)

Datakommunika,on på Internet

Datasäkerhet och integritet

Spanning Tree Network Management Säkerhet. Spanning Tree. Spanning Tree Protocol, Varför? Jens A Andersson

Kihl & Andersson: , Stallings: , , DHCP beskrivs även bra på

3. Steg för steg. Kör IPv6 på riktigt med FortiGate! Principen är enkel:

Skriftlig tentamen i kursen TDTS04 Datornät och distribuerade system kl. 8 12

IPv6 Jonas Westerlund Institutionen för Informationsbehandling Åbo Akademi, Åbo, Finland

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar

EITF45 Internet Routing JENS ANDERSSON (WILLIAM TÄRNEBERG)

Produktspecifikation Bitstream FTTx

Transkript:

Överbelastningsattacker mot gränsroutrar MIKAEL CARLANDER Examensarbete Stockholm, Sverige 2005 TRITA-NA-E05149

Numerisk analys och datalogi Department of Numerical Analysis KTH and Computer Science 100 44 Stockholm Royal Institute of Technology SE-100 44 Stockholm, Sweden Överbelastningsattacker mot gränsroutrar MIKAEL CARLANDER TRITA-NA-E05149 Examensarbete i datalogi om 20 poäng vid Programmet för datateknik, Kungliga Tekniska Högskolan år 2005 Handledare på Nada var Olof Hagsand Examinator var Stefan Arnborg

Sammanfattning Då allt mer samhällskritiska funktioner sköts över eller baseras på Internet, uppstår frågan om behovet av kontroll eller uppstyrning för att säkerställa funktion och framför allt tillgänglighet. Rapporten kommer att närmare undersöka överbelastningsrisken för de routrar som utgör själva infrastrukturen på Internet. Om dessa gränsroutrar överbelastas kan trafiken stoppas eller avledas. Rapporten visar att det idag finns ett flertal säkerhetsfunktioner för att skydda gränsroutrar men att säkerheten brister på två punkter: 1. befintliga säkerhetsfunktioner begränsas till en lokal administration och tar därför inte hänsyn till Internet som en helhet och kan därför inte heller anses tillräckliga för att säkra Internet som en samhällskritisk infrastruktur 2. säkerhet idag planeras, administreras och kontrolleras av operatören. Dessa har ett tydligt vinstintresse där säkerhet måste ställas mot ekonomi och den aktuella konkurrenssituationen. Vidare belyser rapporten vikten av att införa ett mer globalt säkerhetstänkande och rekommenderar vidare tester av framförallt Secure Border Gateway Protocol för att avgöra om detta kan axla bördan av ett dylikt säkerhetssystem.

Malicious overcharging of BGP-routers Abstract As more and more functions that are critical to the infrastructure of our society become based on the Internet, the question rises of whether there should exist some sort of control or guidance in order to ensure function and, perhaps more importantly, availability. This report takes a closer look at the risk presented by overloading the routers that comprise the very infrastructure of the Internet. If these routers should fail, traffic on a large scale can be blocked or rerouted. The report shows that there exist multiple security measures today to protect border routers but also that these measures fail on two accounts: 1. available security measures are limited to local administrations and therefore fail to take the Internet as a whole into account, therefore these can not be considered adequate to secure the Internet as a critical infrastructure for our society 2. security today is being planned, administrated and controlled by the operator. The operator can be considered to be partial since they have a clear interest in profit which by necessity must present a conflict between security, economy and the present competition situation. Furthermore, the report illuminates the importance of a more globally oriented security awareness and recommends further tests of Secure Border Gateway Protocol in order to decide if it can accommodate such a security system.

Index 1 Inledning 1 2 Bakgrund 3 3 Syfte 5 4 Avgränsningar 7 5 Metod 9 6 Teori 11 6.1 Internet 12 6.1.1 Autonoma System (AS) 12 6.1.2 Border Gateway Protocol v4 (BGP4) 14 6.1.3 Transmission Control Protocol (TCP) 14 6.1.4 Interior Gateway Protocol (IGP) 15 6.1.5 Message Digest 5 (MD5) 15 6.1.6 Generalized TTL Security Mechanism (GTSM) 16 6.1.7 Internet Control Message Protocol (ICMP) 16 6.1.8 Fler protokoll 17 6.2 Överbelastningsattacker - generellt 18 6.2.1 TCP-syn flood 18 6.2.2 Utträngning av TCP-trafik 18 6.2.3 TCP-reset 18 6.2.4 Reflektor attacker 19 6.2.5 SNMP 19 6.2.6 Multicast 19 6.2.7 IGP:s inverkan på BGP och routerprocessorn 20 6.3 Routerarkitektur 20 6.3.1 Fastpath 22 6.3.2 Slowpath 22 6.3.3 Routerprocessor 22 6.3.4 Jämförelse 23 6.3.5 Alternativ 23 6.4 Alternativa säkerhetslösningar 24 6.4.1 Internet Protocol Security (IP-sec) 24 6.4.2 Secure BGP (SBGP) 24 6.4.3 Secure origin BGP (SoBGP) 25 7 Överbelastningsattacker mot routrar 27 7.1 Routerprocessorns sårbarhet 28 7.1.1 Administration 28 7.1.2 IGP 29 7.1.3 Tjänster, ICMP 30 7.1.4 Service Crashing 32 7.2 BGP4 32 7.2.1 Uppdateringar och dess inverkan 33 7.2.2 BGP-sessionen 33 7.2.3 Omstart av router 34 7.2.4 Autenticiering i BGP 35 7.2.5 Diffusa källor och ruttdämpning 36

7.3 TCP 38 7.3.1 Resursallokering och TCP-syn-flood 38 7.3.2 Injicering av data i TCP-session 38 7.3.3 Kapning av TCP-session 40 7.3.4 TCP avbrott 40 8 Skydd mot överbelastningsattacker 43 8.1 Allmänt 45 8.2 Nätdesign som skydd 46 8.2.1 Risker och hot vid peering 46 8.2.2 Risker och hot vid administration 47 8.2.3 Konfederationer och routereflektorer 49 8.3 Yttre skydd 50 8.3.1 Försvåra förfalskande av adresser 51 8.3.2 Skydd mot fluktuerande rutter 51 8.3.3 Skydd mot falska prefix 53 8.4 Skalskydd 53 8.4.1 Filtrering av trafik till routerprocessorn 54 8.4.2 Filtrering av trafik till slowpath 54 8.4.3 Bandbreddsbegränsning 54 8.4.4 Control Plane Policing (CoPP) 55 8.5 Kärnskydd 56 8.5.1 Stäng av tjänster 56 8.5.2 Autenticiering, ett nödvändigt ont? 57 8.5.3 Ruttkontroll 58 9 Slutsatser 61 9.1 Det distribuerade Internet 62 9.2 Smygcentralisering 62 9.3 Centraliserad säkerhet för BGP-routrar 63 9.4 Den partiska operatören 63 9.5 Sista ordet 64 Litteraturförteckning 65 Bilaga A: Ordlista med referenser I Bilaga B: Gissning av TCP-sekvensnummer och portnummer V Bilaga C: TCP avbrott VII Bilaga D: Arp-stormar IX Bilaga E: Ruttdämpning XVII

Kapitel 1 Inledning 1 Inledning Själva konceptet bakom Internet bygger på frihet att själv besluta och organisera efter behov utan inblandning från myndigheter eller externa organisationer. Det är detta som gör Internet till det extremt flexibla och dynamiska system det idag är, något som till viss del kan liknas vid en organism där en del kan kapas utan att resten påverkas nämnbart. Men just denna avsaknad av en övergripande kontroll gör applikationer avsedda för Internet sårbara eftersom det inte existerar någon garanti för hur exempelvis säkerhet sköts längre bort. I takt med att leverantörer finner nya tjänster att sälja som bygger på Internet, ökar vårt behov av stabillitet och funktion. Tyvärr är det inte alltid så lätt att stanna upp och se till bieffekterna eller riskerna som följer och situationen når sin spets när samhällskritiska funktioner baseras på Internet. På senare tid har exempelvis IP telefoni, som sålts med löfte om lägre kostnader, expanderat så det knakar. Detta har skett i princip utan att jämföra den nya teknologin med den gamla på ett säkerhetstekniskt plan och i princip utan att det ställts några krav på funktionen eller för den delen tillgängligheten. 1

2

Kapitel 2 Bakgrund 2 Bakgrund Internet är till sin natur öppet och det för med sig sårbarheter. Det blir allt vanligare med attacker som syftar till att störa eller förstöra våra datorer, Internettjänster eller till och med delar av Internet självt. Virus, maskar, trojanska hästar, zombies och Denial of Service (DoS) attacker har blivit en del av vår vardag. Effekten av attackerna förstärks när de riktas mot en tjänst snarare än en användarklient. Ett tydligt exempel på hur sårbart Internet är, är att effekten av några av de mest kraftfulla attackerna egentligen har uppstått som en bieffekt till den verkliga attacken. Ett exempel på effekten av bieffekterna är SQL-slammer attacker [1], denna inriktade sig på Microsofts SQL Server mjukvara respektive diverse andra produkter som utnyttjar SQL Server teknik. Maskens syfte var att reproducera sig och infektera andra värdar. Detta gjorde den visserligen mycket snabbt och det resulterade bland annat i en ökad belastning på värdarna och för näten, men den stora effekten av masken kom sig av att SQL-slammern i sina försök att nå nya värdar skannade av IP-nummer utan att skilja mellan unicast- och multicast IP-nummer. När masken försökte nå ett multicast IP-nummer aktiverades Protocol Independent Multicast Sparse Mode(PIM-SM) protokollet i närliggande routrar som därmed måste förbereda för att vidarebefordra kommande multicast-trafik till en Rendezvous Point som i sin tur använder Multicast Source Discovery Protocol (MSDP) för att upprätthålla multicast-förbindelser mellan Autonoma System. Eftersom masken kunde skanna av upp till 25 000 IP-nummer per sekund, blev resultatet att multicastaktiverade routrar byggde träd i en takt som deras respektive routerprocessor inte klarade av. 3

Överbelastningsattacker har hitintills inriktats i första hand på klienter eller servrar/tjänster. Även om effekten av dessa attacker kan vara nog så substantiell, är den begränsad i förhållande till den effekt som skulle kunna uppnås om attacken inriktas mot infrastrukturen i Internet. 4

Kapitel 3 Syfte 3 Syfte På senare år har medvetenheten om behovet av att skydda routrar ökat, varför denna rapport bland annat har som syfte att göra en sammanställning av hot som finns mot gränsroutrar. I rapporten görs dock inget anspråk på att lösa säkerheten för routrar. Rapporten syftar i första hand till att undersöka hur sårbara gränsroutrar är för överbelastningsattacker. I andra hand belyser rapporten de sårbarheter som upptäcks samt utformar förslag till hur en gränsrouter kan skyddas mot överbelastningsattacker. Med ovan problemdefinition som grund, går examensarbetet ut på att undersöka: vilka typer av överbelastningsattacker kan förekomma mot en gränsrouter? vilka funktioner i en gränsrouter kan drabbas av överbelastningsattacker? vilka blir konsekvenserna i de olika fallen? hur kan säkerheten vad gäller överbelastningsattacker mot routrar förbättras? 5

6

Kapitel 4 Avgränsningar 4 Avgränsningar Examensarbetet behandlar överbelastningsattacker på gränsroutrar och därmed routing mellan Autonoma System. Till följd av detta behandlas endast routingprotokollet Bordet Gateway Protocol v4 (BGP4) samt det underliggande transportprotokollet Transmission Control Protocol (TCP). Interior Gateway Protocol (IGP) kommer inte att behandlas direkt, utan endast i den mån de har en direkt inverkan på BGP4. En viktig aspekt, av att rapporten behandlar överbelastningsattacker på just routrar, är att attacker som inriktas på att överbelasta det fysiska nätets bandbredd genom att tränga ut all annan trafik inte kommer att behandlas. Dessutom förutsätts att routerns prestanda överensstämmer med det fysiska nätets bandbredd och därmed inte utgör en särskild flaskhals. Rapporten förutsätter att målroutern och de routrar som denna peerar emot är integritetsmässigt intakta, dvs. ingen utan administrativ befogenhet får eller kan administrera någon av dessa routrar. Detta grundar sig dels i att kompromettering av en router i sig inte kan anses som en överbelastningsattack och dels i att om någon av dessa är komprometterad så förefaller överbelastningsattacker inte vara det största problemet. Däremot kan andra BGP-routrar eller klienter vara komprometterade och därmed exempelvis sprida falska prefix. Idag används routrar till fler syften än just routing, exempelvis som inloggningsserver eller autentisieringsserver. Dessa funktioner behandlas inte i denna rapport. Märkesspecifika realiseringar av mjukvara eller protokoll kommer inte heller att behandlas i rapporten i större utsträckning än en rekommendation om att regelbundet uppdatera mjukvaran. 7

Multicast kommer inte att behandlas. Detta grundar sig inte i att multicast inte kan utnyttjas för överbelastningsattacker, tvärtom måste potentialen understrykas inte minst med tanke på att överbelastningar av routrar grundade på multicast redan skett om än som en sekundäreffekt av SQL-slammer masken. Skälet till att multicast inte kommer att behandlas har endast att göra med att multicast är ett mycket stort område och att tiden till förfogande är begränsad. 8

Kapitel 5 Metod 5 Metod Arbetet bakom rapporten har primärt varit av undersökande natur. Efter en instuderingsfas har arbetet gått ut på informationssökning varvat med analys av protokoll och kända överbelastningsattacker. Under arbetets gång har dessutom ett antal intervjuer gjorts. Förutom att dessa syftat till att utöka en teknisk kunskap har de även presenterat en bild av hur Internetleverantörer i Sverige idag ser på hotet av överbelastningsattacker samt hur de skyddar sina routrar. Intervjuerna har inte följt någon mall och skälet till detta är dels att statistiska data inte varit av så stort intresse men framför allt att ämnet är så stort att det är svårt att hitta någon som är expert på alla delar eller ens ett flertal delar. Däremot är tillgången på personer med spetskunskap inom specifika områden som exempelvis BGP, traditionella DoS attacker eller TCP:s svagheter tämligen god, denna form av distribuerade kunskap har legat till grund för en mer individuellt anpassad intervjuteknik. Intervjuerna har gjorts med personal på KTH-noc, PTS samt med en representant för Svenska Internetleverantörer. Intentionen var att representanter för fler leverantörer skulle intervjuas, men dessa valde att inte svara på förfrågan, det är oklart varför. Det har inte heller förekommit några laborationer eller tester som grund för rapporten men det förekommer bland annat uppslag till tester. Det primära skälet till att dessa inte har utförts är en kombination av rapportens omfattning i förhållande till den tid som stått till förfogande. Däremot bygger mycket av det som presenteras i rapporten på andras tester eller undersökningar, detta har på samtliga ställen följts av en referens. 9

10

Kapitel 6 Teori 6 Teori Examensarbetet kommer att behandla överbelastningsattacker på routrar. Detta är en form av DoS-attack som syftar till att störa en/flera routrars funktion/syfte. Attacken realiseras från en eller flera värdar men drar vanligtvis fördel av att flera värdar gemensamt kan uppnå en effekt som en enskild värd inte skulle klara. DoS DDoS Överbelastningsattack Figur 1: Överbelastningsattacker I Figur 1 syns förhållandet mellan DoS-, DDos- och överbelastningsattacker. DoSattacker inbegriper alla typer av attacker som syftar till att göra exempelvis en tjänst otillgänglig, exakt hur spelar ingen roll. DoS-attacken kan exempelvis utföras med en överbelastningsattack eller ett intrång, men lika gärna genom att strömförsörjningen förstörs eller genom att någon spiller ett glas vin på ett tangentbord. DDoS-attacker är de DoS-attacker som utnyttjar att flera attacker samtidigt ger en ökad effekt vare sig det innebär en distribuerad överbelastningsattack eller en dis- 11

tribuerad och koordinerad spill-kaffe-på-tangetbordet-attack (läs företagsfest). Överbelastningsattacker däremot skiljer sig något, syftet är i princip det samma som för DoS/DDoS-attacker, men de genomförs uttryckligen genom att överbelasta en eller flera resurser, däremot är distribution inte strikt nödvändigt även om det normalt sett höjer effekten. 6.1 Internet Internet och dess fysiska och logiska struktur är för stor och diversifierad för att kortfattat kunna beskrivas i en examensarbetesrapport. Läsaren förutsätts därför i huvudsak vara förtrogen med hur Internet fungerar och de termer som används. Tyvärr används Internet-relaterade termer ofta slarvigt och detta skapar lätt missförstånd. Därför följer en kort klargöring av terminologin inom rapporten. Modellen som används i rapporten är tänkta att beskriva Internets struktur, i hänseende till rapporten, relevant och lättåskådligt sätt. Internet består av många miljoner datorer sammankopplade i ett nätverk. För att anarki inte skall råda, används följande fysiska struktur: en eller flera klienter/servrar är kopplade till nät. nätverk består av nät som är sammankopplade med routrar som gör att kommunikation mellan näten är möjlig nätverket är dessutom logiskt indelat i olika administrativa domäner kallade Autonoma System. 6.1.1 Autonoma System (AS) Internet är inte utpräglat hierarkiskt uppbyggt. Det finns ingen central punkt i Internet att attackera. Istället bygger Internet på AS. Dessa är logiska celler i Internet, definierade [2] som ett set av routrar som delar 12

Kapitel 6 Teori en enda routing policy en enda teknisk administration ett enda Interior Gateway Protocol (IGP), inte strikt nödvändigt för definitionen. Gränsroutrar fungerar som en portal (eng. gateway) mellan olika AS. För routing mellan AS (inter-as) används ett External Gateway Protocol (EGP), vanligtvis BGP4 (kallas därför ofta BGP-router) och för routing inom AS (intra-as) routing används ett Interior Gateway Protocol (IGP) som exempelvis Intermediate System to Intermediate System (IS-IS) eller Open Shortest Path First (OSPF). Dessa gränsroutrar är antingen direkt sammankopplade eller kopplade genom en administrativt oberoende kopplingspunkt (se Figur 2), även kallad Internet Exchange 1 (IX). Ofta utgör gränsroutern därför en av ett fåtal länkar (eller till och med den enda länken) mellan ett AS och omvärlden. Router Router AS 2 Switch Router AS 1 Switch AS 3 Router Router Router Figur 2: Internet Exchange (IX) 1 även Internet Exchange Point (IXP) eller Network Access Point (NAP), kärt barn har många namn 13

Om en BGP-router attackeras så kan den logiska strukturen (nättopologin) i Internet delvis förstöras, delar av Internettrafiken kan styras om eller helt enkelt försvinna. 6.1.2 Border Gateway Protocol v4 (BGP4) För routing mellan AS är BGP4 de facto standard och gränsroutrar kallas därför ofta BGP-routrar. Protokollet är skapat för distribution av rutter mellan AS men kommer egentligen i två varianter, external BGP (ebgp) för routing mellan AS samt internal BGP (ibgp) för att sprida prefix mellan BGP-routrar inom ett AS. Under det att BGP initierar en session utbyts respektive routers routingtabell (ca 160 000 rutter för en komplett tabell), efter initieringen skickas uppdateringar för att dynamiskt reflektera de ändringar som sker. BGP saknar mycket i säkerhetsväg. Det finns exempelvis ingen möjlighet att verifiera att ett prefix verkligen är allokerat till det AS som står som avsändare. Det finns inte heller någon möjlighet att verifiera att en uppdatering verkligen kommer från det AS som sändaren hävdar. Den enda direkta säkerhet som finns inbyggd i BGP är en MD5 checksumma (se avsnitt 6.1.5). Flera tillägg för säkerhet har föreslagits, allt ifrån att överge det kryptografiskt svagare MD5 för SHA-1 eller att gå över till IP-sec (se avsnitt 6.4.1), till att realisera helt nya säkerhetsstrukturer som exempelvis Secure origin BGP (SoBGP) eller Secure BGP (SBGP) (se avsnitt 6.4.3 respektive 6.4.2). 6.1.3 Transmission Control Protocol (TCP) BGP4 använder alltid TCP som transportprotokoll. TCP är ett förbindelseorienterat (eng. connection oriented), vilket betyder att applikationen som använder TCP inte behöver göra mer än att bifoga IP-nummer samt portnummer med det data som skall skickas. Resten sköter TCP som garanterar att allt kommer fram till önskad destination alternativt att applikationen får reda på att något gått fel. Detta gör att BGP slipper ansvaret för att säkerställa att uppdateringar etc. verkligen kommer fram, men i gengälld får BGP dras med eventuella brister i TCP. 14

Kapitel 6 Teori TCP har kritiserats för brister och vissa av dessa kommer att behandlas längre fram, se avsnitt 7.3. 6.1.4 Interior Gateway Protocol (IGP) Egentligen är IGP ett samlingsnamn för ett flertal protokoll (ex. OSPF, IS-IS ) som används av routrar för att säkra framkomst inom ett AS. IGP användes bland annat av BGP för rekursiva uppslag (eng. recursive route lookup) som vanligtvis förutsätter att ett IGP används och fungerar. 6.1.5 Message Digest 5 (MD5) Den enda mekanism för verifikation som finns inbyggt i BGP är MD5 [3] och det är viktigt att förstå begränsningarna med detta. MD5 är en så kallad svag kryptering och har på ett kryptotekniskt plan ifrågasatts i flera omgångar [4], [5]. Dessutom är MD5 mycket känsligt för val av lösenordet, i rapporten BGP Vulnerabillity Testing [6] lyckas en brute force attack knäcka lösenordet domino på så lite som 8s medan det marginellt bättre lösenordet dom1no tog 3,5h. Bortsett från MD5:s kryptografiskt tveksamma grund, verifierar MD5 bara att TCP-segmentet kommer från den granne som är associerad med sessionen, däremot accepteras innehållet i paketet utan någon som helst verifikation av vare sig rutterna eller dess ursprung. Men det stora problemet ligger i att MD5 vanligen verifieras i mjukvara. Även om effekten varierar mellan olika routrar bland annat beroende på om routern kontrollerar TCP-sekvensnumret först och därefter verifierar MD5 eller tvärtom, samt om routern reagerar med att tyst släppa ett paket med felaktig checksumma alternativt svarar med en TCP-reset, öppnar MD5 möjligheten till en ny typ av attack, exempelvis MD5-syn-flood, där routern överbelastas av att kontrollera MD5 checksummor. 15

6.1.6 Generalized TTL Security Mechanism (GTSM) GTSM [7] eller som det tidigare kallades TTL-hack 2, bygger på att alla uppdateringar mellan två BGP-routrar skall skickas med ett TTL på 255, eftersom alla routrar minskar TTL med ett innan paket vidarebefordras, kan mottagaren verifiera att avsändaren inte är mer än ett hopp bort genom att kontrollera att TTL=255. Eftersom verifikationen inte involverar kryptografiska beräkningar innebär den minimal belastning för routern och under förutsättning att routrarna är direkt sammankopplade över en privat lina, indikerar GTSM att uppdateringen kommer från rätt granne. Det finns dock några hakar, om multihop används måste routern konfigureras att acceptera en rymd av TTL snarare än ett specifikt värde vilket minskar säkerheten. Vidare kan trafik tunnlas förbi flera routrar utan att TTL sänks. Dessutom är alla routrar som är inkopplade över en IX ett hopp ifrån varandra. 6.1.7 Internet Control Message Protocol (ICMP) Eftersom IP inte garanterar leverans av paket uppstår ett behov av att kunna meddela en klient om eventuella problem eller andra överraskningar. ICMP konstruerades för just det ändamålet. Logiskt sett hamnar ICMP strax över IP i protokollstacken eftersom dess paket packas i IP-datagram, men egentligen tillhör ICMP IP-lagret. Administratörer med behov av att felsöka inom eller utanför sina AS använder gärna program som Traceroute eller Ping (även Ping-recordroute). Samtliga dessa program använder någon form av Echo och de flesta realiseringar nyttjar just ICMP. ICMP-paketens funktion specificeras av dess typ och kod, där koden utgör en noggrannare specifikation till typen. Samtliga innebär en överbelastningspotential och flera typers användningsvärde är som bäst marginell. 2 Time To Live (TTL) 16

Kapitel 6 Teori Här följer en kort beskrivning av de viktigaste ICMP typerna: ICMP typ 11 time exceeded : För varje paket som en router skall vidarebefordra kontrollerar den först om TTL=0, om så är fallet släpps paketet och ett ICMP meddelande skickas till avsändaren ICMP typ 8 Echo request : En router som mottar ett ICMP typ 8 besvarar detta med ett ICMP typ 0 Echo reply ICMP typ 0 Echo reply : Se ICMP typ 8 Echo request ICMP typ 3 Destination unreachable : Som namnet antyder, används denna typ av ICMP för att meddela avsändaren att paketet inte kunnat levereras. En variant av ICMP typ 3 som skiljer sig något är Fragmentation needed but not set, denna används av routrar när paket som skall skickas vidare är för stora för nästkommande länk. Många program som används idag förutsätter denna tjänst. 6.1.8 Fler protokoll Det existerar en uppsjö av mer eller mindre användbara protokoll som routrar frekvent använder: Internet Group Management Protocol (IGMP) Cisco Discovery Protocol (CDP) Simple Network Time Protocol (SNTP) Simple Network Management Protocol (SNMP) User Datagram Protocol (UDP). Rapporten kommer bland annat att visa att det är en bra idé att stänga av så många av dessa som möjligt efter som att de kan användas som en grund till att genomföra en överbelastningsattack. 17

6.2 Överbelastningsattacker - generellt I kommande sektioner beskrivs några exempel på kända överbelastningsattacker. 6.2.1 TCP-syn flood Varje TCP-session som sätts upp, vare sig den syftar till peering, administration eller någon form av intrång/dos-attack, måste initieras med ett TCP-syn segment. Syn syftar till att ett TCP-segment har en så kallad syn-flaggan satt och används i det första av tre segment i den TCP-handskakning som ingår i att upprätta en TCPsession [24][25][26][27][9]. När routern (exempelvis) mottagit detta segment, kommer den att allokeras resurser, framförallt minne (TCP-buffer och stateinformation). Därefter svarar routern med ett TCP-syn/ack segment och inväntar sedan ett svar. Attacken utnyttjar att det tar tid innan den halvöppna sessionen stängs och att routern har begränsat med resurser och därmed endast kan ha ett visst antal sessioner öppna samtidigt. 6.2.2 Utträngning av TCP-trafik I de fall då man inte är intresserad av att garantera att alla paket kommer fram, kan UDP användas istället för TCP. I motsats till TCP har UDP ingen funktion för att anpassa sändhastigheten i förhållande till den tillgängliga bandbredden (eng. TCP congestion control). Resultatet kan bli (och frekvent blir) att en större mängd UDP trafik kan svälta ut TCP trafik. Detta kan bland annat leda till att BGP (som ju använder TCP) inte kan upprätthålla eller skapa peering-sessioner. 6.2.3 TCP-reset I normala fall avslutas en TCP-session på ett korrekt sätt, men TCP-reset segment existerar för att kunna stänga en TCP-session omedelbart [8]. Detta kan utnyttjas exempelvis för att avbryta en BGP-session. För att utnyttja detta krävs bland annat att förövaren känner till (eller kan gissa) båda parternas IP-nummer, portnummer samt det aktuella sekvensnumret. 18

Kapitel 6 Teori TCP-syn-reset är en variant av TCP-reset som utnyttjar att TCP inte förväntar sig att syn-flaggan skall vara satt efter det att initieringen av sessionen är avklarad. Om synflaggan ändå är satt, rekommenderar RFC 793 [9] att sessionen stängs (se avsnitt 7.3.4). 6.2.4 Reflektor attacker ICMP och User Datagram Protocol (UDP) kan användas för echo, ping, Character Generation Protocol (CharGen) etc. I normala fall resulterar dessa i att avsändaren får ett svar (eller flera i CharGen fallet), men om avsändaradressen är förfalskad kommer mottagaren att fungera som en reflektor och skicka svaret till den förfalskade adressen. Om denna förfalskade adress tillhör en router, kan routingprocessen dränkas i paket. Effekten blir ännu värre om orginalpaketet inte adresseras till en specifik adress utan till en IP directed broadcast adress (ex. Smurf eller Fraggle attack), då kommer alla värdar på destinationsnätet att svara. 6.2.5 SNMP Historiskt sett har SNMP använts för administration/konfigurering, för att hämta statistiska data och för att routern skall kunna meddela om specifika händelser. Hantering av statistiska data med SNMP kan göras på två sätt: begärt data (eng. poll) eller aktiverat data (eng. trap). I den förstnämnda kopplar man upp mot routern och begär data medan den sistnämnda innebär att routern vid i förväg specificerade händelser meddelar en utvald klient. I den första versionen, v1, fanns ingen form av kryptering och autenticieringen var i det närmaste obefintlig. I senare versioner kan både MD5 och DES användas. 6.2.6 Multicast Protocol Independent Multicast (PIM) stödjer multicast förbindelser och erbjuder två olika lägen: sparse mode (SM) och dense mode (DM). PIM-SM används då sannolikheten att en nod ingår i aktuell multicastgrupp är liten och PIM-DM när sannolikheten är stor. 19

Som tidigare nämnts har multicast varit en källa till överbelastning av routrar bland annat genom att en SQL-slammer mask skannade av IP-nummer utan att ta hänsyn till om IP numren tillhörde unicast- eller multicastrymden. Multicast använder dessutom UDP som transportprotokoll och all UDP-trafik kan potentiellt tränga ut övrig trafik (se avsnitt 6.2.2 ). 6.2.7 IGP:s inverkan på BGP och routerprocessorn För att ibgp ska fungera måste en TCP-session kunna initieras inom det aktuella AS:et. I många fall betyder detta att framkomligheten inom ett AS måste säkerställas med ett IGP. Relationen mellan IGP och BGP är intrikat och försök att beskriva relationen ligger utanför detta examensarbete, men en sak måste ändå understrykas: I de flesta fall kommer BGP inte att fungera tillfredsställande med mindre än att det finns ett fungerande IGP. Därmed kommer en attack mot IGP även att påverka BGP [2]. 6.3 Routerarkitektur Användningsområdet för routrar är mycket stort och begränsas på intet sätt av routing. Inom ramen för den här rapporten är det dock i första hand gränsroutrar som är av intresse. Dessa är placerade som portaler mellan olika AS och används primärt för vidarebefordran/dirigering av IP-paket spridning av nät/prefix filtrering aggregering av nät/prefix. Det existerar så många olika routermärken/modeller respektive linjekort att det förefaller orimligt att behandla ens en majoritet av dessa i rapporten. Med detta i åtanke kommer istället en generell modell av en router att användas. 20

Kapitel 6 Teori RP RiB Crossbar CP VOQ CP VOQ ASIC FiB IPv6. IPsec el dyl ASIC FiB Linjekort 1 Linjekort 2 RP: Routing process CP: Co processor VOQ: Virtual Output Queing ASIC: Application Specific Integrated Circuit FiB: Forwarding information Base RiB: Routing information Base Crossbar: Switching matrix Figur 3: Schematisk bild av en generell router I Figur 3 syns modellen: längst ner i linjekortet syns ett interface för koppling till ett LAN. VOQ som här syns längst upp i linjekortet, är buffertminnessystem med en buffert per linjekort samt en för kopplingen till routerprocessorn. En crossbar, eller switchingmatrix, sköter dirigering av trafik mellan linjekorten. Dessutom finns det ett modulbaserat tilläggssystem som illustreras av rutan under crossbar, här kan exempelvis ges hårdvarustöd för IP-sec eller IPv6. Den routerdesign som antagits här i rapporten är förenklad. Verkliga routrar är mycket mer sofistikerade både design- och hårdvarumässigt. Men för diskussionens skull spelar det mindre roll. Rapporten skall behandla överbelastningsattacker och det faller sig därför naturligt att se på routerns arbete från en synvinkel som väl beskriver dess belastning i förhållande till den trafik den hanterar. I rapporten kommer därför följande definitioner att användas: 21

6.3.1 Fastpath Trafik som skall slussas vidare och vars hantering stöds hårdvarumässigt i linjekortet (exempelvis normal vidaresänd trafik). Trafiken belastar linjekortet så till vida att Application-Specific Integrated Circuit (ASIC), Forwarding Information Base (FIB) samt Virtual Output Queing (VOQ) används men inte Co-processorn eller routerprocessorn. En ASIC är vanligen så pass effektiv att den arbetar i wire speed och i händelse av att paketen inkommer i för hög takt, släpps dessa utan att routern i sig påverkas nämnbart. Skillnaden mellan att attackera bandbredden i det fysiska lagret respektive att attackera fastpath i en router blir därmed i praktiken hårfin och inom ramen för den här rapporten kommer dessa därför att likställa. 6.3.2 Slowpath Det är omöjligt att generellt specificera vilken trafik som hör hemma i slowpath, det är för beroende av routerdesignen. Men i princip handlar det om att slowpath involverar Co-processorn för att ta hand om den trafik som ASIC inte är konstruerad för. Detta kan involvera exempelvis vissa typer av ICMP, IPv6, IP-sec eller IPoption. Co-processorn är markant långsammare än ASIC och ökar därför beroendet av buffertminnen. Även om dessa visserligen blir snabbare hela tiden, ökar bandbredden fortfarande i en snabbare takt [10]. Detta gör slowpath till en lämplig kandidat för att initiera en överbelastningsattack och denna kommer därför att behandlas utförligare. 6.3.3 Routerprocessor Hit hör framförallt trafik som terminerar i routern, men routerprocessorn kan även hantera vissa typer av ICMP (exempelvis paket vars TTL har gått ut). Än en gång är detta starkt beroende av märke och model. Routerprocessorn lider av samma typ av problem som slowpath, dessutom arbetar den mot flera linjekort simultant och det ökar behovet av buffertminnen. En attack kan därför riktas mot flera linjekort samtidigt. En dylik attack resulterar i en 22

Kapitel 6 Teori parallell belastning av routerprocessorn samtidigt som det avsevärt försvårar upptäckt av attacken framför allt i samband med förfalskning av IP-nummer. Routerprocessorn är följaktligen ett än mer lämpligt mål för en överbelastningsattack. 6.3.4 Jämförelse Den ursprungliga och kanske mest intuitiva idén var att arbeta enligt följande perspektiv: Fastpath, slowpath och routerprocessorn. Men det har visat sig att problematiken kan förenklas ytterligare. Att definiera vilken trafik som passerar genom slowpath är mycket svårt eftersom att det är så starkt beroende av routerarkitekturen, exempelvis kan en attack som inriktas mot slowpath på en router användas mot routerprocessorn på en annan. Med detta som grund är det rimligt att slowpath och routerprocessorn ur ett attackperspektiv behandlas som en och samma sak. Ur ett försvarsperspektiv blir situationen något annorlunda, man kan tänka sig en definition baserad på att trafik i slowpath vanligen inte har routern som destination medan trafik som hanteras av routerprocessorn vanligen har just routern som destination. Bägge modellerna innebär förenklingar och ingen är idealisk, men i kapitel 7 används ändå den första modellen, routerprocessorn och slowpath likställs. I kapitel 8 kommer i första hand den andra modellen att användas. 6.3.5 Alternativ Det finns en rad projekt och idéer för att lösa problemen med att Slowpath och routerprocessorn inte kan arbeta i wire speed. Field Programmable Gate Array (FPGA) är ett programmeringsbart alternativ till ASIC. Eftersom FPGA är programmeringsbar kan den vid behov uppgraderas för att hantera exempelvis nya protokoll, tyvärr är det omständigt att omprogrammera den och dessutom är den dyr. 23

Network Processor (NPU) är ett tämligen nytt alternativ. Dessa lockar med att de är snabba, att utvecklingstiden är kort och att de är programmerbara. I vilken mån NPU kan minska belastningen i slowpath är ett ämne för vidare diskussion. I dagsläget är det med rimliga medel svårt att komma ifrån att vare sig Slowpath eller routerprocessorn kan arbeta i en takt som ens närmar sig nätens bandbredd. För ytterligare information, se [10]. 6.4 Alternativa säkerhetslösningar 6.4.1 Internet Protocol Security (IP-sec) IP-sec [11] introducerar säkerhet i IP-lagret. Därmed kan säkerhet införas även om en applikation i grund är framställd utan någon tanke på säkerhet. IP-sec är uppdelat i två typer av protokoll: Authentication Header (AH) [12] tillhandahåller autenticiering och dataintegritet, men informationen i sig skickas okrypterat Encapsulation Security Payload (ESP) [13] tillhandahåller dessutom kryptering för informationen. 6.4.2 Secure BGP (SBGP) SBGP [14][15][16] bygger på tre delar: en parallell säkerhetsstruktur baserad på Public Key Infrastructure (PKI) och certifikat används för att attestera ägande av prefix, ägande av AS, AS identitet, routeridentitet samt routerns rättighet att representera ett specifikt AS ett nytt attribut tillkommer i BGP för att transportera de digitala signaturer som täcker respektive uppdatering IP-sec används för autenticiering mellan grannar. 24

Kapitel 6 Teori Med SBGP kan en router verifiera identiteten på ursprungsroutern till uppdateringen, att denna routern borgar för det AS som indikeras i uppdateringen, samt att detta AS borgar för prefixet som sprids. Dessutom kan varje router och AS som hanterar uppdateringen autenticieras på samma sätt. Under 2003 kom det ut en IETF Internet draft om SBGP och färdiga realiseringar finns redan, men ingen RFC har antagits än och ett skäl till detta torde vara de diskussioner och den forskning som pågår angående att minska processerings- och minneskostnaden som certifikathanteringen och autenticieringan innebär. Rapporten Evaluation of Efficient Security for BGP Route Announcements using Parallel Simulation [17] är ett bra exempel på denna forskning och i den undersöks framför allt skillnaden i konvergeringstid samt minnesåtgång mellan BGP och SBGP. För mer information om SBGP och den färdiga realiseringen, se http://www.ir.bbn.com/projects/ 6.4.3 Secure origin BGP (SoBGP) SoBGP är ett alternativ till SBGP och påminner om SBGP så till vida att kryptografisk autenticiering används för att attestera att ursprungs-as:et äger prefixet som sprids. Dessutom attesteras den aktuella grannen är auktoriserad att sprida prefixet. För mer information om SoBGP, se [18]. 25

26

Kapitel 7 Överbelastningsattacker mot routrar 7 Överbelastningsattacker mot routrar I detta kapitel kommer först en kategorisering av överbelastningsattacker mot gränsroutrar att göras. Denna kategorisering kommer därefter att stå till grund för fortsatta diskussioner avsedda att behandla svagheter i routrar samt hur dessa kan utnyttjas för att initiera en attack. ICMP UDP IGMP TCP Traditionell DDoS SMURF, Fraggle, SQL-slammer, TCP-syn-flood, TTL=0 etc. Överbelastning av Router Starta session Avbrott (TCP-reset) Instabila rutter Routedampening? Störning av BGP: Om BGP-sessionen störs, går den automatiskt över till IDLE. Kapning Injicera data i BGP Injicera data i IGP Felstyrning av trafik Överbelastningsattack mot IGP Störning av IGP Instabila IGP-rutter Traditionell DDoS BGP inriktad attack IGP inriktad attack Figur 4: Överbelastnigsattacker Figur 4 visar en kategorisering av olika attackperspektiv som dels bygger på traditionella DDoS-attacker inriktade på att överbelasta routerprocessorn och dels på attacker som inriktas mot BGP. Som synes i figuren finns cirkulära beroende mellan IGP, BGP och routerprocessorn där samtliga kan påverka varandra. 27

Nästkommande avsnitt (7.1) kommer att behandla förutsättningarna för att utföra en överbelastningsattack mot routerprocessen. BGP:s förmåga att störa routerprocessorn borde resultera i att BGP behandlas under just den sektionen, men eftersom en överbelastningsattack även kan syfta till att störa BGP och därmed framkomligheten, utan att markant störa routerprocessorn, har BGP istället fått en egen sektion (7.2). Slutligen använder BGP TCP som transportprotokoll och ärver därmed alla risker som är förknippade med TCP. Effekten av detta är så pass viktig att TCP förtjänar en egen sektion(7.3). 7.1 Routerprocessorns sårbarhet Routerprocessorns huvuduppgift är att sköta förbindelsen mot andra routrar samt att driva routingprocessen, det vill säga ta emot och skicka uppdateringar samt att sammanställa dessa och eventuellt applicera någon form av policy. Uppdateringar och annan information från olika linjekort kan komma simultant, vilket skapar ett beroende av buffertminnen. Dessutom är routerprocessorn normalt sett inte överdimensionerad och linjekortens kapacitet för att skicka information till routerprocessorn är normalt sett högre än routerprocessorns kapacitet för att behandla informationen, det spär ytterligare på beroendet av buffertminnen. I nästkommande avsnitt behandlas de fyra kategorier som påverkar routerprocessen: administration tjänster IGP service crashing. 7.1.1 Administration En router kan administreras antingen lokalt eller per distans. Det förstnämnda alternativet har liten bäring i rapporten. Administration per distans däremot intro- 28

Kapitel 7 Överbelastningsattacker mot routrar ducerar inte bara en ökad risk för intrångsförsök, varje uppkopplingsförsök upptar även resurser och det kan utnyttjas i en överbelastningsattack. De flesta protokoll som används för administration använder TCP som transportprotokoll och för varje uppkopplingsförsök måste routern därför avsätta resurser (se avsnitt 7.3.1), dessutom används ofta någon form av autenticiering som kräver kryptografiska beräkningar. Utan någon form av begränsning som exempelvis: varifrån en administratör får koppla upp eller hur mycket resurser som administration för ta i anspråk, kan routern lätt överbelastas. 7.1.1.1 Simple Network Management Protocol (SNMP) Protokollets enkelhet och flexibilitet gör det idealiskt för automatiserade uppgifter men introducerar samtidigt en överbelastningspotential. De tidigare versionernas avsaknad av acceptabel kryptering och framför allt autenticiering gör dessa olämpliga att använda, i senare versioner kan både MD5 och DES användas men med ökad belastning på routerprocessorn som resultat. SNMP genom polling utsätter routern för en överbelastningsrisk eftersom routern inte kontrollerar i vilken mån frågor inkommer. Eftersom det är svårt för en utomstående att veta under vilka villkor som routern kommer att utlösa en trap, innebär denna variant inte en lika stor risk, men att begränsa antalet typer av aktiveringar är ändå att rekommendera. Paradoxalt nog kan en överbelastningsattack aktivera SNMP meddelanden som därmed spär på effekten. 7.1.2 IGP De flesta AS är konfigurerade med ett IGP (se avsnitt 6.1.4) för att säkerställa den interna framkomligheten. Det är framför allt två saker som måste nämnas om IGP: För det första är det viktigt att förstå att den interna framkomligheten inte bara har med intern trafik eller trafik med avsändare eller mottagare inom AS:et att göra. Transit-trafik påverkas normalt sett också eftersom BGP använder sig av ett rekursivt uppslag inom AS:et. För det andra är IGP mycket resurskrävande för routerprocessorn. 29

IGP:s inverkan på routerprocessorn påminner alltså i stort om BGP:s. Men följande måste beaktas: IGP är inte bundna till att arbeta över TCP. Routing Information Protocol (RIP) exempelvis använder UDP och en attack kan alltså utnyttja RIP för att tränga ut BGP:s TCP-baserade trafik routern väljer rutter den lärt från BGP före de som den lärt genom IGP [2]. Det går alltså inte att vilseleda trafik i ett AS genom att sprida externa IPnummer genom IGP däremot kan IGP användas för att exempelvis stjäla trafik till interna prefix (eng. blackhole). I den mån BGP är beroende av IGP kan därför även transit trafik och intern trafik med extern destination påverkas routerprocessorn kan överbelastas av IGP. Ett exempel på detta är vid uppstart av ett helt AS, antalet uppdateringar kan bli så stort att routrar överbelastas, detta kan i sin tur leda till en ond cirkel av uppstartningar och uppdateringar. 7.1.3 Tjänster, ICMP Behovet av ICMP för att felsöka nät kan inte ignoreras, dessutom används och förutsätts protokollet av flera mjukvaror som används idag. Fördelarna måste dock vägas mot risken att de utnyttjas i en överbelastningsattack. Om verktyg som exempelvis Traceroute och Ping skall tillåtas måste routern kunna generera ICMP typ 0, 8 och 11, dessutom måste den acceptera typ 0 och 8. Eftersom dessa tjänster involverar antingen routerprocessorn eller slowpath kan de utnyttjas i en överbelastningsattack. Framför allt statiska rutter kan resultera i loopar, TTL används för att rensa bort paket som fastnat i dessa loopar och när så sker kan routern skicka ett ICMP typ 11 time exceeded för att meddela avsändaren om problemet. ICMP typ 11 time exceeded används även av traceroute genom att TTL avsiktligen sätts till distinkta värden. ICMP typ 11 time exceeded kan utnyttjas på flera sätt, om avsändaradressen på originalpaketet är förfalskat kan den riktiga ägaren till adressen komma att dränkas i ICMP typ 11 paket. Ett annat sätt är att skapa många paket där TTL 30

Kapitel 7 Överbelastningsattacker mot routrar kommer att bli 0 vid en och samma router, för var och ett av dessa måste routern skicka ett ICMP typ 11. Förutom att en större mängd ICMP typ 8 Echo request skulle kunna belasta en router, kan dessa användas i olika former av reflektorattacker där paket med avsändaradressen förfalskad till routerns adress, skickas till en större mängd klienter (IP-directed-broadcast används gärna för detta) med intentionen att dessa skall svara routern med ICMP typ 0 Echo reply. I ICMP attacks against TCP [20] presenterar Fernando Gont en mycket oroväckande teori om hur TCP-sessioner kan termineras av en tredje part utan att denna ens behöver förfalska avsändaradressen. Teorin som Gont kallar The TCP blind connection-reset vulnerabillity bygger huvudsakligen på två argument: för det första rekommenderar RFC 1122[19] att ICMP typ 3 kod 2, 3 och 4 (protocol unreachable, port unreachable samt fragmentation needed but not set) hanteras som hårda fel, dessa skall därmed resultera i att TCP-sessionen termineras genom att en TCP-reset skickas, för det andra hanteras ICMP-paketen ofta utan att jämföra innehållet med avsändaradressen på paketet. 10.0.0.1 ICMP Avs 10.0.0.1 Dst 10.0.0.2 Typ 3 kod 3 (port unreachable) 10.0.0.3 10.0.0.2 Figur 5: ICMP The TCP blind connection-reset vulnerability I Figur 5 syns hur ICMP skickas i ett IP-paket med 10.0.0.2 som destination och 10.0.0.1 som avsändare. I ICMP-paketet finns orginalheadern, det är denna som skapats av förövaren och som påstår att orginalpaketet gått från 10.0.0.2 till 31

10.0.0.3 port 179. Om ingen extra kontroll görs kommer 10.0.0.2 att skicka en TCP-reset till 10.0.0.3 och därmed stänga TCP/BGP-sessionen. Det kan diskuteras om dessa ICMP-paket skall kunna genereras av routern eftersom de utgör en överbelastningspotential, men den viktigare frågan ligger helt klart i att routern inte får hantera dessa som hårda fel, om routern gör så måste denna typ av paket filtreras bort för att en förövare inte ska kunna terminera en BGPsession. En annan variant av ICMP typ 3 som skiljer sig ytterligare är Fragmentation needed but not set, denna typ används av routrar när paket som skall skickas vidare är för stora för nästkommande länk. Många program som används idag förutsätter denna tjänst och i de fallen då begränsningar på paketstorleken absolut måste användas kan det vara nödvändigt att tillåta dessa medelanden. Det existerar fler tjänster än ICMP, men dessa är i regel inte nödvändiga och bör därför inte tillåtas, se avsnitt 8.5.1. 7.1.4 Service Crashing Mjukvara innehåller ofta buggar och är routrar är inget undantag. Service crashing går ut på att successivt pröva olika felaktigt formaterade meddelanden för att se om något av dessa utlöser en bugg orsakad av en svaghet, ett logiskt fel eller en annan svaghet. Detta kan i sin tur exempelvis leda till att routern måste startas om och därmed indirekt orsaka en ökad belastning. 7.2 BGP4 BGP:s egenskap att propagera prefix över hela Internet gör att lokala uppdateringar potentiellt kan påverka ett mycket stort antal routrar över hela världen, detta resulterar i att i princip alla BGP-routrar utsätts onödiga uppdateringar på grund av fluktueringar längre ut i Internet. Ett exempel på hur osäkert BGP kan vara i realiteten är det beryktade AS7007 [21] som tillhör en mindre ISP i Florida med Sprint som transit. Sprint exporterade en full BGP-tabell till AS7007 som i sin tur injicerade dessa rutter till sitt IGP, konverterade dem till klassfulla nät, 32

Kapitel 7 Överbelastningsattacker mot routrar injicerade tillbaka dem i BGP och slutligen exporterade dem tillbaka till Sprint som sina egna. Sprint fick därmed en nästan dubbelt så stor BGP-tabell och exporterade denna vidare med resultatet att flera routrar inte klarade av belastningen. Här fanns alltså inte ens ett ont uppsåt, istället uppstod problemet på grund av något så oskyldigt som felaktigt konfigurerade routrar. En överlagd attack skulle exempelvis kunna ha i syfte är att överbelasta routrar i närheten eller som del i en större attack, öka belastningen på routrar längre bort. 7.2.1 Uppdateringar och dess inverkan Falsifiering av uppdateringar kan resultera i att trafik inte kommer fram till önskad destination eller ännu värre att trafiken kommer fram till fel destination. Utöver dessa potentiella omdirigeringar och väsentligt mer i linje rapporten, kommer varje rutt som läggs till eller tas bort att belasta routingprocessen och därmed routerprocessorn. Beroende på administrativ policy kan uppdateringarna också komma att spridas vidare och påverka andra routrar inom eller till och med utanför AS:et. Med tanke på att en full BGP tabell idag innehåller ca 160 000 rutter kan även fluktueringar av en mindre portion av dessa innebära en stor belastning eller till och med överbelastning för routerprocessorn. Detta kan i sin tur leda till att ett linjekort, eller till och med routern, startas om och därmed måste samtliga BGPsessioner kopplade till dessa ominitieras (se nästkommande avsnitt). 7.2.2 BGP-sessionen BGP är ett relativt stabilt protokoll, standardrutinen vid problem är att stänga den problematiska sessionen och det gör BGP förutsägbart. Problemet ligger i att varje gång en session stängs återgår BGP till idle [3], därefter måste en ny BGP-session inledas. Detta innebär att framkomligheten temporärt störs. Exakt hur lång tid detta tar kan variera inte minst med tanke på att RFC 1771 (BGP4) [3] rekommenderar att en exponentiell timeout-funktion används då en BGP session måste återuppsättas efter att ett fel uppstått. Men det innebär även ett mer intrikat problem som följer av att routingtabellerna måste utväxlas på nytt, se avsnitt 6.1.2. 33

Eftersom BGP till sin natur sprider rutter globalt, kan lokala fluktueringar också spridas vidare och påverka routingprocessen i routrar över hela Internet. Om detta fortgår kommer administratörer att filtrera bort det problematiska AS:et till dess att fluktueringarna upphör, med resultatet att förbindelserna för det aktuella AS:et förblir nere ett tag även efter det att fluktueringarna upphört. En avbruten BGP-session resulterar alltså i tre effekter: routerprocessorn belastas fluktueringar skapas som sprids över Internet, dessa kan även utlösa dämpningsfunktioner trafik omdirigeras temporärt alternativt framkomligheten minskas. 7.2.3 Omstart av router Situationen vid en omstart påminner mycket om den när en session gått ner, fast med större effekt eftersom routern nu måste ominitiera alla sina tidigare BGP- och IGP-sessioner. Hur många dessa sessioner är beror på AS:s storlek och design. Antalet ibgp sessioner kan utan vidare uppgå till ett hundratal, därefter rekommenderas att routereflektorer eller konfederationer används. Utöver detta måste IGP ominitieras och interna rutter utväxlas vilket också kräver resurser av routerprocessorn. R 20 AS 20 Fysisk/logisk förbindelse Logisk förbindelse R 20 AS 20 Fysisk/logisk förbindelse Logisk förbindelse R 20 AS 20 Fysisk/logisk förbindelse Logisk förbindelse R 10 AS 10 AS 30 R 10 AS 10 AS 30 R 10 AS 10 AS 30 R 11 R 12 R 30 R 11 R 12 R 30 R 11 R 12 R 30 R12 stängs ner och BGP-sessioner termineras R12 startar igen och utbyte av routingtabeller påbörjas Figur 6: Propagering av BGP-uppdateringar Uppdateringarna propagerar vidare 34