Your SlideShare is downloading. ×
Netwerkbeveiliging dns cache poisoning
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Netwerkbeveiliging dns cache poisoning

1,090
views

Published on

Kaminsky

Kaminsky

Published in: Lifestyle, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,090
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 11 www.kdg.be DNS cache poisoning11 NetwerkbeveiligingNetwerkbeveiliging DNS cache Poisoning
  • 2. 22 www.kdg.be DNS cache poisoning22 Wat is DNS?Wat is DNS?  Systeem dat namen (waar mensen mee werken) mapt op internet adressen (waar Internet mee werkt)  Nummers veranderen zo vaak, dat we ze steeds opnieuw moeten opzoeken  Bijna ALLES op internet werkt eerst via DNS - Mail, http, proxies,...
  • 3. 33 www.kdg.be DNS cache poisoning33 DNS is gedistribueerdDNS is gedistribueerd  Op de vraag “waar is www.whitehats.com” zijn er 3 mogelijke antwoorden:  Hier is het IP adres dat bij de naam hoort  Maak dat je wegkomt, ik bedien je niet  Ik weet het niet, vraag eens aan die andere server - Dat is delegatie, je vraagt iets en je vraagt wordt doorgestuurd door heel het netwerk 1)Doorsturen naar 13 root servers: www.whitehats.com? Geen idee, vraag eens aan de .COM server op 1.2.3.4 2).COM server: www.whitehats.com, geen idee, vraag aan whitehats.com op 2.3.4.5 3)whitehats.com server: www.whitehats.com heeft IP adres 3.4.5.6
  • 4. 44 www.kdg.be DNS cache poisoning44 Twee soorten DNS serversTwee soorten DNS servers  Authoritative nameserver  Deze server voert vertalingen uit voor alle servers in zijn zone (bv. ns.kdg.be kent mail.kdg.be en www.kdg.be).  Caching nameserver  Deze server neemt enkel DNS- informatie over van autoritative servers. Een caching nameserver slaat al deze informatie op in een lokale, tijdelijke kopie (cache), om sneller te kunnen antwoorden op toekomstige DNS verzoeken.
  • 5. 55 www.kdg.be DNS cache poisoning55 Cache poisoningCache poisoning  Cache poisoning  De cache van de caching nameserver kan gemanipuleerd worden zodat deze de verkeerde informatie doorgeeft aan gebruikers
  • 6. 66 www.kdg.be DNS cache poisoning66 Kwetsbaarheid 1 DNS serverKwetsbaarheid 1 DNS server  Het moment dat een caching nameserver een vraag stelt aan een authoritative nameserver  Een attacker moet zien dat hij het antwoord op de vraag sneller geeft dan de echte authoritative server  Moeilijkheid - Gokken Transactie ID - Gokken Poortnummer
  • 7. 77 www.kdg.be DNS cache poisoning77 Kwetsbaarheid 2 DNS serverKwetsbaarheid 2 DNS server  Naast het antwoord op de vraag kan je bij DNS extra informatie meegeven bij je antwoord.  Iemand vraagt bijvoorbeeld www.kdg.be  In het antwoord zet je extra een nieuw ip voor mail.kdg.be - Een bug in 1997 was dat je van eender welk domein kon toevoegen. Je gaf dus buiten het antwoord op www.kdg.be OOK www.google.com door
  • 8. 88 www.kdg.be DNS cache poisoning88 En nu de slechterikken ...En nu de slechterikken ...  Een attacker wil maar al te graag dat zijn IP adres wordt doorgegeven in plaats van een echt IP adres  Hoe wordt er verhinderd dat iemand de DNS servers een verkeerd IP adres doorgeeft?  Transaction ID – Een “random” nummer tussen 0 en 65535. De echte nameserver kent de nummer, want deze zit in de vraag (de DNS request).  De attacker kent de nummer niet, tenzij hij de verbinding afluistert of de nummer gokt.
  • 9. 99 www.kdg.be DNS cache poisoning99 Oude bug: Sequentiële TX ID'sOude bug: Sequentiële TX ID's  In 1997 waren Transactie ID's (TX ID's) sequentieel, waardoor eenvoudig volgende nummers konden gekozen worden om valse reply's te maken  Ref BIND 1997, http://www.cert.org/advisories/CA-1997-22.html
  • 10. 1010 www.kdg.be DNS cache poisoning1010 Oude bug 1997 → kwetsbaarheid 2Oude bug 1997 → kwetsbaarheid 2  Misbruikt door Eugene Kashpureff  Echte DNS servers stellen vragen aan valse servers  Bij de reply worden extra valse naam-ip mappings doorgegeven. Deze naam -ip mappings mochten EENDER welk domein zijn  Eugene Kashpureff kon dus eender welk domein kapen en gratis nieuwe aanmaken  Misbruikte dit om adressen te stelen van zijn concurrent InterNIC. De klanten van InterNIC werden dan doorgestuurd naar servers van AlterNIC  Dit kostte hem 5 jaar cel en 250.000$
  • 11. 1111 www.kdg.be DNS cache poisoning1111 Oude bug: Birthday ParadoxOude bug: Birthday Paradox  Birthday Paradox  Bij een groep van 23 random gekozen mensen is er meer dan 50% kans dat er 2 mensen op dezelfde dag geboren zijn.  In cryptografie kan zo een hash functie dezelfde resultaten geven op verschillende data  Door een zwakheid in het genereren van de transactie ID's was de kans niet 0,0015% maar 100% bij het versturen van 700 pakketten.  Ref: BIND 2002, zie : http://www.rnp.br/cais/alertas/2002/cais-ALR-19112002a.html
  • 12. 1212 www.kdg.be DNS cache poisoning1212 De gokkans vergrotenDe gokkans vergroten  De gok op een juist antwoordpakket is een kans van 1 op 65535 (TX ID)  Om de kans te vergroten moeten we zorgen dat de caching nameserver VEEL vragen stellen aan authoritative nameserver.  Het antwoord van de authoritative server doet er niet toe. We gaan immers het antwoord zelf proberen te geven aan de caching nameserver met de gegokte TX ID.  De vragen moeten gesteld worden over de zone die we willen aanpassen. Dus om www.kdg.be aan te passen vraag je:  aaaaaaa.kdg.be,aaaaaab.kdg.be,aaaaaac.kdg.be, ...
  • 13. 1313 www.kdg.be DNS cache poisoning1313 Werking Kaminsky codeWerking Kaminsky code  De code vuurt dus vragen af op een caching nameserver en vuurt dus ook antwoorden naar de caching nameserver (met een gegokte TXID), zogezegd komende van de authoritative server  Je kan een aantal antwoorden sturen, zolang de echte authoritatieve server nog niet geantwoord heeft.  Sommige DNS servers antwoorden niet als ze een domein niet kennen.
  • 14. 1414 www.kdg.be DNS cache poisoning1414 Als alles goed gaatAls alles goed gaat  Het antwoord van een goede DNS server heeft een TTL  Time to Live - 1 minuut / meerdere minuten - 1 uur / meerdere uren - 1 dag / meerdere dagen  De mapping naam-ip wordt zo lang bijgehouden of geblokkeerd als de TTL
  • 15. 1515 www.kdg.be DNS cache poisoning1515 De kaminsky code zelfDe kaminsky code zelf  zie Milw0rm, metasploit, ...
  • 16. 1616 www.kdg.be DNS cache poisoning1616 ““Voorlopige” oplossingVoorlopige” oplossing  Source Port Randomization  Als de source port van de DNS request random is, dan heeft de attacker niet 1 op 65536 kansen maar 1 op 4 miljard (65536 x (65536 – 1024))  Bovendien moet de aanvaller binnen de dag een juiste gok doen. ( maximum TTL)  Dat is echter NIET ONMOGELIJK - Testen op een DNS server via een Gigabit LAN leveren binnen de 10 uur een positief resultaat - Opm: Er kunnen, voor dat de echte autoritatieve server antwoord kan geven 40000 tot 50000 valse replies gestuurd worden • Ref http://www.milw0rm.com/exploits/6236
  • 17. 1717 www.kdg.be DNS cache poisoning1717 Lange TTL waardeLange TTL waarde  De TTL geeft aan hoe lang een record niet mag veranderen  Google heeft bijvoorbeeld een TTL van 95 dagen  Microsoft heeft een TTL van 39 dagen  Nadeel  Stel dat er iets foutloopt met de webservers, en alle caching nameservers veranderen hun records niet, dan ligt google in het slechtste geval 95 dagen plat - In praktijk zal in het geval van google wel alles sneller geregeld worden door ISP's
  • 18. 1818 www.kdg.be DNS cache poisoning1818 Alternatieve oplossingenAlternatieve oplossingen  Een DNS server zelf kan gemakkelijk detecteren dat er een aanval bezig is.  Veel pakketten met foute TX ID  Veel pakketten met foute poort  … Maar wat dan?  Blokkeren of limiteren van een bepaalde IP is slecht  Een aanvaller kan zo gemakkelijk een DoS veroorzaken  Overschakelen op TCP in plaats van UDP op poort 53  DNS server Nominum schakelt bij een foute TXID over op TCP voor die query. Het voornaamste voordeel hierbij is dat de Nominum server dan zelf de snelheid bepaald (vertraagd) van de queries
  • 19. 1919 www.kdg.be DNS cache poisoning1919 DNSSECDNSSEC  Secure DNS  Digitale handtekening op elke DNS Resource Record  Verzekering van de data (integriteit)  Ook een verzekerde “denial of existence”.  Het “onbekend” verklaren van een naam verloopt ook met authenticatie.  DNSsec zorgt NIET voor confidentialiteit van de data  DNSsec verhindert geen DDOS
  • 20. 2020 www.kdg.be DNS cache poisoning2020 Tools of the tradeTools of the trade  Kaminsky gebruikte “scapy”  Tool waarmee je interactief pakketten aanmaakt.  Gebaseerd op Python  In tegenstelling tot andere tools niet enkel geschreven voor bepaalde protocollen met bepaalde instellingen. Je mag dus afwijken van eender welk protocol  Toont ook de respons op jou pakket
  • 21. 2121 www.kdg.be DNS cache poisoning2121 Patching DNS serversPatching DNS servers Bron: Clarified Networks
  • 22. 2222 www.kdg.be DNS cache poisoning2222 ReferentiesReferenties  DNS cache poisoning redirects Internic customers  http://www.secure64.com/ddos-news/internic-alternic-dns-poisoning.html  Black Ops 2008: It’s The End Of The Cache As We Know It  http://www.doxpara.com/DMK_BO2K8.ppt  ‘De Kaminsky Code’: Kwetsbaarheden in DNS  http://www.govcert.nl/download.html?f=118  Scapy, Interactieve Packet Manipulation Tool  http://www.secdev.org/projects/scapy/  Secret Geek A-Team Hacks Back, Defends Worldwide Web  http://www.wired.com/techbiz/people/magazine/16-12/ff_kaminsky?  DNS Security Introduction and Requirements , RFC 4033  http://www.ietf.org/rfc/rfc4033.txt
  • 23. 2323 www.kdg.be DNS cache poisoning2323 ReferentiesReferenties  CERT® Advisory CA-1997-22 BIND - the Berkeley Internet Name Daemon  http://www.cert.org/advisories/CA-1997-22.html  Birthday Paradox (Alertas do CAIS ALR-19112002a)  http://www.rnp.br/cais/alertas/2002/cais-ALR-19112002a.html  DNS Cache Poisoning, The Next Generation  http://www.lurhq.com/dnscache.pdf