Felet i hjärtat av Internet

Dan Kaminsky, okaraktäristiskt, letade inte efter buggar tidigare i år när han råkade ut för ett fel i kärnan av Internet. Säkerhetsforskaren använde sin kunskap om internetinfrastruktur för att komma på ett bättre sätt att strömma videor till användare. Kaminskys expertis ligger inom Internets domännamnssystem (DNS), protokollet som ansvarar för att matcha webbadresser till webbsidor med de numeriska adresserna till servrarna som är värd för dem. Samma innehåll kan lagras av flera servrar med flera adresser, och Kaminsky tyckte att han hade ett bra knep för att dirigera användare till de servrar som bäst kan hantera deras förfrågningar vid varje given tidpunkt.





Ser problem: Säkerhetsforskaren Dan Kaminsky upptäckte först en grundläggande sårbarhet på Internet i vintras.

Normalt är DNS pålitlig men inte smidig. När en dator – säg, en server som hjälper till att dirigera trafik över Comcasts nätverk – begär den numeriska adressen som är kopplad till en given URL, lagrar den svaret under en tidsperiod som kallas time to live, vilket kan vara allt från sekunder till dagar. Detta hjälper till att minska antalet förfrågningar som servern gör. Kaminskys idé var att kringgå tiden att leva, så att servern kunde få ett nytt svar varje gång den ville veta adressen till en webbplats. Följaktligen skulle trafik på Comcasts nätverk skickas till den optimala adressen vid varje ögonblick, snarare än till den adress som redan hade lagrats. Kaminsky var säker på att strategin avsevärt kunde påskynda innehållsdistributionen.

Det var först senare, efter att ha pratat nonchalant om idén med en vän, som Kaminsky insåg att hans trick helt kunde bryta säkerheten för domännamnssystemet och därför för själva Internet. Tiden att leva, visar det sig, var kärnan i DNS-säkerhet; att kunna kringgå det möjliggjorde en mängd olika attacker. Kaminsky skrev en liten kod för att se till att situationen var så illa som han trodde att den var. När jag såg det fungera tappade magen, säger han. Jag tänkte: 'Vad fan ska jag göra åt det här? Det här påverkar allt.'



Kaminskys teknik kan användas för att dirigera webbsurfare till vilken webbsida en angripare väljer. Den mest uppenbara användningen är att skicka människor till nätfiskewebbplatser (webbplatser som är utformade för att lura människor att ange banklösenord och annan personlig information, så att en angripare kan stjäla deras identiteter) eller andra falska versioner av webbsidor. Men faran är ännu värre: protokoll som de som används för att leverera e-post eller för säker kommunikation över Internet förlitar sig i slutändan på DNS. En kreativ angripare kan använda Kaminskys teknik för att fånga upp känslig e-post, eller för att skapa förfalskade versioner av certifikaten som säkerställer säkra transaktioner mellan användare och bankwebbplatser. Varje dag hittar jag en annan domino, säger Kaminsky. En annan sak faller om DNS är dåligt. … Jag menar, bokstavligen, du ser dig omkring och ser allt som använder ett nätverk – allt som använder ett nätverk – och det använder förmodligen DNS.

Multimedia

  • Se en översikt över en cache-förgiftningsattack.

Kaminsky ringde Paul Vixie, ordförande för Internet Systems Consortium, ett ideellt företag som stöder flera aspekter av Internetinfrastruktur, inklusive den programvara som oftast används i domännamnssystemet. Vanligtvis, om någon vill rapportera ett problem, förväntar du dig att det kommer att ta ganska lång tid för dem att förklara det – kanske en whiteboard, kanske ett Word-dokument eller två, säger Vixie. I det här fallet tog det 20 sekunder för honom att förklara problemet och ytterligare 20 sekunder för honom att svara på mina invändningar. Efter det sa jag, 'Dan, jag pratar med dig över en osäker mobiltelefon. Snälla, säg aldrig till någon igen vad du nyss sa till mig över en osäker mobiltelefon.”

