Recursieve resolvers classificeren

Een korte samenvatting en de conclusie van mijn masterscriptie

Recursieve resolvers fungeren als schakel tussen clients en DNS-nameservers. Beheerders van autoritatieve nameservers willen graag beter inzicht krijgen in de recursieve resolvers waardoor ze bevraagd worden, bijvoorbeeld om hun eigen diensten te optimaliseren. Daarom was het bouwen van een classifier voor recursieve resolvers het doel van het onderzoek dat ik in het kader van mijn masterscriptie bij SIDN Labs deed.

Inzicht in resolvers

Resolvers kunnen allerlei soorten clients bedienen, van eindgebruikers die naar hun favoriete videostreamingsite willen tot scripts die het internet afstruinen voor marketing- of onderzoeksdoeleinden. Een gedegen inzicht in welke resolvers het belangrijkste zijn stelt beheerders van autoritatieve DNS-diensten (zoals SIDN) in staat om te bepalen hoe ze hun serverinfrastructuur moeten inrichten om de interactie met die resolvers te optimaliseren zodat ze de clients die er gebruik van maken zo goed mogelijk van dienst zijn. Daarnaast maakt kennis over de herkomst van de resolvers het onderzoekers mogelijk om de adoptie van nieuwe technieken binnen het DNS in kaart te brengen en zelfs om in te schatten hoeveel gebruikers hinder kunnen ondervinden van ingrijpende veranderingen in het DNS, zoals de root KSK roll-over. Net als mijn collega's bij .nz werkte ik aan een project dat zich bezighoudt met de classificatie van recursieve resolvers met als doel ons inzicht in de bovengenoemde materie te vergroten. Het voornaamste verschil tussen mijn project en het project van .nz is dat ik niet alleen “echte” recursieve resolvers wilde onderscheiden van resolvers die worden gebruikt voor monitoring, maar ook nog andere soorten resolvers wilde identificeren, zoals resolvers van cloudproviders, ISP-resolvers, enzovoort.

Opzet van dataset en kenmerkselectie

Ik heb bij mijn classificatie van recursieve resolvers gebruik gemaakt van querydata die afkomstig waren van de .nl-nameservers, maar in principe zouden data van iedere grote autoritatieve nameserver kunnen worden gebruikt. Recursieve resolvers volgen verschillende patronen bij het bevragen van .nl-domeinnamen. Om een voorbeeld te noemen: waar 82 procent van de queries die door 20 procent van de resolvers worden verstuurd betrekking hebben op A- of AAAA-records, versturen sommige resolvers bijna uitsluitend queries voor NS-records. Ik heb gedurende één dag data verzameld met betrekking tot 27 onderscheidende kenmerken van bijna 1,4 miljoen unieke resolvers. Daarnaast heb ik bekende IP-adressen van bekende bedrijven gekoppeld aan de sector waarin zij actief zijn om te komen tot zeven verschillende typen sectoren: ISP’s, hostingbedrijven, cloudproviders, IT-bedrijven, onderzoekscentra, telecombedrijven en open resolvers. De resulterende dataset diende als mijn grondwaarheid.

Recursive resolver classification figure 1

Figuur 1 — Bedrijven en hun verkeerspercentages op .nl-nameservers in maart 2019

Het cirkeldiagram in Figuur 1 toont de bedrijven en hun aandeel in het verkeer op .nl-nameservers in maart 2019. Ik bracht de resolvers handmatig onder in categorieën, afhankelijk van het soort autonome systeem waartoe ze behoorden. Op basis van deze handmatige analyse is het duidelijk dat ISP's, grote open DNS-diensten, cloudbedrijven en IT-gerelateerde bedrijven verantwoordelijk zijn voor de helft van het verkeer dat door .nl-nameservers wordt afgehandeld. Daarna gebruikte ik de geannoteerde data, die bestond uit 27 kenmerkkolommen en 39.361 unieke IP-adressen, om te analyseren hoe relevant elk kenmerk was. In het licht van de resultaten besloot ik om voor de classificatie alleen de 15 beste kenmerken te gebruiken, om de dimensionaliteit van de dataset te verminderen en overfitting te voorkomen. De meest significante kenmerken zijn het besturingssysteem dat wordt gebruikt (vastgesteld op grond van het TTL-veld van het IP-pakket), of er door de resolver om DNSSEC-informatie wordt gevraagd, en of er door de resolver om bepaalde recordtypen wordt gevraagd.

