Gezamenlijk onderzoek door SIDN Labs, InternetNZ (beheerder van het Nieuw-Zeelandse domein .nz) en USC Information Sciences Institute (VS) heeft een kwetsbaarheid in het Domain Name System gelokaliseerd en opgelost. Door deze kwetsbaarheid konden DNS-resolvers ingezet worden voor grootschalige DDoS-aanvallen tegen topleveldomeinen (TLD’s) en andere autoritatieve DNS-operators. Na de melding door de onderzoekers is de kwetsbaarheid door Google gerepareerd in Google Public DNS, een van ’s werelds meest gebruikte publieke DNS-resolvers. De onderzoekers roepen beheerders van andere DNS-servers en -resolvers op om te controleren of hun systemen ook risico lopen en, indien nodig, zo spoedig mogelijk maatregelen te treffen.
DDoS-aanvallen door eindeloos heen en weer sturen van DNS-queries
De kwetsbaarheid, door de onderzoekers tsuNAME gedoopt, maakt het mogelijk om DDoS-aanvallen te lanceren in situaties waarin nameserverrecords van twee verschillende domeinnamen naar elkaar verwijzen. In dat geval treedt er een wederzijdse afhankelijkheid (een ‘cyclic dependency’) op. Aanvallers kunnen hier misbruik van maken door via kwetsbare resolvers een grote hoeveelheid queries naar autoritatieve nameservers te sturen. Als een resolver de wederzijdse afhankelijkheden niet opmerkt, dan stuurt deze de DNS-queries eindeloos heen en weer tussen de twee domeinnamen. In het onderzoek zijn bijvoorbeeld resolvers gesignaleerd die urenlang non-stop in een dergelijke loop terecht kwamen.
Dit kan resulteren in een grote DDoS-aanval als de resolver daarnaast wederzijdse afhankelijke NS-records niet cachet. Dan maakt de resolver namelijk veel vaker contact met de autoritatieve server dan het zou moeten doen met caching – wat leidt tot een toename van verkeer, bijvoorbeeld op de DNS-servers van een TLD-operator. De wederzijdse afhankelijkheden zorgen ervoor dat dit gedrag zich non-stop blijft herhalen. Het DNS gebruikt caches om autoritatieve servers minder te belasten en het systeem te laten schalen.
Responsible disclosure
Het team is vanaf februari met een zorgvuldig responsible disclosure-proces bezig geweest om achter de schermen zoveel mogelijk operators te waarschuwen. Hierbij zijn internationaal gestandaardiseerde tijdslijnen in acht genomen. De public disclosure heeft vandaag plaatsgevonden op het DNS-OARC-congres en op https://tsuname.io, de officiële website voor deze kwetsbaarheid.
De kwetsbaarheid was overigens bij enkele experts al langer bekend, maar er was tot nu toe onvoldoende meetdata beschikbaar om het probleem te kunnen lokaliseren en op te lossen. De meetstudie van de onderzoekers heeft die data uiteindelijk geleverd.
Oplossing voor de kwetsbaarheid
Een oplossing voor deze kwetsbaarheid is het toevoegen van code aan resolvers die wederzijdse afhankelijkheden herkent en loops tussen dergelijke domeinnamen doorbreekt. Deze code moet worden geleverd door de maker van de resolversoftware. Recente versies van veel resolvers zijn niet meer kwetsbaar voor tsuNAME maar oudere mogelijk wel, zoals te lezen is in de Security Advisory van de onderzoekers. Voor beheerders van autoritatieve DNS-servers ontwikkelden de onderzoekers de opensourcetool CycleHunter, die daarna verder verbeterd is door de DNS-gemeenschap. Hiermee kunnen beheerders wederzijdse afhankelijkheden tussen domeinnamen in hun zone detecteren. De onderzoekers benadrukken dat NS-records op ieder moment kunnen veranderen en het daarom raadzaam is om meerdere malen per dag een scan uit te voeren, om zo de impact van een misconfiguratie te verkleinen. In de Security Advisory geven de onderzoekers een stappenplan waarmee autoritatieve DNS-operators het probleem in hun systeem kunnen oplossen.
Google Public DNS
Uit het technische rapport van de onderzoekers bleek dat Google Public DNS in veel gevallen de belangrijkste bron was van de herhaalde queries. Nadat dit aangekaart werd bij Google, werd deze kwetsbaarheid door het technische team van Google gerepareerd. Een analyse op 9 februari van dit jaar door de onderzoekers van SIDN Labs, InternetNZ en USC Information Sciences Institute laat inderdaad zien dat de geconstateerde DNS-kwetsbaarheid zich nu niet meer voordoet bij de publieke DNS-resolver van Google. Ook Cisco paste zijn DNS-software, OpenDNS, inmiddels aan.
Mogelijke impact
Giovane Moura, data scientist bij SIDN Labs: “Ons werk is erop gericht om ervoor te zorgen dat de internetinfrastructuur in Nederland, Europa en daarbuiten veilig en stabiel is. De ontdekte kwetsbaarheid kan in potentie voor grote problemen zorgen. Het laat ook zien hoe belangrijk de samenwerking met andere partijen is bij dit soort ontwikkelingen. Dit is namelijk niet een kwetsbaarheid die alleen het .nl-domein raakt, maar voor alle topleveldomeinen grote gevolgen kan hebben. Net als bij andere grote DDoS-aanvallen had het er bijvoorbeeld toe kunnen leiden dat online diensten van banken, overheden en webwinkels onbereikbaar zouden worden.”