Gepatchte DNS-servers zijn opnieuw een stukje onveiliger. Een geslaagde aanval hoeft nu nog maar tien uur in beslag te nemen, in plaats van een dag. Zonder patch duurt een aanval minder dan een seconde. Beveiligingsonderzoeker Dan Kaminsky: “Dus er is een reden dat je niemand hoort zeggen 'patch niet'. “
De Russische Linux-kernelbeheerder Evgeniy Polyakov beschrijft op zijn blog een aanval op gepatchte DNS-servers, die binnen tien uur tot succes (vervuiling van de cache) leidt.
Zonder patch duurt een aanval minder dan een seconde, zo demonstreerden hackers anderhalve week geleden tijdens een beveiligingsconferentie in Dublin. Beveiligingsonderzoeker Dan Kaminsky, die het DNS-lek ontdekte waarvoor de patch ontwikkeld is, schrijft hierover op zijn weblog: "Dus er is een reden dat je niemand hoort zeggen 'patch niet'. En die reden is dat – ook al hebben we iedereen verteld dat deze patch een lapmiddel is – we nog steeds in de problemen zitten met DNS, alleen minder."
Kaminsky staat nog altijd achter de huidige patch, die ervoor zorgt dat de name server UDP-pakketten verstuurt met een willekeurige afzenderpoort in plaats van een vaste. Kaminsky op zijn blog: "Bijna elke aanval waar we op stuiten, wordt ernstig gehinderd door de afzenderpoortrandomisering." Over DNSSEC, een beveiligder variant van DNS: "DNSSEC is misschien een oplossing voor de langere termijn. Maar het was dat zeker niet voor de korte termijn."
Binnen een nacht overgenomen
Nog geen week geleden rekende PowerDNS-ontwikkelaar Bert Hubert uit dat na één dag de kans al 64% is dat een DNS-server wordt overgenomen, ook als die gepatcht is tegen het lek dat Dan Kaminsky begin juli wereldkundig maakte. Nu blijkt dat dus al in tien uur te kunnen.
Volgens Polyakov kan de aanval nog veel sneller worden uitgevoerd als snellere computers worden ingezet dan hij gebruikte: "Als je en Gigabit-LAN hebt, kan een machine waarop een Trojan is geïnstalleerd je DNS-server binnen een nacht vergiftigen."
Eerder namen beveiligingsexperts aan dat een crimineel drie weken nodig zou hebben om een gepatchte DNS-server over te nemen.
Snelle check
Wie snel wil controleren of de patch is doorgevoerd binnen zijn eigen bedrijf, kan op de website van Dan Kaminsky via één druk op de knop achterhalen of de gebruikte DNS-server kwetsbaar is of niet. Een meer gedetailleerde controle kan elders worden uitgevoerd. Als blijkt dat de DNS-server die je gebruikt kwetsbaar is, informeer dan je netwerkbeheerder.
Het lek dat Kaminsky ontdekte
Domain Name System-servers vertalen domeinnamen naar ip-adressen. Er zijn twee soorten DNS-servers: authoritative en caching nameservers. Alleen het tweede type DNS-server (ook wel ‘resolving name servers' genoemd) is vatbaar voor de kwetsbaarheid die Kaminsky ontdekte. Caching 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. Het huidige DNS-lek maakt het voor kwaadwillenden mogelijk zich uit te geven voor een autoritieve DNS-server. Ze kunnen binnen 0,7 seconden na de start van een ‘brute force' aanval de macht te grijpen over een (ongepatchte) name server en de cache vervuilen met foutieve ip-adressen. Vanaf dat moment is er veel meer mogelijk dan enkel mail afvangen en websitebezoekers omleiden naar nepsites. Ook bijvoorbeeld het File Transfer Protocol (FTP) kan misbruikt worden via het lek, net als het authenticatie- en encryptieprotocol Secure Socket Layer (SSL). Internetbanken gebruiken SSL om geldtransacties over http te beveiligen (via https). Ook automatische software updatediensten kunnen na de overname van een name server worden misbruikt voor het installeren van malware binnen bedrijfsnetwerken. Volgens Kaminksy vormt Windows Update hierop een uitzondering.
In 2004 is er al eens een threat analysis gedaan van DNS, dit is gepubliceerd onder RFC3833. In sectie 2.2 en 2.3 zijn de gebruikte kwetsbaarheden al beschreven. Niemand had toen bedacht dat dit in enkele seconden was uit te voeren en toen Dan Kaminsky dit ontdekte had dat grote gevolgen. De oplossing die nu bedacht is maakt de aanval moeilijker, maar indien een aanvaller grote aantallen slachtoffers kan bereiken, is de kans statistisch gezien weer groter dat het lukt bij enkele slachtoffers. Op dit moment is de aanval dus nog steeds mogelijk, maar het kost meer resources (denk aan botnet) en het is veel beter te detecteren. Natuurlijk zijn er genoeg providers die geen moeite zullen doen en dus kwetsbaar blijven, maar het installeren van de patch is geen onnodige actie geweest.
Het structureel oplossen kost onderzoek en vergt zelfs mogelijk aanpassingen aan de DNS specificaties. Dit is niet iets wat zomaar even risicoloos uitgevoerd kan worden en ik begrijp dat IETF hier zeer terughoudend in is. Dit heeft niets te maken met te weinig actie ondernemen, maar met een mega operatie waarin afwegingen van verschillende risico’s een rol spelen, beveiligingsrisico’s en ook operationele risico’s.
De kern van het probleem zit hem in de schaal grote. We hebben een internet gedefinieerd op protocollen, waarvan we al lang weten dat er kwetsbaarheden inzitten. Nieuwe ontwikkelingen bieden goede alternatieven, maar deze zijn gewoon praktisch heel moeilijk in te voeren, omdat iedereen ‘mee moet doen’.