Als onderdeel van mijn PhD-onderzoek aan de Universiteit Twente ga ik een empirisch onderzoek uitvoeren naar ontwikkelingen in de uitvoering van de DNS-architectuur. De aanleiding hiervoor is de groeiende bezorgdheid in de mondiale technische gemeenschap over de steeds kleiner wordende groep operators die het DNS beheert. Dit is een proces dat de onafhankelijkheid en stabiliteit van het DNS in gevaar zou kunnen brengen. In deze blogpost zet ik kort de probleemruimte en onderzoeksvragen uiteen waarop mijn onderzoek zich richt.
Domain Name System
Het belangrijkste doel van het Domain Name System (domeinnaamsysteem of DNS) is het koppelen van domeinnamen aan onderliggende IP-adressen. Het DNS speelt een cruciale en centrale rol op het internet, omdat vrijwel elke interactie tussen 2 computers wordt voorafgegaan door een DNS-lookup. De DNS-architectuur is hiërarchisch, met een gedistribueerde namespace en decentrale toegang.
Figuur 1 toont hoe een DNS-lookup werkt. Stel bijvoorbeeld dat een webclient het IP-adres van example.com wil opvragen. Hij stuurt dan een DNS query naar een recursive resolver (stap 1 in Figuur 1), die namens hem door de DNS naming hiërarchie loopt. De resolver begint bij de root, die hem doorstuurt naar de servers van .com (stap 2). Deze verwijzen hem op hun beurt door naar de servers van example.com (stap 3), die het gevraagde IP-adres leveren. De resolver stuurt het adres door naar de client (stap 1), die vervolgens via het IP-adres van example.com verbinding maakt met de site (niet zichtbaar in figuur 1).
Figuur 1: Voorbeeld van een DNS-lookup en de betrokken onderdelen en partijen.
Veel macht en dus ook grote verantwoordelijkheid
De hierboven beschreven architectuur geeft DNS operators veel macht en brengt daarom ook grote verantwoordelijkheid met zich mee. Enerzijds zijn operators van zones als de root, .com, of example.com er voor verantwoordelijk dat hun nameservers continu beschikbaar zijn. Als geen van de nameservers voor example.com in Figuur 1 beschikbaar is, wordt de domeinnaam onbereikbaar. De verantwoordelijkheid neemt alleen maar toe wanneer de operator zones beheert die veel domeinen delegeren, zoals de root of TLD’s als .com of .nl.
Anderzijds hebben operators ook veel macht over hun clients. Ten eerste kunnen de operators van recursive resolvers elke DNS-query van hun clients volgen, wat gevoelige informatie kan opleveren. Maar omdat vrijwel elke verbinding op het internet wordt voorafgegaan door een DNS-query, zijn resolver-operators ook gatekeepers voor hun clients. Ze kunnen de toegang tot bepaalde domeinnamen blokkeren of clients een verkeerd antwoord geven. Tenslotte moeten ze hun resolvers ook continu beschikbaar houden. Als clients een resolver niet kunnen bereiken, zijn ze in feite offline.
Daarom hebben DNS-operators de verantwoordelijkheid om hun service transparant en op niet-discriminerende wijze uit te voeren.
In de handen van velen
Om de verantwoordelijkheid en macht te spreiden gaat het ontwerp van het DNS uit van verdeling over veel stakeholders. Zoals Figuur 1 laat zien, kunnen clients meestal kiezen uit diverse recursive resolvers om het DNS te bevragen. De meeste clients kunnen normaal gesproken kiezen tussen hun isp’s resolver of een openbare DNS-resolver, zoals Google Public DNS. Ook kan elk domein (bijvoorbeeld de root, .com en example.com) meerdere nameservers hebben, bij verschillende organisaties.
Dit ontwerp moet het DNS bestand maken tegen uitval en de kans verkleinen dat een significant aantal onderdelen door dezelfde organisatie wordt beheerd. Als bijvoorbeeld in Figuur 1 de authoritative nameserver x voor example.com uitvalt, dan zijn er nog altijd 2 andere servers beschikbaar. Als de client de antwoorden van resolver 1 niet vertrouwt, kan hij ook resolver 2 kiezen.
Vermoedelijke concentratie van het DNS
Recente incidenten doen echter vermoeden dat de manier waarop het DNS wordt gebruikt aan het veranderen is. Bij een grootschalige Distributed Denial of Service (DDoS) aanval op DNS-provider Dyn in 2016 waren veel populaire webdiensten – waaronder twitter.com, linkedin.com en airbnb.com – urenlang onbereikbaar. Deze gebruikten allemaal meerdere nameservers, maar al deze servers werden gehost door Dyn. Dus toen Dyn uitviel, was geen van hun nameservers meer beschikbaar.
Dit soort trends zijn ook te zien bij recursive resolvers. Sommige regeringen dwingen internet service providers (isp’s) bijvoorbeeld soms om DNS-verkeer naar inhoud voor volwassenen te blokkeren. Behalve query’s blokkeren kan een isp thuisrouters zo instellen dat de klant alleen de resolver van de isp kan kiezen. Als de isp bepaalde query’s naar zijn recursive resolvers moet blokkeren, dan kan de (minder technisch aangelegde) gebruiker deze vorm van censuur alleen maar accepteren.
Dit suggereert dat het DNS steeds meer in handen lijkt te komen van een kleine groep organisaties. Het lijkt erop dat veel domeinen vertrouwen op de authoritative nameservers van dezelfde organisaties en DNS-query’s worden grotendeels door een paar grote resolver-operators afgehandeld. Dit blijkt negatieve gevolgen voor de stabiliteit en onafhankelijkheid van het DNS en dus het internet in zijn geheel te hebben.
Dat roept de vraag op:
Zijn de onafhankelijkheid en stabiliteit van het DNS in gevaar?
In mijn PhD-onderzoek wil ik eerst onderzoeken in hoeverre het DNS geconcentreerd is.
Eerdere onderzoeken hebben aangetoond dat populaire websites zich nog altijd verlaten op een klein aantal DNS-providers, zelfs na de aanval op Dyn. Ik wil voortbouwen op die bevindingen door de concentratie op technisch en organisatorisch niveau te analyseren en door de (commerciële) drijfveren achter het proces te onderzoeken.
Hieruit wil ik afleiden of het huidige gebruik van het DNS daadwerkelijk een bedreiging vormt voor de stabiliteit en onafhankelijkheid van het DNS, en dus voor het internet in zijn geheel.
Tot slot wil ik bestaande maatregelen voor risicobeperking analyseren en ook nieuwe maatregelen voorstellen.
Bij mijn PhD-onderzoek werk ik samen met de afdeling Design and Analysis of Communication Systems (DACS) bij de Universiteit Twente.