Det kanske mest skrämmande var att eftersom sårbarheten inte fanns i någon speciell hårdvara eller mjukvara utan i själva DNS-protokollets utformning, var det inte klart hur man fixar det. I hemlighet samlade Kaminsky och Vixie några av de främsta DNS-experterna i världen: personer från den amerikanska regeringen och högnivåingenjörer från de stora tillverkarna av DNS-program- och hårdvaruföretag som inkluderar Cisco och Microsoft. De arrangerade ett möte i mars på Microsofts campus i Redmond, WA. Arrangemangen var så hemliga och förhastade, säger Kaminsky, att det fanns folk på jetplan till Microsoft som inte ens visste vad felet var.



Väl i Redmond försökte gruppen fastställa omfattningen av felet och reda ut en möjlig åtgärd. De bestämde sig för en stoppåtgärd som åtgärdade de flesta problem, skulle vara relativt lätt att distribuera och som skulle maskera felets exakta natur. Eftersom angripare vanligtvis identifierar säkerhetshål genom omvända korrigeringar avsedda att fixa dem, bestämde gruppen att alla dess medlemmar var tvungna att släppa patchen samtidigt (släppdatumet skulle visa sig vara den 8 juli). Kaminsky bad också säkerhetsforskare att inte offentligt spekulera i detaljerna kring felet under 30 dagar efter att patchen släppts, i ett försök att ge företag tillräckligt med tid att säkra sina servrar.

Den 6 augusti, vid Black Hat-konferensen, den årliga sammankomsten av världens experter på internetsäkerhet, skulle Kaminsky offentligt avslöja vad felet var och hur det kunde utnyttjas.

Ber om problem
Kaminsky har inte riktigt upptäckt en ny attack. Istället har han hittat ett genialiskt sätt att blåsa liv i en väldigt gammal. Faktum är att det grundläggande felet som hans attack riktade mot föregår Internet självt.



