Afstudeeronderzoek: proactieve herkenning van domeinmisbruik
Malafide domeinnamen herkennen door validatie van registratiegegevens
Kies jouw kleur
Veel bezocht
Veelgestelde vragen
Via de Whois kun je de huidige houder van een domeinnaam opzoeken. Om de persoonsgegevens in te zien moet je vanwege de privacygevoelige informatie eerst de gebruikersvoorwaarden van de Whois accepteren. Gegevens van privé personen kunnen ook afgeschermd zijn vanwege de AVG (Algemene verordening gegevensbescherming).
Op de pagina domeinnaam zoeken lees je meer over wat een domeinnaam is, de werking van de Whois en de privacy van persoonsgegevens.
Je wilt je domeinnaam verhuizen naar een andere registrar. Vraag dan je verhuistoken op bij je huidige registrar. Lees de verhuisstappen op de pagina domeinnaam verhuizen.
Neem contact op met je registrar. Jouw registrar kan de contactgegevens bij je domeinnaam voor je aanpassen. Wij raden je aan het resultaat te controleren via de Whois. Lees meer over het aanpassen van je gegevens bij contactgegevens wijzigen.
Wij weten niet wat de reden van de opheffing is. Neem contact op met je registrar. Het voordeel van de quarantaine is dat je altijd de mogelijkheid hebt om een opheffing die je niet had bedoeld te herstellen.
Voorbeeld: In de voorwaarden van je registrar staat dat je elk jaar je abonnement moet verlengen. Dat gebeurt dan niet automatisch. Zo kan het gebeuren dat je domeinnaam wordt opgeheven zonder dat je er om gevraagd hebt.
Wanneer je een klacht hebt over of een geschil met je registrar dan zijn er verschillende mogelijkheden om tot een oplossing te komen. Hierover lees je meer op pagina klacht over registrar. SIDN heeft geen formele klachtenprocedure voor het behandelen van een klacht over jouw registrar.
Wil je zelf direct domeinnamen kunnen registreren bij SIDN voor je klanten of voor je eigen organisatie? Dan kun je .nl-registrar worden. Lees meer over de voorwaarden en de manier waarop je je kunt inschrijven als registrar via de pagina registrar worden.
Malafide domeinnamen herkennen door validatie van registratiegegevens
Phishingaanvallen en andere vormen van domeinnaamgerelateerd misbruik zijn een bekend probleem op het internet. Voor mijn afstudeerproject bij SIDN Labs onderzocht ik hoe we op basis van alleen de domeinnaamregistratiegegevens, dit soort domeinnamen proactief kunnen detecteren vóórdat ze actief worden. Onderdeel hiervan was ook het valideren van registratiegegevens.
SIDN Labs, maar ook andere onderzoeksteams [1, 2] doen veel onderzoek naar manieren om phishingwebsites en andere vormen van domeinnaamgerelateerd misbruik tegen te gaan. Bijvoorbeeld door het DNS-verkeer van domeinen te analyseren om onregelmatigheden te herkennen, of door middel van machine learning de inhoud van een website te bepalen. Deze methoden zijn vaak reactief: ze hebben immers pas effect als de phishingsite al in gebruik is. Andere methoden focussen op het herkennen van malafide websites als een aanvaller tientallen domeinnamen tegelijkertijd registreert en missen daarom kleinschaliger phishingaanvallen. Daarom onderzochten we of het mogelijk is om zulke, meer doelgerichte, websites te herkennen direct op het moment dat ze geregistreerd worden. In deze blogpost leg ik onze aanpak uit.
De levenscyclus van een .nl-domeinnaam start bij het registreren ervan in het domeinnaamregistratiesysteem. Hierbij zijn 3 partijen betrokken: een persoon of organisatie die een domein wil aanvragen (de domeinnaamhouder), het bedrijf dat domeinnaamregistratie aanbiedt (de registrar), en het bedrijf dat het topleveldomein beheert (de registry, SIDN in het geval van .nl).
Voor elke domeinnaam zijn bij registratie de volgende attributen bekend:
De domeinnaam
Datum en tijdstip van registratie
De registrar bij wie de domeinnaam aangevraagd werd
De nameserver
Eventueel de reseller bij wie de domeinnaam aangevraagd werd
De naam van de domeinnaamhouder
Het telefoonnummer van de domeinnaamhouder
Het adres van de domeinnaamhouder
Het e-mailadres van de domeinnaamhouder
Omdat SIDN de registratiegegevens van alle .nl-domeinnaamhouders beheert, is het potentieel mogelijk om aan hand van de registratiegegevens in te schatten of een domeinnaam wellicht malafide is. Domeinnamen met valse registratiegegevens zouden we zo beter in de gaten kunnen houden om abuse eerder te herkennen.
In het onderzoek namen we aan dat domeinnaamhouders die domeinennamen willen gebruiken voor phishing of andere malafide doeleinden incorrecte houdergegevens opgeven om zo de kans te verkleinen dat ze gepakt worden. Met dit in gedachte ontwikkelden we voor elke registratieattribuut (bijvoorbeeld de naam van de houder en het e-mailadres) een indicator van de correctheid ervan. Deze controle noemen we de attribuutvalidatie.
Omdat registratiegegevens persoonlijke gegevens zijn, valideerden we registratieattributen lokaal, zodat we geen data hoefden te delen met andere partijen.
Hieronder leggen we uit, hoe we de data valideerden.
Voor de houdernaam zijn er 2 mogelijkheden: als het een natuurlijk persoon is, is dat de naam van de persoon die de domeinnaam registreert, als het een bedrijf is, is het de naam van het bedrijf. Voor de validatie van de naam gebruikten we een natural language processing-programma. Zo’n programma berekent de kans dat een naam daadwerkelijk een naam van een persoon is.
Uit steekproeven bleek, dat het programma goed werkt voor natuurlijke personen, maar niet goed voor bedrijven. Daarom valideerden we alleen de naam als bij de domeinnaamregistratie aangegeven werd, dat de houder een persoon is. Een naam beschouwden we als valide, als het programma deze ook als een naam van een persoon herkent.
Om het adres van de domeinnaamhouder te valideren, gebruikten we een lokale kopie van de Basisregistratie Adressen en Gebouwen (BAG)-database. De BAG is een openbare database van de Nederlandse overheid die alle Nederlandse adressen bevat.
We schreven een programma dat voor elke nieuwe registratie het adres opsplitst in straatnaam, huisnummer, eventuele toevoegingen, en postcode. Het programma haalde vervolgens het huisnummer en de postcode uit de BAG-database en vergeleek het met de opgegeven gegevens. Hiervoor gebruikten we de Levenshteinafstand.
Aangezien de BAG-database alleen gegevens bevat over Nederlandse adressen, konden we ook alleen Nederlandse adressen valideren. Ongeveer 95% van de .nl-domeinnamen is geregistreerd in Nederland, dus hiermee was het merendeel van de registraties afgedekt.
Voor de validatie van het e-mailadres keken we eerst of er een valide mailserver bestond op het opgegeven domein van het e-mailadres. Was dat het geval, dan zetten we een verbinding met deze mailserver op, waarna we opvroegen of het volledige opgegeven e-mailadres bestaat bij de mailserver. Als dit het geval was, beschouwden we het mailadres valide. Hiervoor gebruikten we een python library.
Voor de telefoonnummervalidatie maakten we gebruik van een openbaar beschikbaar validatieprogramma voor telefoonnummers. Dit programma bevat syntactische checks voor alle verschillende soorten voorkomende telefoonnummers. Denk hierbij aan de hoeveelheid cijfers die een telefoonnummer kan bevatten per land.
Naast de validatie van de gegevens die tijdens een domeinregistratie beschikbaar zijn, keken we ook naar andere kenmerken die op een malafide domeinregistratie zouden kunnen duiden. Deze kenmerken kwamen naar voren door naar soortgelijk onderzoek [1,2] te kijken en met het abuseteam van SIDN in gesprek te gaan over wanneer zij een domeinnaamregistratie verdacht vinden. Voorbeelden hiervan zijn het tijdstip van de registratie of attributen van de domeinnaam zelf, zoals het aantal cijfers in de domeinnaam.
Voor de herkenning van domeinnaammisbruik gebruikten we een Random Forest-algoritme. Van 6 verschillende algoritmes die we testten, bleek deze het beste te werken. De resultaten van de toets op correctheid en de extra kenmerken gebruikten we samen als input voor het algoritme. Om de algoritme te trainen gebruikten we verschillende testdatasets, waaronder sets van bekende malafide domeinnamen (bijvoorbeeld van Netcraft) en domeinnamen van websites met een Trustmark-keurmerk.
Uit de resultaten bleek dat het systeem goed werkt op deze testdatasets, maar minder goed voor realtime registraties. Het ontwikkelde systeem wist 80% van alle malafide domeinen te herkennen uit de testdataset, maar herkende slechts 15% van alle malafide domeinen die gedurende 1 maand bij SIDN werden geregistreerd. Een reden voor dat verschil is dat de meldingen in de testdataset gemiddeld allemaal een jaar oud zijn, terwijl de karakteristieken van deze malafide domeinen erg snel veranderen.
Hiernaast bleek dat er waarschijnlijk nog iets bij de validatie van de adresgegevens misging, wat ook invloed op de prestatie kon hebben. SIDN Labs heeft na afronding van de studie de ontwikkelde methode om adresgegevens te verifiëren nader geëvalueerd. Daaruit bleek dat rond 28% van de malafide .nl-domeinnamen foutieve adresgegevens gebruiken in tegenstelling tot 4% van de legitieme domeinnamen. Dit week af van onze eerste evaluatie, waarin we vonden dat zowel voor malafide als legitieme domeinnaamregistraties 40% van de adresgegevens niet leek te kloppen.
SIDN Labs onderzoekt de ontwikkelde methode verder. Die is namelijk nog steeds zinvol, ondanks de fout die we maakten bij de eerste evaluatie ervan. Hiervoor is het van belang om de random forest classifier te trainen op nieuwere gegevens, en te kijken hoe het systeem dan presteert.
Verder onderzoekt SIDN Labs of het systeem gecombineerd kan worden met al bestaande systemen die ook proberen malafide domeinnamen te detecteren om een betere voorspelling te kunnen doen over de legitimiteit van een domein.
Voor een meer gedetailleerd overzicht van het systeem verwijs ik je graag door naar mijn thesis.
Artikel door:
Afstudeerstagair
Joost studeerde af bij SIDN Labs.
Deel dit artikel