NLnet Labs ontwikkelt verschillende producten voor DNS en DNSSEC, zoals Unbound, een validating caching resolver, en NSD, een ‘authoritative’ DNS server. Bovendien werkt NLnet Labs mee aan OpenDNSSEC, waarvan onlangs een technology preview is uitgekomen. Olaf Kolkman noemt zichzelf gekscherend evangineer. “Maar ik heb het wel op mijn kaartje gezet”, zegt hij. “We staan voor open source en open standaarden ten bate van internet in de breedste zin van het woord. Het gaat ons om de core protocollen van internet: naming, addressing en routing.”

Met DNS hebben we het natuurlijk over naming. “DNS is het grootste lookup systeem ter wereld”, zegt Kolkman. “Als dat helemaal veilig is, dan kun je er dingen mee doen die je er vandaag niet mee kunt. Daarbij kun je denken aan verschillende autorisatiemechanismen. Je zou dan bijvoorbeeld via DNS kunnen aangeven dat als je wilt internetbankieren, je dat alleen maar mag doen over een verbinding die aan bepaalde beveiligingseisen voldoet. Nu begin je over het algemeen met een onbeveiligde en onderschepbare verbinding met je bank. Dat soort dingen moet in de toekomst mogelijk worden. En nu zitten we op het punt waar we een verschil kunnen maken.”

Dan Kaminsky

DNSSEC is een veiligheidsextensie op DNS, waarbij de antwoorden op de lookups getekend worden met behulp van public-key cryptografie. Op die manier weet men zeker dat het antwoord echt van de juiste partij afkomstig is en kan men het antwoord dus vertrouwen.

In 1995 had men al ontdekt dat de cache van DNS servers vervuild kon worden door de server te bombarderen met verkeerde antwoorden. Als die server dan zijn cache ging verversen en een nieuwe lookup deed, kon men proberen om het vervuilde antwoord eerder ter plaatse te laten zijn dan het antwoord van de legitieme server, waardoor het foute antwoord werd opgenomen in de cache. Men erkende dat dit gevaarlijk was, maar de window of opportunity van de aanvaller bij dit soort aanvallen was nog relatief klein, omdat een DNS-server zijn cache maar eens in de zoveel tijd ververst. Maar vorig jaar liet Dan Kaminsky op Black Hat zien dat de cache van een DNS server op elk gewild ogenblik relatief gemakkelijk kon worden vervuild, door aan de ene kant slimme vragen te stellen en de server aan de andere kant te bombarderen met foute antwoorden.

Door middel van zo'n cache poisoning aanval kan de aanvaller het verkeer omleiden over zijn eigen server zonder dat de gebruiker daar iets van merkt, en kan hij dat verkeer als een man-in-the-middle afluisteren. Kolkman weet op dit moment maar van twee duidelijke gevallen van misbruik van het gat in DNS. “Maar de aanval is heel moeilijk te detecteren en bovendien gaan mensen het niet van de daken schreeuwen als ze slachtoffer zijn geworden. Dat tast hun betrouwbare imago aan.”

Ontwikkeling van het protocol

DNSSEC wordt gezien als het antwoord op de Kaminsky-bug, maar de uitrol ervan heeft nog wel wat haken en ogen in zich. De ontwikkeling van het protocol heeft 15 jaar geduurd en nu pas begint het gereed te komen voor deployment. Volgens Kokman komt die trage ontwikkeling doordat er in de eerste tien jaar nauwelijks deployment was. In een normaal proces gaan ontwikkeling, ervaring en standaardisatie hand in hand, maar die normale gang van zaken kwam voor DNSSEC pas rond 2000 van de grond. Toen gingen in Nederland onder andere SIDN en NLnet Labs, en in Zweden .SE ermee aan de slag. “In een operationele omgeving ontdekte men dat het helemaal niet schaalt. Met de toenmalige standaard moest je alle klanten afzonderlijk benaderen en dat lukt gewoon niet. Dus moesten we terug naar de tekentafel.”

In 2005 kwam DNSSEC bis, maar daarover ontstonden discussies over privacy en ook weer over de schaalbaarheid. Heel lang was er geen consensus over het probleem, maar ondertussen is dat van de privacy algemeen erkend en in 2008 heeft dat geleid tot een nieuwe standaard, NSEC3. Kolkman: “Mijn claim is dat het protocol nu klaar is voor deployment, al zal dat zeker niet van een leien dakje gaan. Nu is het nog early deployment. Maar in ieder geval wordt DNSSEC nu ingezet, dus er komt meer ervaring en er komen meer tools. Bovendien worden die tools steeds beter, er komen cursussen, root gaat getekend worden. Er gebeurt iets, dat is het belangrijkste”

DNSSEC in de toekomst

Natuurlijk ziet Kolkman nog wel problemen. Bepaalde firewalls die niet op DNSSEC zijn ingesteld zullen dwars gaan liggen, net als routers die ietwat losjes zijn geïmplementeerd. Maar hij denkt wel dat het proces van implementeren van DNSSEC nu goed op gang zal komen. “Nu kijk ik in mijn glazen bol, maar meer en meer ISP's zullen gaan valideren. In Zweden tekenen de banken en de overheid en de isp’s valideren. Over twee of drie jaar gaat het hopelijk op meer plekken zo. Daarna zullen de applicaties DNSSEC-aware worden en dan kun je ineens veel meer met DNS. Dan heb je een framework waar je trust op kunt bouwen. Dat is iets voor over 10 jaar, maar dan moeten mensen wel mee gaan spelen. Anders blijft een belangrijke component van internet niet vertrouwd.”

DNSSEC wordt al bij een aantal top level domains ingezet. .org is ondertussen getekend, .gov wordt getekend en de Amerikaanse regering wil root getekend hebben voor het eind van dit jaar. Kolkman: “Eigenlijk vind ik dat we .nl getekend moeten hebben als de root ondertekend wordt. De ervaringen in Zweden geven aan dat er geen grote problemen zijn, al is er wel een aantal dingen waar men op verdacht is.” Maar Kokman is ook realistisch: “Het hele probleem met DNSSEC is dat er geen donder aan te verdienen is. Meer veiligheid levert op de lange termijn een kostenbesparing op en je creëert mogelijkheden voor innovatie, maar dat is een moeilijk verhaal omdat het te maken heeft met een betere wereld. En een utopische wereld is moeilijk te verkopen.” Daarbij geeft Kokman toe dat DNSSEC geen silver bullit is waarmee internet helemaal veilig wordt. “Het is gewoon één van de dingen die we moeten doen om het veilig genoeg te houden.”

Morgen vertelt Roland van Rijswijk waarom SURFnet DNSSEC zo belangrijk vindt Bron: Techworld