Grunden till DNS lades 1983 av Paul Mockapetris, då vid University of Southern California, under ARPAnets dagar, det amerikanska försvarsdepartementets forskningsprojekt som kopplade samman datorer vid ett litet antal universitet och forskningsinstitutioner och i slutändan ledde till Internet . Systemet är utformat för att fungera som ett telefonbolags 411-tjänst: givet ett namn, letar det upp numren som kommer att leda till bäraren av det namnet. DNS blev nödvändigt eftersom ARPAnet växte bortom en individs förmåga att hålla reda på de numeriska adresserna i nätverket. Mockapetris, som nu är ordförande och chefsforskare för Nominum, en leverantör av infrastrukturprogramvara baserad i Redwood, CA, designade DNS som en hierarki. När någon skriver in URL:en för en webbsida i en webbläsare eller klickar på en hyperlänk, går en förfrågan till en namnserver som underhålls av användarens Internetleverantör (ISP). ISP:s server lagrar de numeriska adresserna till URL:er som den hanterar ofta – åtminstone tills deras tid att leva går ut. Men om den inte kan hitta en adress, frågar den en av de 13 DNS-rotservrarna, som riktar begäran till en namnserver som är ansvarig för en av toppdomänerna, som .com eller .edu. Den servern vidarebefordrar begäran till en server som är specifik för ett enskilt domännamn, till exempel google.com eller mit.edu. Vidarebefordran fortsätter genom servrar med allt mer specifikt ansvar – mail.google.com eller libraries.mit.edu – tills begäran når en server som antingen kan ge den numeriska adressen som begärts eller svara att det inte finns någon sådan adress. När Internet mognade blev det tydligt att DNS inte var tillräckligt säkert. Processen att skicka en förfrågan från en server till nästa ger angripare många möjligheter att ingripa med falska svar, och systemet hade inga garantier för att säkerställa att namnservern som svarade på en förfrågan var pålitlig. Redan 1989, säger Mockapetris, fanns det fall av cacheförgiftning, där en namnserver lurades att lagra falsk information om den numeriska adressen som är kopplad till en webbplats.
På 1990-talet var giftmannens jobb relativt lätt. Namnservrarna på lägre nivå underhålls vanligtvis av privata enheter: Amazon kontrollerar till exempel adresserna som tillhandahålls av amazon.com-namnservern. Om en namnserver på låg nivå inte kan hitta en begärd adress kommer den antingen att hänvisa den som begär det till en annan namnserver eller berätta för den som begär att sidan inte finns. Men på 90-talet kunde lågnivåservern också förse begäranden med toppnivåserverns adress. För att förgifta en cache var en angripare helt enkelt tvungen att förfalska den informationen. Om en angripare lurade till exempel en ISP:s namnserver att lagra fel adress för .com-servern, kan den kapa det mesta av trafiken som färdas över ISP:s nätverk. Mockapetris säger att flera funktioner senare har lagts till i DNS för att skydda systemet. Begärande servrar slutade acceptera numeriska adresser på högre nivå från namnservrar på lägre nivå. Men angripare hittade en väg runt den begränsningen. Som tidigare skulle de hänvisa en begärande tillbaka till exempelvis .com-servern. Men nu var begäranden tvungen att leta upp .com-serverns adress på egen hand. Den skulle begära adressen, och angriparen skulle tävla om att svara med ett falskt svar innan det riktiga svaret kom. Ad hoc säkerhetsåtgärder lades till för att skydda mot denna strategi också. Nu bär varje begäran till en DNS-server ett slumpmässigt genererat transaktions-ID, ett av 65 000 möjliga nummer, som svaret också måste innehålla. En angripare som vill slå ett legitimt svar måste också gissa rätt transaktions-ID. Tyvärr kan en dator generera så många falska svar så snabbt att om den har tillräckligt med chanser är den skyldig att hitta rätt ID. Så tiden att leva, som ursprungligen var tänkt att hindra namnservrar från att överbelastas av för många förfrågningar, blev ännu en säkerhetsfunktion. Eftersom den begärande servern kommer att lagra ett svar under en viss tid, får angriparen bara några få chanser att försöka förfalska. För det mesta, när servern behöver en .com-adress, konsulterar den sin cache istället för att kontrollera med .com-servern. Kaminsky hittade ett sätt att kringgå dessa ad hoc-säkerhetsfunktioner – det viktigaste är tiden att leva. Det gjorde systemet lika sårbart som det var när cacheförgiftning först upptäcktes. Med Kaminskys teknik får en angripare ett nästan oändligt antal chanser att leverera en förfalskning. Säg att en angripare vill kapa all e-post som en webbplats för sociala nätverk som Facebook eller MySpace skickar till Gmail-konton. Han registrerar sig för ett konto hos det sociala nätverket, och när han blir ombedd att ange en e-postadress, tillhandahåller han en som pekar på en domän som han kontrollerar. Han börjar logga in på det sociala nätverket men säger sig ha glömt sitt lösenord. När systemet försöker skicka ett nytt lösenord gör det en DNS-sökning som leder till angriparens domän. Men angriparens server hävdar att den begärda adressen är ogiltig. Vid det här laget kunde angriparen hänvisa förfrågaren till google.coms namnservrar och tävla om att ge ett falskt svar. Men då skulle han bara få en chans att knäcka transaktions-ID:t. Så istället hänvisar han förfrågaren till de obefintliga domänerna 1.google.com, sedan 2.google.com, sedan 3.google.com och så vidare, och skickar en flod av falska svar för var och en. Varje gång kommer den begärande servern att konsultera Googles namnservrar snarare än dess cache, eftersom den inte kommer att ha lagrade adresser för någon av de falska webbadresserna. Attacken kringgår helt de gränser som satts av tiden att leva. En av angriparens förfalskningar kommer sannolikt att ta sig igenom. Då är det en enkel sak att rikta allt som den begärande servern avser för Google till angriparens egna servrar, eftersom angriparen verkar ha auktoritet för webbadresser som slutar på google.com. Kaminsky säger att han kunde genomföra testattacker på så lite som 10 sekunder.

