DNS cache forgiftning, internettet angreb fra 2008, er tilbage fra de døde

En nyfunden sidekanal i en meget brugt protokol gør det muligt for angribere at spoofe domæner.

, DNS cache forgiftning, internettet angreb fra 2008, er tilbage fra de døde, Zyberdata

I 2008 afslørede forsker Dan Kaminsky en af de mere alvorlige internet sikkerhedstrusler nogensinde: en svaghed i domænenavnet system, der gjorde det muligt for angribere at sende brugere en masse til bedrager websteder i stedet for de virkelige, der tilhører Google, Bank of America, eller nogen anden. Med koordinering i hele branchen installerede tusindvis af DNS-udbydere over hele verden en rettelse, der afværgede dette dommedagsscenarie.

Nu er Kaminskys DNS cache forgiftningsangreb tilbage. Forskere onsdag præsenterede en ny teknik, der igen kan forårsage DNS resolvers at vende tilbage skadeligt spoof IP-adresser i stedet for det websted, der retmæssigt svarer til et domænenavn.

“Dette er en temmelig stor avancement, der svarer til Kaminsky’s angreb for nogle resolvere, afhængigt af hvordan [de er] faktisk køre,” sagde Nick Sullivan, leder af forskning på Cloudflare, en content-delivery netværk, der driver 1.1.1.1 DNS-tjenesten. “Dette er blandt de mest effektive DNS cache forgiftning angreb, vi har set siden Kaminsky’s angreb. Det er noget, du bør tage alvorligt, hvis du kører en DNS-resolver.”

DNS-primer

Når folk sender e-mails, gennemse et websted, eller gøre næsten alt andet på internettet, deres enheder har brug for en måde at oversætte et domænenavn i den numeriske IP-adresse servere, der bruges til at finde andre servere. Det første sted, en enhed ser ud, er en DNS-resolver, som er en server eller gruppe af servere, der typisk tilhører den internetudbyder, det selskab eller den store organisation, som brugeren har forbindelse til.

Hvis en anden bruger af udbyderen eller organisationen for nylig har interageret med det samme domæne, vil resolveren allerede have den tilsvarende IP-adresse cachelagret og returnere resultatet. Hvis ikke, forespørger resolveren den dedikerede autoritative server for det pågældende domæne. Den autoritative server vil derefter returnere et svar, som resolveren vil give brugeren og midlertidigt gemme i sin cache for alle andre brugere, der kan have brug for det i den nærmeste fremtid.

Hele processen er ikke-godkendt, hvilket betyder, at den autoritative server bruger ingen adgangskoder eller andre legitimationsoplysninger til at bevise det er i virkeligheden, autoritativ. DNS-opslag forekommer også ved hjælp af UDP-pakker, som kun sendes i én retning. Resultatet er, at UDP pakker er normalt trivielle at spoof, hvilket betyder, at nogen kan gøre UDP trafik synes at komme fra et andet sted end hvor det virkelig stammer fra.

Forgiftning af DNS-cache: Et resumé

Når Internet arkitekter først udtænkt DNS, de erkendte det var muligt for nogen at udgive sig for en autoritativ server og bruge DNS til at returnere ondsindede resultater til resolvere. For at beskytte mod denne mulighed, arkitekterne designet opslag transaktion numre. Resolvers vedhæftede disse 16-bit numre til hver anmodning, der sendes til en autoritativ server. Resolveren accepterer kun et svar, hvis det indeholder det samme id.

Hvad Kaminsky indså var, at der kun var 65.536 mulige transaktions-id’er. En hacker kan udnytte denne begrænsning ved at oversvømme en DNS-resolver med en skadelig IP for et domæne med 2.google.com 1.google.com små variationer, f.eks. Til sidst, en hacker ville gengive det korrekte nummer, og den ondsindede IP ville få fodret til alle brugere, der har påberåbt sig resolver. Angrebet blev kaldt DNS cache forgiftning, fordi det plettet resolver’s butik af opslag.

