In een ideale wereld zouden er geen DNS-servers bestaan die queries van iedereen willen beantwoorden. “Netwerkbeheerders beseffen onvoldoende dat recursie een risico is.”
Wie had gedacht dat de meeste organisaties hun DNS-infrastructuur inmiddels wel op orde hadden, heeft ongelijk. Dat zegt InfoBlox. De netwerkleverancier liet de Measurment Factory de configuratie meten van vijf procent van alle DNS servers ter wereld.
Cricket Liu, vice president architectuur bij InfoBlox: "In een ideale wereld zouden er geen DNS-servers bestaan die queries van iedereen willen beantwoorden. In werkelijkheid zijn dat er het er ruim vijf miljoen, vierenveertig procent van alle DNS-servers. Netwerkbeheerders beseffen niet dat recursie een risico is. Het is relatief gemakkelijk de cache van een recursieve DNS-server te vergiftigen, zelfs als die is gepatcht tegen de Kaminsky-kwetsbaarheid."
Volgens anderen valt dat risico overigens wel mee. PowerDNS-ontwikkelaar Bert Hubert: "Het is theoretisch mogelijk de cache te manipuleren van een gepatchte server, maar er is tot nu toe slechts een enkeling met zeer veel moeit gelukt en dan nog onder laboratorium-omstandigheden."
Cache vervuilen
Er zijn twee soorten DNS-servers: authoritative en recursieve nameservers. Alleen het tweede type DNS-server (ook wel ‘resolving' of ‘caching' name server genoemd) is vatbaar voor de kwetsbaarheid die Kaminsky ontdekte. Recursieve nameservers zijn namelijk niet op de hoogte van alle domeinnamen op het hele internet, en sturen daarom vertaalverzoeken aan ‘autoritieve' DNS-servers. In zo'n vertaalverzoek vraagt een DNS-server naar het ip-adres dat hoort bij een bepaald website- of mailadres.
Volgens Liu zijn er ‘veel redenen waarom hij niet houdt van recursieve name servers': "Als een name server een query van mij accepteert, kan ik hem vragen iets op te zoeken op mijn name servers. En dan kan ik allemaal onzindata terugsturen zodat de cache vervuild raakt. Als dat geen recursieve name server was geweest had ik dat nooit rechtstreeks kunnen doen."
"Bovendien kan ik in dat geval bij elke query het ‘message id' zien. Als ik maar genoeg query's stuur, kan ik de message id raden. Dat is eenvoudiger na het bekend worden van de Kaminsky-kwetsbaarheid. Daardoor kan ik de cache van een recursieve name server nog gemakkelijker vervuilen. Daarnaast kunnen recursieve name servers misbruikt worden voor DDOS-aanvallen tegen anderen."
Access Control List
Liu adviseert om het gebruik van recursieve name servers zo veel mogelijk te vermijden. Liu: "Gebruik op zijn minst een Access Control List (ACL). Dat is een lijst van ip-adressen die het recht hebben om queries te stellen aan je name server."
In 2007 was het percentage open recursieve queries op het internet tweeenvijftig procent. Dit jaar is dat percentage vierenveertig procent. Liu: "Dat is een verbetering, maar die verbetering is kleiner dan we verwacht hadden. We hadden verwacht dat de Kaminsky-kwetsbaarheid gebruikers meer bewust had gemaakt van de problemen die open recursieve queries kunnen opleveren."