En Cache-förgiftningsattack
Cacheförgiftning gör att en begärande server lagrar falsk information om den numeriska adressen som är associerad med en webbplats. En grundläggande version av attacken – utan några av de mer sofistikerade teknikerna Kaminsky använder – beskrivs nedan. 1. Till att börja med lockar angriparen offrets server att kontakta en domän som angriparen kontrollerar. Angriparen kan till exempel säga att han har glömt ett lösenord, vilket fick offret att svara via e-post.
2. Offret utför en DNS-sökning för att ta reda på vart e-postmeddelandet ska skickas. Men angriparens namnserver hänvisar offret till en annan server, som exempel.com. Eftersom angriparen vet att offret nu kommer att starta en DNS-sökning för den servern har han eller hon en möjlighet att försöka förgifta dess cache. 3. Angriparen försöker ge ett falskt svar innan den legitima servern kan leverera den riktiga. Om angriparen gissar rätt ID-nummer accepterar offret gissningssvaret, vilket förgiftar cachen.
I mörkret
Den 8 juli höll Kaminsky den utlovade presskonferensen och tillkännagav släppet av plåstret och bad andra forskare att inte spekulera i felet. Hårdvaru- och mjukvaruleverantörerna hade nöjt sig med en patch som tvingar en angripare att gissa ett längre transaktions-ID. Kaminsky säger att före plåstret var angriparen tvungen att göra tiotusentals försök för att framgångsrikt förgifta en cache. Efter lappen skulle den behöva tjäna miljarder. Nyheter om felet dök upp i New York Times, på BBC:s webbplats och i nästan alla tekniska publikationer. Systemadministratörer försökte få patchen att fungera i sina system innan de kunde attackeras. Men eftersom Kaminsky misslyckades med att ge detaljer om felet var vissa medlemmar av säkerhetsgemenskapen skeptiska. Thomas Ptacek, en forskare vid Matasano Security, skrev på Twitter: Säger det här först: tvivlar på att det verkligen finns något kött i detta DNS-säkerhetsmeddelande. Dino Dai Zovi, en säkerhetsforskare som är mest känd för att hitta sätt att leverera skadlig programvara till en helt patchad Macbook Pro, säger att jag definitivt var skeptisk till sårbarhetens natur, särskilt på grund av mängden hype och uppmärksamhet kontra den låga mängden detaljer . När jag ser något sådant tar jag direkt på mig min skeptikerhatt, för det ser mycket ut som någon med ett egenintresse snarare än att någon försöker fixa något. Dai Zovi och andra noterade att timingen var perfekt för att marknadsföra Kaminskys Black Hat-utseende, och de bröt på begäran om att avstå från spekulationer. Bristen på information var särskilt kontroversiell eftersom systemadministratörer ofta är ansvariga för att utvärdera patchar och besluta om de ska tillämpas, och väga risken med säkerhetsbristen mot störningen som patchen kommer att orsaka. Eftersom DNS är centralt för driften av alla internetberoende organisationer, är det inte lätt att ändra det. För att göra saken värre fungerade den här patchen inte korrekt med vissa typer av företagsbrandväggar. Många IT-proffs uttryckte frustration över bristen på detaljer och sa att de inte kunde utvärdera korrigeringen ordentligt när så mycket förblev dolt. Oroad över skepsisen kring hans påståenden, höll Kaminsky ett telefonkonferenssamtal med Ptacek och Dai Zovi, i hopp om att få dem att se hur farligt felet var. Båda kom ut från samtalet konverterade. Men även om Dai Zovi noterar att mycket har förändrats sedan den tid då hårdvaru- och mjukvarutillverkare hanterade brister genom att helt enkelt förneka att säkerhetsforskare hade identifierat verkliga problem, säger han också: Vi vet inte vad vi ska göra när sårbarheterna är stora. system som DNS. Forskare står inför ett dilemma, säger han: de måste förklara brister för att övertyga andra om deras svårighetsgrad, men en sårbarhet som den Kaminsky hittade är så allvarlig att avslöjande av dess detaljer kan äventyra allmänheten. Halvar Flake, en tysk säkerhetsforskare, var en observatör som trodde att tystnad var det mer skadliga alternativet. Offentliga spekulationer är precis vad som behövs, säger han, för att hjälpa människor att förstå vad som kan drabba dem. Flake läste några grundläggande material, inklusive det tyska Wikipedia-inlägget om DNS, och skrev ett blogginlägg om vad han trodde att Kaminsky kunde ha hittat. Han förklarade att hans gissning förmodligen var fel och bjöd in andra forskare att rätta honom. På något sätt, mitt i uppståndelsen som hans inlägg orsakade i säkerhetscommunityt, dök en detaljerad förklaring av felet upp på en sida som Ptaceks arbetsgivare, Matasano Security, var värd för. Förklaringen togs snabbt ner, men inte innan den hade spridit sig över Internet. Kaos uppstod. Kaminsky skrev på Twitter, DNS-bugg är offentlig. Du måste patcha, eller byta till [webbaserad] OpenDNS, JUST NU. Inom några dagar släppte Metasploit, ett datorsäkerhetsprojekt som designar provattacker för att hjälpa till med testning, två moduler som utnyttjar Kaminskys fel. Kort därefter sågs en av de första attackerna baserade på DNS-bristen i naturen. Det tog över några av AT&T:s servrar för att presentera en falsk Google-hemsida, laddad med angriparens egna annonser. Slut på kakor
Trettio minuter innan Kaminsky intog scenen på Black Hat för att äntligen avslöja detaljerna om felet, började folk att svämma över balsalen på Caesar's Palace i Las Vegas. Talaren som föregick Kaminsky skyndade sig att avsluta saker. Sätena tog slut och folk satt i kors på varje kvadratcentimeter matta. Kaminskys mormor, som satt på första raden, hade bakat 250 kakor till evenemanget. Det fanns inte i närheten av tillräckligt. Kaminsky gick upp till pallen. Det är mycket folk där ute, sa han. Heliga skit. Kaminsky är lång och hans gester är lite besvärliga. I början av augusti, sade han, hade mer än 120 miljoner bredbandskunder skyddats, eftersom Internetleverantörer tillämpade patchar. Sjuttio procent av Fortune 500-företagen hade patchat sina system, och ytterligare 15 procent arbetade med det. Men, tillade han, var 30 till 40 procent av namnservrarna på Internet fortfarande opatchade och sårbara för hans 10-sekunders cache-förgiftningsattack. På scenen bläddrade han mellan glad beskrivning av sin upptäckts mörka möjligheter och försök att uppbåda det allvar som passar deras gravitation. Han pratade i 75 minuter och blev synligt lättare när han belade sig av sju månaders hemligheter. När han avslutade sitt föredrag svepte folkmassan intill honom, och han blev avvisad av reporter efter reporter. Till och med de säkerhetsexperter som var överens om att sårbarheten var allvarlig blev förvånade över Kaminskys ivriga omfamning av mediauppmärksamhet och hans obevekliga ansträngning att publicera bristen. Senare samma dag fick Kaminsky Pwnie-priset för den mest överhypade buggen från en grupp säkerhetsforskare. (Ordet pwn, som rimmar på eget, är internetslang för dominera helt. Kaminskys pris har undertiteln The Pwnie for pwning the media.) Dai Zovi, som delade ut priset, försökte lista de publikationer som hade burit Kaminskys historia. Han gav upp och sa: Vad var du inte med? GQ! ropade någon från publiken. Kaminsky intog scenen och spottade ut två meningar: Vissa människor hittar buggar; vissa människor får buggar fixade. Jag är glad över att vara i den andra kategorin. Han svängde utmärkelsen – en gyllene leksaksponny – i sitt ljusrosa hår och gick nerför den långa gången i balsalen och ut genom dörren. Vem är ansvarig?
Beroende på ditt perspektiv var sättet som Kaminsky hanterade DNS-bristen och dess patch antingen på en farlig höjdare som i onödan uppmärksammade allmänhetens sårbarhet på Internet eller – som Kaminsky ser det – ett mediahack som var nödvändigt för att utbilda en strålkastare på felets faror. Hur som helst, berättelsen pekar på den oroande frånvaron av någon process för att identifiera och åtgärda kritiska brister på Internet. Eftersom Internet är så decentraliserat finns det helt enkelt inte en specifik person eller organisation som ansvarar för att lösa dess problem. Och även om Kaminskys brist är särskilt allvarlig, säger experter att det förmodligen inte är den enda i Internets infrastruktur. Många internetprotokoll var inte designade för de användningsområden de används för idag; många av dess säkerhetsfunktioner togs på och adresserar inte underliggande sårbarheter. Långsiktigt, arkitektoniskt, måste vi sluta anta att nätverket är så vänligt som det är, säger Kaminsky. Vi är bara beroende av att flytta känslig information över Internet på ett osäkert sätt. Vi kan göra bättre. Faktum är att vid en annan säkerhetskonferens bara några dagar efter Kaminskys presentation på Black Hat, höll ett team av forskare ett föredrag som illustrerade allvarliga brister i Internets routing-gränsgateway-protokoll. Liksom Kaminsky hade forskarna funnit problem med den grundläggande designen av ett internetprotokoll. Liksom DNS-felet kan problemet tillåta en angripare att få bred åtkomst till känslig trafik som skickas över Internet.
Många experter säger att det som hände med DNS-felet representerar det bästa scenariot. Mischel Kwon, chef för US-CERT, en avdelning av Department of Homeland Security som hjälpte till att få ut ordet om DNS-felet, hoppas att nätverket av organisationer som arbetade tillsammans i det här fallet kommer att göra detsamma om andra brister dyker upp. Även om det inte finns någon auktoritetshierarki i den privata sektorn, säger Kwon, finns det starka kopplingar mellan företag och organisationer med makten att distribuera patchar. Hon säger att hon är säker på att föråldrade protokoll kommer att uppdateras med tanke på de pengar och ansträngningar som läggs på att förbättra säkerheten på Internet. Men det förtroendet är inte grundat i en väl genomtänkt strategi. Tänk om Kaminsky inte hade haft omfattande kontakter inom säkerhetsgemenskapen eller, ännu värre, inte hade åtagit sig att åtgärda felet i första hand? Tänk om han hade varit en äkta svart hatt som ville utnyttja sårbarheten han hade upptäckt? Tänk om hans till synes skickliga manipulation av media hade slagit tillbaka, och detaljerna i bristen hade blivit kända innan plåstret var på plats? Vad mer är, även med tanke på de goda avsikterna hos forskare som Kaminsky, är det inte lätt att fixa grundläggande brister på Internet. Experter är överens om att DNS-problemet inte är något undantag. Flera förslag ligger på bordet för att lösa det på ett mer tillförlitligt sätt än en patch, mestadels genom att minska förtroendet som en begärande server ger en namnserver. Förslagen sträcker sig från relativt enkla korrigeringar, som att inkludera ännu mer slumpmässig information i förfrågningarna till namnservrar, till att flytta över hela systemet till en uppsättning protokoll som låter namnservrar signera sina svar kryptografiskt. Under tiden säger både Kaminsky och Vixie att angripare har börjat använda sig av DNS-bristen, och de förväntar sig att fler problem kommer. Kaminsky noterar att felet blir särskilt farligt när det utnyttjas tillsammans med andra sårbarheter. En sådan kombination, säger han, skulle tillåta en angripare att ta över de automatiska uppdateringarna som en mjukvaruleverantör skickar sina kunder och ersätta dem med skadlig programvara. Kaminsky säger att han har tillbringat de senaste månaderna i telefon med företag som skulle vara attraktiva mål för den typen av attacker, såsom certifikatmyndigheter, sociala nätverk och internetleverantörer, för att försöka övertyga dem om att lappa så snart som möjligt. Det läskiga, säger Dai Zovi, är hur bräckligt [Internet] är. ... Och vad ska vi göra åt det? Erica Naone är assisterande redaktör på Teknikgranskning.

Dölj