Hvordan hackere forfalsker DNS-anmodninger med DNS Cache Poisoning
Domain Name Server (DNS) Spoofing er et cyberangreb, der narrer din computer til at tro, at den er på vej til det rigtige websted, men det er den ikke. Angribere bruger DNS-cacheforgiftning til at kapre internettrafik og stjæle brugeroplysninger eller personlige data.
DNS-cacheforgiftning og DNS-spoofing er synonyme og bruges ofte i flæng. Men for at være præcis kan man betragte dem som How og What i det samme cyberangreb. Hackeren ønsker at narre brugerne til at indtaste deres private data på usikre websteder. Hvordan vil de gøre dette? Ved at forgifte DNS-cachen. Det, de gør, er at forfalske eller erstatte DNS-dataene for et bestemt websted, så det omdirigerer til hackerens server og ikke til den legitime webserver. Derfra er hackeren klar til at udføre et phishing-angreb, stjæle data eller endda injicere malware i offerets system.
Få den gratis Pen Testing Active Directory Environments EBook
Varonis kan opdage DNS cache poisoning-angreb ved at overvåge DNS og registrere unormal adfærd i dine brugeres aktivitet.
- Hvad er DNS Spoofing og Cache Poisoning?
- Hvordan fungerer et DNS Cache Poisoning-angreb?
- Hvordan opdages DNS Cache Poisoning
- Hvordan beskytter man sig mod DNS Cache Poisoning
- DNS Spoofing FAQs
Hvad er DNS Spoofing og Cache Poisoning?
Hvor vi taler om angrebet, har vi brug for en genopfriskning af, hvad DNS og DNS caching er. DNS er det verdensomspændende katalog for IP-adresser og domænenavne. Tænk på det som en telefonbog for internettet. Den oversætter slutbrugervenlige URL’er som Varonis.com til IP-adresser som 192.168.1.169, der bruges af computere til netværk.
DNS caching er det system, der gemmer disse adresser i DNS-servere over hele verden. For at holde dine DNS-anmodninger hurtige har de oprindelige udviklere skabt et distribueret DNS-system. Hver server gemmer en liste over DNS-poster, som den kender – dette kaldes en cache. Hvis din nærmeste DNS-server ikke kender den IP-adresse, du har brug for, spørger den andre DNS-servere, indtil den finder IP-adressen til det websted, du forsøger at finde. Din DNS-server gemmer derefter den nye post i din cache for at opnå hurtigere svartider.
Eksempler på og virkninger af DNS Cache Poisoning
DNS blev slet ikke designet til at styre det moderne internet. Det er blevet bedre i årenes løb, men én fejlkonfigureret DNS-server, der trak DNS-poster fra en server i Kina – og pludselig kan ingen komme ind på Facebook. Denne hændelse viser, hvor afhængige vi er af DNS. En person fejlkonfigurerer en server, og pludselig mærker hundredvis af millioner af mennesker virkningerne.
WikiLeaks var også mål for angribere, der brugte et DNS-cacheforgiftningsangreb til at kapre trafikken til deres egen WikiLeakslignende version. Dette var et bevidst angreb, der var designet til at holde trafikken væk fra WikiLeaks med et vist held.
DNS cache poisoning-angreb er snigende og svære at fange for almindelige mennesker. DNS er i øjeblikket et system, der først og fremmest er baseret på tillid, og derfor er det let at udnytte. Mennesker stoler på DNS til en fejl og kontrollerer aldrig rigtig, om adressen i deres browser er den adresse, de forventede. Angribere udnytter denne selvtilfredshed og uopmærksomhed til at stjæle legitimationsoplysninger eller mere.
Hvordan virker et DNS Cache Poisoning-angreb?
DNS cache poisoning er, når din nærmeste DNS-server har en post, der sender dig til den forkerte adresse – som regel en adresse, som en angriber kontrollerer. Her er et par forskellige teknikker, som angribere bruger til at forgifte DNS-cachen.
Hijacking af det lokale netværk med ARP-spoofing
Det lokale netværk kan være et overraskende sårbart mål. Mange administratorer vil tro, at de har styr på det, men djævelen kan ligge i detaljerne. Et almindeligt problem er medarbejdere, der arbejder hjemmefra. Er deres Wi-Fi sikret? Hackere kan knække en svag Wi-Fi-adgangskode på blot et par timer. Et andet problem er åbne ethernetporte, der er udsat i gangarealer og offentlige lobbyer. Forestil dig bare, at en person, der venter i lobbyen, tilslutter ethernetkablet, der er beregnet til lobbyens skærm.
Lad os se på, hvordan en hacker potentielt kunne bruge adgangen til det lokale netværk i en af disse situationer.
Først ville hackeren oprette en phishing-side, som han kan bruge til at indsamle brugeroplysninger og andre værdifulde data. Derefter kunne de hoste denne side lokalt på netværket eller eksternt på en server med en enkelt linje python-kode.
Derfra kunne hackeren så begynde at overvåge netværket med værktøjer som Betterrcap. På dette tidspunkt er de ved at kortlægge og udforske målnetværket, men trafikken flyder stadig gennem routeren.
Dernæst vil hackeren bruge ARP-spoofing til at omstrukturere netværket internt. ARP, eller adresseopløsningsprotokol, bruges af enheder på et netværk til at knytte en enheds MAC-adresse til en IP-adresse på netværket. Bettercap sender ARP-meddelelser ud til alle enheder på netværket og fortæller dem, at hackernes computer er routeren. Dette giver hackeren mulighed for at opsnappe al netværkstrafik, der er bestemt for routeren.
Når al trafik er omdirigeret gennem hackernes computer, kan hackeren køre Bettercaps DNS-spoofing-modul. Dette vil kigge efter alle forespørgsler til et målrettet domæne og sende et falsk svar tilbage til offeret. Den falske anmodning indeholder IP-adressen på hackerens computer, hvilket omdirigerer enhver anmodning til målwebstedet til den phishing-side, som hackeren er vært for.
Nu kan hackeren se trafik, der er bestemt for andre enheder på netværket, og omdirigere anmodninger til ethvert websted. Hackeren kan se alt, hvad offeret foretager sig på denne side, herunder indsamling af loginoplysninger eller servering af skadelige downloads.
Hvis en hacker ikke kan få adgang til en lokal netværksforbindelse, vil han ty til et af følgende angreb.
Response Forgery Using the Birthday Attack
DNS autentificerer ikke svar på rekursive forespørgsler, så det første svar gemmes i cachen. Angribere bruger “fødselsdagsparadokset” til at forsøge at foregribe og sende et forfalsket svar til forespørgeren. Fødselsdagsangrebet anvender matematik og sandsynlighedsregning til at gætte sig frem til et gæt. I dette tilfælde forsøger angriberen at gætte transaktions-id’et for din DNS-anmodning, så det forfalskede svar med den forfalskede DNS-post når frem til dig før det rigtige svar.
Et fødselsdagsangreb er ikke en garanteret succes, men i sidste ende vil en angriber snige et forfalsket svar ind i en cache. Når angrebet lykkes, vil angriberen se trafik fra den forfalskede DNS-post, indtil TTL (time-to-live) udløber.
Kaminskys udnyttelse
Kaminskys udnyttelse er en variation af fødselsdagsangrebet, der blev præsenteret på BlackHat 2008.
Først sender angriberen en målresolver en DNS-forespørgsel til et ikke-eksisterende domæne, som f.eks. “fake.varonis.com”. Resolveren videresender derefter forespørgslen til den autoritative navneserver for at få IP-adressen for det falske underdomæne. På dette tidspunkt oversvømmer angriberen resolveren med et stort antal forfalskede svar i håb om, at en af disse forfalskninger passer til transaktions-id’et i den oprindelige forespørgsel.
Hvis det lykkes, har angriberen forgiftet DNS-cachen hos den målrettede resolver med en forfalsket IP-adresse for – i dette eksempel – varonis.com. Resolveren vil fortsætte med at fortælle alle, der spørger den, at IP-adressen til varonis.com er den forfalskede forespørgsel indtil TTL.
Hvordan man opdager DNS Cache Poisoning
Så hvordan opdager man et DNS cache poisoning-angreb? Overvåg dine DNS-servere for at finde indikatorer for mulige angreb. Mennesker har ikke computerkraft nok til at holde trit med mængden af DNS-anmodninger, som du skal overvåge. Anvend datasikkerhedsanalyser på din DNS-overvågning for at skelne normal DNS-adfærd fra angreb.
- En pludselig stigning i DNS-aktivitet fra en enkelt kilde om et enkelt domæne indikerer et potentielt fødselsdagsangreb.
- En stigning i DNS-aktivitet fra en enkelt kilde, der forespørger din DNS-server om flere domænenavne uden rekursion, indikerer et forsøg på at finde en post, der kan bruges til forgiftning.
Foruden overvågning af DNS skal du overvåge Active Directory-hændelser og Filsystemadfærd for unormal aktivitet. Og endnu bedre, brug analyser til at korrelere aktivitet mellem alle tre vektorer for at tilføje værdifuld kontekst til din cybersikkerhedsstrategi.
Sådan beskytter du dig mod DNS Cache Poisoning
Udover overvågning og analyser kan du foretage konfigurationsændringer på din DNS-server.
- Begræns rekursive forespørgsler for at beskytte mod potentielle målrettede forgiftningsangreb.
- Lager kun data, der er relateret til det anmodede domæne.
- Begræns svarene til kun at være om det anmodede domæne.
- Tving klienter til at bruge HTTPS.
Sørg for, at du bruger de nyeste versioner af BIND og DNS-software, så du har de nyeste sikkerhedsrettelser.
Hvis det er muligt, f.eks. med fjernansatte, skal du få alle fjernklienter til at oprette forbindelse via en VPN for at beskytte trafik og DNS-anmodninger mod lokal snooping. Sørg desuden for at tilskynde til en stærk Wi-Fi-adgangskode til hjemmet for at reducere risikoen yderligere.
Slutteligt skal du bruge krypterede DNS-anmodninger. DNSSEC (Domain Name System Security) er en DNS-protokol, der anvender signerede DNS-anmodninger for at forhindre forfalskning. Ved brug af DNSSEC skal DNS-resolveren verificere signaturen med den autoritative DNS-server, hvilket gør hele processen langsommere. Dette har ført til, at DNSSEC endnu ikke er blevet udbredt.
DNS over HTTPS (DoH) og DNS over TLS (DoT) er konkurrerende specifikationer for den næste version af DNS, der skal sikre DNS-anmodninger uden at gå på kompromis med hastigheden som DNSSEC. Det er dog ikke perfekte løsninger, da de kan forsinke eller helt forhindre lokal DNS-overvågning og -analyse. Det er også vigtigt at bemærke, at DoH og DoT kan omgå enhver forældrekontrol eller anden blokering på DNS-niveau, der udføres på netværket. Når det er sagt, har Cloudflare, Quad9 og Google alle offentlige DNS-servere, der kan understøtte DoT. Mange nyere klienter er i stand til at understøtte disse nyere standarder, men de er deaktiveret som standard. Du kan finde mere detaljerede oplysninger på Varonis’ DNS-sikkerhedsblog.
DNS-spoofing erstatter en legitim websteds IP-adresse med IP’en på en hackers computer. Det kan være særligt tricky, fordi det er svært at opdage, for fra slutbrugerens perspektiv har de sat en helt normalt udseende adresse ind i URL-linjen i deres browser. Det er dog ikke umuligt at stoppe. Risikoen kan mindskes ved hjælp af overvågningssoftware som Varonis og ved at anvende DNS over TLS-krypteringsstandarden.
DNS Spoofing FAQs
Spore over nogle almindelige spørgsmål om DNS-spoofing, der besvares nedenfor.
Q: Er DNS Cache Poisoning og DNS Spoofing det samme?
A: Ja, DNS spoofing og caching henviser til det samme cyberangreb.
Q: Hvordan virker DNS Cache Poisoning?
A: DNS cache poisoning virker ved at narre din DNS-server til at gemme en forfalsket DNS-post. Trafikken til den forfalskede DNS-post går til en server efter angriberens valg for at stjæle data.
Q: Hvilke sikkerhedsfunktioner kan bruges til at beskytte mod DNS Cache Poisoning?
A: Webstedsejere kan implementere overvågning og analyse af DNS-spoofing. Dette omfatter opgradering af deres DNS-servere til at bruge DNSSEC eller et andet krypteringssystem som f.eks. DNS over HTTPS eller DNS over TLS. Anvendelse af fuld end-to-end-kryptering som f.eks. HTTPS, hvor det er muligt, kan også forhindre spoofing. Cloud Access Security Brokers (CASB) er yderst nyttige til dette.
Endbrugere kan nulstille en potentielt spoofet DNS-cache ved at skylle deres browsers DNS-cache med jævne mellemrum eller efter tilslutning til et usikkert eller delt netværk. Brug af en VPN kan beskytte mod DNS-spoofing på et lokalt netværk. Ved at undgå mistænkelige links kan slutbrugerne undgå at udsætte deres browsers cache for en risiko.
Q: Hvordan kan man kontrollere, om der er tale om et angreb med DNS-cacheforgiftning?
A: Når først DNS-cachen er blevet forgiftet, kan det være svært at opdage. Det kan være en bedre taktik at overvåge dine data og beskytte dine systemer mod malware for at beskytte mod kompromittering forårsaget af en forgiftet DNS-cache.
Kig på Live Cyber Attack Lab for at se, hvordan vi bruger DNS-overvågning til at opdage reelle cybersikkerhedstrusler.
Q: Hvordan fungerer DNS-kommunikation?
A: Når slutbrugeren skriver en URL som “Varonis.com” i deres browser, sker følgende trin:
- Browseren kontrollerer først sin lokale cache for at se, om den allerede har gemt DNS-dataene.
- Hvis browseren ikke har dataene, vil den spørge den næste opstrøms DNS-server, som normalt vil være din router på deres lokale netværk.
- Hvis routeren ikke har den nødvendige DNS-post i sin cache, vil den bruge en opstrøms DNS-udbyder som Google, Cloudflare eller Quad9.
- Den opstrøms server vil derefter modtage DNS-anmodningen og kontrollere sin cache.
-
- 4.1 Hvis den ikke allerede har DNS-dataene i cache, vil den starte en rekursiv DNS-resolver ved først at spørge DNS-rodserverne og spørge “Hvem håndterer .com”
- 4.2 Derefter vil resolveren spørge topdomæneserveren om .com og spørger “Hvem håndterer Varonis.com?” TDL’en svarer derefter med en autoritativ navneserver for URL’en.
- 4.3 Opløseren sender derefter en forespørgsel til den autoritative navneserver og spørger “Hvad er IP-nummeret for Varonis.com?” Den autoritative navneserver svarer derefter med en IP-adresse for domænet.
5. DNS-dataene sendes derefter tilbage nedad i kæden til slutbrugerens enhed. Under hele vejen vil hver DNS-server cache svaret til fremtidig brug.
Q: Hvordan forgifter angribere DNS-cacher?
Der er ikke én enkelt måde, hvorpå en DNS-cache kan blive forgiftet, men nogle af de mest almindelige måder er: At få offeret til at klikke på ondsindede links, der bruger indlejret kode til at ændre DNS-cachen i deres browsere. Hackere kan også kapre den lokale DNS-server ved hjælp af et man-in-the-middle-spoofing-angreb. Angrebet bruger ARP-spoofing til at omdirigere DNS-anmodninger til en DNS-server, der kontrolleres af dem.
Q: Hvad er DNS Cache Poisoning?
A: DNS Cache Poisoning er at erstatte en DNS-databasepost med en ondsindet IP-adresse, der sender slutbrugeren til en server, der kontrolleres af hackeren.
Q: Hvordan foregår DNS Spoofing?
En hacker udfører et DNS-spoofing-angreb ved at få adgang til og ændre en DNS-cache eller omdirigere DNS-forespørgsler til deres egen DNS-server.
Q: Hvad menes der med DNS-spoofing?
DNS-spoofing betyder, at den URL, som en bruger indtaster i sin browser, f.eks. varonis.com faktisk ikke går til den legitime IP-adresse, der er knyttet til den pågældende URL, men i stedet omdirigeres til en ondsindet server, der kontrolleres af en hacker.
Q: Hvorfor er DNS-spoofing et problem?
A: DNS-spoofing er et problem, fordi DNS i sagens natur er tillidsfuldt og ofte ikke er sikret med nogen form for kryptering. Det betyder, at en hacker kan forfalske en DNS-post og bruge den til at stjæle data, inficere malware, phishing og forhindre opdateringer.
Q: Hvad er truslerne ved et DNS-spoofing-angreb?
Den største trussel ved DNS-spoofing er datatyveri ved hjælp af phishing-sider. Derudover er der en trussel om malware-infektion ved at hoste legitimt udseende downloads, der faktisk er inficeret med malware. Endelig kan opdateringer, hvis systemet er afhængig af internettet for opdateringer, forhindres ved at ændre deres DNS-poster, så de ikke opløses til et faktisk websted. Dette kan også anvendes på ethvert websted som en metode til censur.