Classificatie

Ter afronding van het onderzoek evalueerde ik hoe de verschillende classifiers hadden gepresteerd. Tabel 1 toont de F1-scores van alle gebruikte algoritmen. De F1-score is het harmonisch gemiddelde van precisie en recall, waarbij een F1-score van 1 de beste waarde is. Van de verschillende algoritmen die vaak worden gebruikt voor de classificatie van internetpakketten, liet het Random Forest algoritme voor alle klassetypen de beste F1-score zien. Daarom werd dat gebruikt als hoofdalgoritme voor de analyse van ongeannoteerde data.

Recursive resolver classification table 1

Tabel 1 - F1-scores van alle classifiers voor alle klassetypen

Voor sommige klassen had ik minder leervoorbeelden dan voor andere, wat de classificatie negatief zou kunnen hebben beïnvloed. Terwijl de groundtruth van open resolvers bijvoorbeeld bestond uit precieze IP-adressen verkregen van bedrijven met open resolvers, koppelde ik de IP-adressen van onderzoeks-, telecom- en hostingbedrijven handmatig aan hun sectoren. Dit resulteerde uiteindelijk in een nauwkeurigheid van 98 procent voor de klasse van de open resolvers en aanmerkelijk lagere nauwkeurigheidspercentages voor de overige klassen. Toch was ik door deze groundtruth op te stellen in staat om de nauwkeurigheid van de in het onderzoek gebruikte classificatie-algoritmen te meten.

Belangrijkste resultaten

Figuur 2 toont de belangrijkste resultaten van mijn classificatie. ISP-resolvers zijn het meest gebruikelijk.

Recursive resolver classification figure 2

Figuur 2 - Aantal IP-adressen per klasse op 20 maart 2019 en 22 mei 2019 Ik voerde onze classifier op 2 afzonderlijke dagen uit en de resultaten worden weergegeven in Figuur 2. Op beide dagen werden resolvers in de ISP-klasse het meest gebruikt, gevolgd door resolvers in cloudomgevingen en publieke resolverdiensten. In de toekomst zien we mogelijk een verschuiving naar publieke resolverdiensten, als DNS over HTTPS op bredere schaal in applicaties gaat worden gebruikt.

Toekomstig onderzoek en conclusie

De conclusie is dat het onderzoek de beoogde doelstellingen heeft behaald, maar dat duidelijk is geworden dat een 100 procent nauwkeurige classificatie zelden mogelijk is. Ik hoop dat mijn onderzoek andere onderzoekers naar nieuwe invalshoeken leidt, het onderwerp onder de aandacht brengt en zo bijdraagt aan de verbetering van online DNS-diensten. De resultaten moeten wel met enige voorzichtigheid worden behandeld. Mijn groundtruth was zowel vertekend als meerduidig. Zo kan een autonoom systeem de recursieve resolver van een kleine onderneming maar ook een open resolver hosten. Een belangrijke focus voor toekomstig onderzoek is daarom het vinden van voldoende IP-adressen binnen de verschillende klassen om de classifier te voorzien van een betere klasserepresentatie. Voor een gedetailleerd verslag van het onderzoek kun je mijn scriptie doornemen. Als je vragen en/of opmerkingen hebt, kun je die mailen naar metinacikalinn@gmail.com of mijn begeleider bij SIDN Labs, moritz.muller@sidn.nl.

Downloads

Reacties

Metin Açıkalın

Metin Açıkalın

Stagair

metin.acikalin@sidn.nl

  • vrijdag 24 januari 2020

    Nieuws

    Live transcriptie voor doven en slechthorenden dankzij AmberScript

    Thumb-person-talks-with-sign-language

    SIDN fonds steunt ontwikkelaar van spraakherkenningsengine

    Lees meer
  • donderdag 31 oktober 2019

    Nieuws

    Niet 1, niet 2, niet 3, maar zelfs 4 CENTR Awards

    Thumb-centr-awards-ceremony

    Mooie waardering voor onze actieve bijdrage aan de domeinnaambranche

    Lees meer
  • woensdag 29 mei 2019

    Weblog

    Veilige websites in grote organisaties: hou het overzicht

    Thumb-protected-access

    Over de risico’s voor grote organisaties met een versnipperd domeinnaamportfolio

    Lees meer

Sorry

De versie van de browser die je gebruikt is verouderd en wordt niet ondersteund.
Upgrade je browser om de website optimaal te gebruiken.