Voor iedereen die meer wil weten: onze tutorialpaper over het DNS
Over de basis, maar vooral ook over recente ontwikkelingen en uitdagingen
Over de basis, maar vooral ook over recente ontwikkelingen en uitdagingen
Auteurs: Olivier van der Toorn, Moritz Müller, Sara Dickinson, Cristian Hesselman, Anna Sperotto, Roland van Rijswijk-Deij
Eerder dit jaar verscheen onze tutorialpaper ‘Addressing the challenges of modern DNS: A comprehensive tutorial’. Dit schreven we samen met collega’s van de Universiteit Twente en sinodun. De paper geeft een overzicht van het Domain Name System (DNS) vanuit 2 invalshoeken: hoe het moderne DNS er in de praktijk uitziet en de securityuitdagingen waar het DNS voor staat. Het artikel is bedoeld voor technici die meer willen weten van het DNS, maar ook als startpunt voor verdere verdieping voor DNS-experts.
We schreven de tutorial omdat je inlezen in de actuele stand van zaken van het DNS een behoorlijke klus kan zijn. DNS-tutorials vind je online in grote aantallen, maar ze gaan vaak niet verder dan de basiswerking van het systeem en laten recente ontwikkelingen meestal buiten beschouwing (bijv. DNS-over-HTPS en DNS-centralisatie). Daarnaast is de DNS-documentatie omvangrijk. Pasten de specificaties (RFC’s) in de begindagen 35 jaar geleden nog op ongeveer 100 pagina’s, inmiddels omvatten ze meer dan 3.500 pagina’s verdeeld over bijna 200 documenten. Dit betekent dat je al deze documenten zou moeten verzamelen, lezen, en ook nog moet kunnen herkennen welke delen vandaag de dag nog belangrijk zijn.
Het doel van onze paper is wat aan dit probleem te doen. In de paper leggen we daarom uit hoe het moderne DNS er in de praktijk uitziet en helpen we (aankomend) DNS-experts te identificeren wat op dit moment de belangrijke securityaandachtspunten in het DNS zijn. De doelgroep waarop we mikken zijn technici die relatief nieuw zijn in het DNS (bijv. studenten, onderzoekers en softwareontwikkelaars), maar ook mensen die al over diepgaande expertise beschikken en ons artikel willen gebruiken als startpunt voor verdere verdieping (bijv. via de literatuurlijst in het artikel). Het artikel schreven we op basis van eigen DNS-onderzoek, onze operatonele ervaring en onze uitgebreide kennis van de DNS-RFC’s en de wetenschappelijke literatuur.
Met onze paper willen we uiteindelijk bijdragen aan het verder versterken van de DNS-community in Nederland, Europa en daarbuiten. Dit is belangrijk, omdat het DNS een kernsysteem van het internet is dat bij bijna elke internettransactie betrokken is. Een sterke technische community van DNS-experts is daarbij onontbeerlijk.
Onze eerste invalshoek is dat we een overzicht geven van recente technische DNS-ontwikkelingen uit de praktijk, zoals het versleutelen van DNS-berichten, de voortschrijdende centralisatie van de DNS-infrastructuur, de invloed daarvan op de functionaliteit van het DNS en op gebruikers, beheerders, ontwikkelaars, en onderzoekers. Kortom, we laten zien dat het DNS een dynamisch (eco)systeem is dat voortdurend evolueert.
In onze tutorial leggen we ook uit hoe je het DNS op grote schaal kunt meten, wat een belangrijk mechanisme is om de evolutie van het DNS in kaart te brengen. Dit kan grof gezegd op 2 manieren. Met actieve metingen waarbij meetsystemen het DNS ‘van buitenaf’ bevragen (zoals met OpenINTEL) of met passieve metingen vanaf DNS-servers (zoals via ENTRADA). We bespreken in onze paper hoe je zelf dit soort metingen kunt opzetten en wat de voor- en nadelen van de meetmethodes zijn.
Het tweede perspectief dat onze tutorial biedt is dat we 4 grote uitdagingen voor het huidige DNS identificeren en bespreken: het verhogen van de vertrouwelijkheid, integriteit en beschikbaarheid van het DNS en het bestrijden van misbruik.
Voor elke uitdaging laten we zien waarom het een probleem is en welke oplossingen de DNS-community daarvoor heeft bedacht. Zo zorgt DNS-over-TLS voor het versleutelen van DNS-berichten en DNSSEC voor hun integriteit. BGP-anycast verhoogt de beschikbaard van systemen in het DNS en er zijn talloze manieren om malafide activiteiten in het DNS te herkennen en voorkomen.
We leggen uit hoe deze en andere oplossingen werken en hoe ze vandaag de dag in het DNS worden gebruikt. Ook laten we zien dat veel van deze oplossingen helaas niet perfect zijn en zelf weer nieuwe uitdagingen introduceren. Daarnaast bespreken we welke uitdagingen tot nu toe nog niet zijn opgelost en hoe alternatieve namingsystemen (bijv. gebaseerd op blockchains, SCION of NDN) mogelijk inspiratie kunnen bieden.
Ons idee is dat we met deze invalshoek academici en de bredere DNS-community inspiratie en motivatie bieden voor nieuw onderzoek en het ontwikkelen van nieuwe oplossingen.
Uiteraard bevat onze tutorialpaper ook een uitgebreide uitleg over de basis van het DNS. We bespreken de belangrijkste componenten, hoe berichten in het DNS eruitzien en hoe deze tussen de componenten uitgewisseld worden. Ook geven we hier zo veel mogelijk concrete voorbeelden bij.
Onze paper is “open access” en verscheen in het blad Elsevier Computer Science Review. Is je interesse gewekt? Download ons artikel dan als PDF van onze website of lees de onlineversie.
Tot slot nodigen we lezers uit om de ontwikkelingen van het DNS verder te volgen. Dat kan bijvoorbeeld via de blogs op deze site, maar we hopen dat onze paper lezers ook genoeg inzicht geeft om ingewikkeldere discussies in de DNS-community beter te volgen, zoals in de IETF.