DNS-økosystemet løste problemet ved eksponentielt at øge mængden af entropi, der kræves for at acceptere et svar. Mens opslag og svar før, rejste kun over port 53, randomiserede det nye system de anvendte opslagsanmodninger for portnummer. Hvis en DNS-resolver skal acceptere IP-adressen, skulle svaret også indeholde det samme portnummer. Kombineret med et transaktionsnummer blev entropiet målt i milliarder, hvilket gjorde det matematisk umuligt for angribere at lande på den rigtige kombination.

Cache forgiftning redux

Onsdag, forskere fra Tsinghua University og University of California, Riverside præsenteret en teknik, der endnu en gang gør cache forgiftning muligt. Metoden udnytter en sidekanal, der identificerer det portnummer, der bruges i en opslagsanmodning. Når angriberne kender nummeret, de igen har en stor chance for at kunne gætte transaktionen ID.

Sidekanalen i dette tilfælde er satsgrænsen for ICMP, forkortelsen for Internet Control Message Protocol. For at spare båndbredde og computerressourcer svarer serverne kun på et bestemt antal anmodninger fra andre servere. Efter dette, vil servere giver noget svar på alle. Indtil for nylig har Linux altid sat denne grænse til 1.000 per sekund.

For at udnytte denne sidekanal oversvømmer den nye spoofing-teknik en DNS-resolver med et stort antal svar, der er forfalsket, så de ser ud til at komme fra navneserveren på det domæne, de vil udgive sig for. Hvert svar sendes over en anden port.

Når en hacker sender et svar over den forkerte port, sender serveren et svar om, at porten ikke kan nås, hvilket dræner den globale hastighedsgrænse med én. Når hackeren sender en anmodning over den rigtige port, giver serveren slet ikke noget svar, hvilket ikke ændrer hastighedsgrænsen. Hvis hackeren sonderer 1.000 forskellige porte med falske svar på et sekund, og de alle lukkes, vil hele hastighedsgrænsen blive drænet helt. Hvis en ud af de 1.000 porte på den anden side er åben, vil grænsen blive drænet til 999.

Efterfølgende kan hackeren bruge sin egen ikke-spoofed IP-adresse til at måle den resterende sats grænse. Og hvis serveren reagerer med en ICMP-meddelelse, kender hackeren en af de tidligere undersøgte 1.000 porte skal være åben og kan indsnævres yderligere til det nøjagtige portnummer.

“Hvordan kan vi vide det?”

“Vi forsøger at indirekte udlede, at resolver har sendt en ICMP utilgængelig besked til den autoritative server,” UC Riverside professor Zhiyun Qian fortalte mig. “Hvordan kan vi vide det? Fordi resolveren kun kan sende et fast antal af sådanne ICMP-meddelelser på et sekund, hvilket betyder, at hackeren også kan forsøge at anmode om sådanne ICMP-pakker til sig selv.”

Forskernes papir, DNS Cache Forgiftning Attack Genindlæses: Revolutioner med Side Channels, giver en langt mere detaljeret og teknisk beskrivelse af angrebet. De kalder angrebet SAD DNS en forkortelse for Side channel AttackeD DNS.

Forskerne privat forudsat deres resultater til DNS-udbydere og softwareudviklere. Som svar introducerede Linux-kerneudviklere en ændring, der får satsgrænsen til tilfældigt at svinge mellem 500 og 2.000 pr. sekund. Professor Qian sagde rettelsen forhindrer den nye teknik i at arbejde. Cloudflare introducerede sin egen rettelse. I visse tilfælde vil dens DNS-tjeneste falde tilbage til TCP, hvilket er meget vanskeligere at spoof.

Forskningen blev præsenteret på 2020 ACM konference om computer-og kommunikationssikkerhed, som afholdes i år via video på grund af COVID-19 pandemi. Forskerne giver yderligere oplysninger her,og en UC Riverside pressemeddelelse er her.