Haalbaarheidsstudie naar automatische identificatie van malafide .nl-registraties
Evaluatie van 3 methodes en hun impactanalyse
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.
Evaluatie van 3 methodes en hun impactanalyse
Een flink deel van de .nl-domeinnamen met een misbruikmelding wordt met malafide intenties geregistreerd. Dat wil zeggen dat deze domeinnamen alleen geregistreerd werden om een phish, malware of andere narigheid te publiceren. De .nl-zone zou nog veiliger kunnen worden als we deze malafide registraties proactief herkennen en offline halen; het liefst voordat iemand wordt opgelicht. In deze blog vergelijken we op wetenschappelijke manier verschillende methodes om dit soort verdachte registraties te identificeren. Uit voorlopige resultaten blijkt dat zowel machinelearning-algoritmes als statische regels effectief kunnen zijn om verdachte registraties te herkennen. Verder verkennen we, welke impact het gebruik van deze methodes zou hebben op de werkzaamheden van SIDN’s anti-abuseteam.
Malafide content op het internet wordt over het algemeen op 2 verschillende manieren verspreid. Dat kan door het hacken van een bestaande legitieme website of het registreren van een domeinnaam specifiek voor malafide doeleinden. De verhouding tussen deze manieren is lastig exact te bepalen, maar malafide registraties zijn verantwoordelijk voor significant deel van de misbruikmeldingen. Uit het COMAR-onderzoek bleek dat bij 62% van de meldingen om malafide registraties gaat. Gebruiken we de leeftijd van een domeinnaam dan komen we op een lager percentage. 22% van de gemelde domeinnamen is jonger dan 30 dagen. Je zou kunnen aannemen dat deze domeinnamen specifiek geregistreerd zijn voor malafide doeleinden. Het registeren van een domeinnaam voor malafide doeleinden heeft voor een crimineel onder andere het voordeel dat deze zo gekozen kan worden, dat hij op een bestaande domeinnaam lijkt. Zo zien we soms registraties van domeinnamen die trefwoorden als ‘digid’ of ‘betaalpas’ bevatten om meer gebruikers te verleiden hun bankgegevens in te vullen in neppe inlogformulieren. Ook hoeft een crimineel niet eerst een website te hacken voordat de phish of de malware geplaatst kan worden.
Tot nu toe controleren de leden van ons anti-abuseteam steekproefsgewijs handmatig verdachte registraties. We maken ook gebruik van securitymeldingen van Netcraft, die meldingen verzamelt van verschillende blocklists en rapporten van vrijwilligers.
Het probleem hierbij is dat het onze anti-abuse-experts veel tijd kost om verdachte registraties te onderzoeken en vast te stellen of deze geregistreerd zijn met malafide intenties. Zo kan het handmatig controleren of bijvoorbeeld een adres daadwerkelijk bestaat, of dat een bedrijf in het KvK-register ingeschreven staat soms wel 15 minuten of langer duren. Tegelijkertijd waren er in de periode januari t/m juni 2021 gemiddeld wel 2.580 nieuwe registraties per dag. Slechts 0.11% (531) van registraties uit januari t/m juni 2021 werd binnen 30 dagen genoemd door Netcraft. Een automatische aanpak is daarom nodig.
Een algoritme dat automatisch bepaalt of een registratie verdacht is zou heel nuttig zijn. Op deze manier hoeven onze anti-abuse-experts alleen écht verdachte registraties te onderzoeken en vast te stellen of deze met malafide intenties geregistreerd zijn. Ze verdoen dan geen tijd met het onnodig controleren van bonafide registraties. Ook kunnen we mogelijk al ingrijpen bij domeinnamen, vóórdat ze actief voor malafide activiteiten misbruikt worden. Of dat in de praktijk mogelijk is en welke aanpak hiervoor het meest geschikt is, willen we in dit artikel onderzoeken.
Frauduleuze webwinkels ontdekken vóórdat ze beginnenVerschillende partijen bedachten al een methode voor het identificeren van verdachte registraties. Begin 2021 publiceerde een van onze afstudeerders een scriptie hierover. Ook herkennen sommige collega-registry’s al verdachte registraties. Zo heeft EURid (.eu) een machinelearningsysteem en DNS Belgium (.be) gebruikt een scoresysteem op basis van statische regels waarmee ze verdachte registraties tegenhouden. Wij evalueren in dit artikel op wetenschappelijke manier, welke van deze 2 aanpakken voor ons het meest geschikt is en of er ook nog andere passende methodes bestaan. We gaan de komende tijd verder met dit onderzoek en komen er in een later blog op terug. Dat het verifiëren van registratiegegevens de laatste tijd extra aandacht heeft gekregen is geen toeval. Het voorstel voor de Network and Information Security 2-richtlijn (NIS2) eist mogelijk het verifiëren van alle gegevens van domeinnaamhouders. De details zijn nog niet uitgewerkt en het is nog niet duidelijk of en wanneer het verifiëren van houdergegevens verplicht wordt gesteld. Onze aanpak om alleen selectief de gegevens van verdachte registraties te verifiëren is daarom mogelijk een goede aanpak voor registry’s om al in de transitieperiode effectief malafide domeinnamen tegen te houden.
Voordat we aan de slag kunnen gaan om detectiemethodes te ontwikkelen moeten we eerst definiëren welke data we ter beschikking hebben. Omdat we verdachte registraties zo vroeg mogelijk willen herkennen gebruiken we alleen gegevens die bekend zijn op het moment van registratie, zoals de domeinnaam zelf en adresgegevens van de domeinnaamhouder. Informatie over de website en andere applicaties vallen buiten de scope. We vergelijken in deze blog 3 kandidaatalgoritmes.
De eerste kandidaat is een kennisgedreven scoresysteem op basis van statische regels. Een scoresysteem is eenvoudig te programmeren en de uitkomsten zijn gemakkelijk te interpreteren. Je moet de regels wel zelf onderhouden en een scoresysteem wordt snel complex als het aantal regels toeneemt. Voor onze kandidaat gebruiken we 8 regels die gebaseerd zijn op onze kennis en ervaring met malafide registraties. Een registratie krijgt een hogere score als deze aan meer regels voldoet. Hoe hoger de score, hoe verdachter een registratie is. Een voorbeeld van zo’n regel is het registratietijdstip, omdat we weten dat malafide registraties opvallend vaak geregistreerd worden op tijden die voor Nederland ongebruikelijk zijn. Een andere regel is gebaseerd op verdachte termen die we vaak terugzien in phishingdomeinnamen. Daarom verhoogt het systeem de score bijvoorbeeld als de term ‘digid’ in de domeinnaam voorkomt.
De tweede kandidaat maakt gebruik van een machinelearning (ML)-algoritme. Een ML-algoritme leert zelf complexe verbanden te herkennen en kan eenvoudig worden aangepast op basis van nieuwe training data. ML vereist wel meer ontwikkelwerk en monitoring. Ook zijn de uitkomsten niet altijd makkelijk te interpreteren. Hiervoor trainen we een random forest classifier. Een random forest is efficiënt, kan niet-lineaire verbanden herkennen en presteert goed op ongeziene data. We gebruiken 17 features als input. Deze features zijn gebaseerd op kenmerken die vaker terugkomen bij malafide registraties, zoals de domeinnaam zelf, de e-mailprovider van de houder en inconsistenties in houdergegevens. De features zijn verder strikt data-gedreven. Dit betekent bijvoorbeeld dat de kandidaat niet afhankelijk is van een lijst met verdachte woorden, maar verdachte en bonafide lettercombinaties zelf kan afleiden uit historische registraties. We trainen de tweede kandidaat eenmalig met behulp van weak supervision. De gedachte hierachter is kwantiteit boven kwaliteit: je gebruikt labels die je makkelijk kunt verkrijgen, terwijl je weet dat deze labels niet helemaal betrouwbaar zijn. In ons geval trainen we het algoritme met bonafide en malafide registraties. Onze definitie van malafide is: alle registraties van januari tot en met juni 2021 die binnen 30 dagen werden gemeld door Netcraft. In totaal nemen we 531 van deze malafide registraties op in de trainingset. Als bonafide registraties gebruiken we 531 willekeurige registraties uit dezelfde periode die niet binnen 30 dagen gemeld werden door Netcraft. We weten uit het COMAR-project dat deze definities niet perfect zijn, maar misschien zijn ze wel geschikt om op een eenvoudige manier een prima classifier te trainen.
Figuur 1: Procedure waarmee we de 2 machinelearning-kandidaten trainen. De oranje pijlen horen bij het weak supervision-proces en de blauwe pijlen bij active learning. (Klik om de afbeelding te vergroten.)
Ook de derde kandidaat maakt gebruik van machine learning met random forest, en ook hij gebruikt dezelfde 17 features. Het verschil met kandidaat #2 zit hem erin dat we voor kandidaat #3 active learning gebruiken om het random forest model te trainen (zie figuur 1, onderste helft) en zo het weak supervision-model van algoritme #2 iteratief verbeteren. Active learning is gestoeld op het idee dat analisten niet alle datapunten hoeven te labelen om een model te verbeteren, maar alleen de meest informatieve datapunten. De crux is hoe je bepaalt of een datapunt informatief is. In de regel werkt het goed om een diverse set van grensgevallen te labelen. Ook is het een uitdaging om de zwakke labels van de weak supervision-kandidaat slim te combineren met de labels van analisten. Krijgen beide labels bijvoorbeeld evenveel gewicht, of moeten de labels van analisten zwaarder wegen? Voor kandidaat #3 hebben we de active learning loop 3 keer doorlopen. Gedurende iedere iteratie labelden onze anti-abuse-experts gemiddeld 230 relevante registraties, die we vervolgens konden gebruiken als trainingdata. De exacte implementatie van onze active learning-methode valt buiten de scope van deze blog. De geïnteresseerde lezer verwijzen we graag naar dit artikel of, voor de zeer geïnteresseerde lezer, naar het boek ‘Human-in-the-Loop Machine Learning’ van Robert Monarch.
Nu we de 3 kandidaten hebben geïntroduceerd is het tijd voor de evaluatie. Een goed model herkent zo veel mogelijk verdachte registraties, maar markeert tegelijkertijd zo min mogelijk legitieme registraties als verdacht. Alleen dan kunnen we malafide registraties efficiënt tegenhouden zonder dat onze anti-abuse-experts te veel tijd kwijt zijn met het onderzoeken van bonafide registraties die ten onrechte zijn aangemerkt als verdacht (valspositieven). De maten die we hiervoor hanteren zijn sensitiviteit en specificiteit. Sensitiviteit is de kans dat een kandidaat een malafide registratie als verdacht aanmerkt. Specificiteit is de tegenhanger van sensitiviteit en staat voor de kans dat een algoritme een bonafide registratie als zodanig herkent. Om de specificiteit en de sensitiviteit van de kandidaten te evalueren gebruiken we 2 datasets (zie Tabel 1). De eerste dataset bevat malafide registraties tussen 1 november 2021 en 15 januari 2022 en is geschikt om de sensitiviteit te bereken. Deze domeinnamen zijn gebaseerd op Netcraft-meldingen en bevatten vooral phishes die zijn gevonden door securityonderzoekers en eindgebruikers. De tweede dataset bevat bijna 1.000 willekeurige registraties, die onze anti-abuse-experts handmatig hebben geëvalueerd. Hierdoor hebben we meer dan 920 registraties die bonafide zijn, en die we kunnen gebruiken om de specificiteit van de kandidaten te meten. 48 registraties hadden onze anti-abuse-experts verder willen onderzoeken en zijn gelabeld als ‘verdacht’. Tabel 1 toont een overzicht van de datasets. Het aandeel verdachte registraties gemarkeerd door onze anti-abuse-experts is iets hoger dan het aandeel malafide registraties ontdekt door Netcraft. Dat komt, omdat onze anti-abuse-experts mogelijk kritischer zijn en ook letten op andere vormen van domeinnaammisbruik dan Netcraft.
Bron | Doel | Label | Registraties | Unieke houders |
---|---|---|---|---|
Netcraft | Sensitiviteit | Bonafide | 0 | 0 |
Malafide | 150 | 118 | ||
Willekeurige registraties | Specificiteit | Bonafide | 920 | 695 |
Verdacht | 48 | 43 |
Tabel 1: Beschrijving van de 2 datasets waarmee we de kandidaten evalueren.
Elke kandidaat kunnen we configureren zodat hij zoveel mogelijk verdachte registraties vindt. Dit wordt door een drempelwaarde bepaald. Helaas blijkt snel dat er geen drempelwaarde is waarmee de kandidaten veel verdachte registraties herkennen (hoge sensitiviteit) maar ook weinig bonafide registraties als verdacht markeren (hoge specificiteit). Dit is ook terug te zien in figuur 2. Dit toont voor elk van de 3 kandidaten bij welke drempelwaarden (op de x-as) de sensitiviteit (op de y-as) het hoogst is. Op basis van figuur 2 kunnen we concluderen dat alle kandidaten een aardig deel van de malafide registraties uit de Netcraft-dataset herkennen. De weak supervision-kandidaat (rode lijn) presteert het beste voor de meeste drempelwaarden, maar het verschil met het scoresysteem (groene lijn) is minimaal. De losjes gedefinieerde labels van de weak supervision-aanpak zijn dus voldoende om een model te trainen dat goed presteert. Active learning (paarse lijn) behaalt de laagste score. De 3 feedbackloops met handmatig vastgestelde labels resulteren niet in een betere sensitiviteit. We denken dat dat komt omdat onze anti-abuse-experts niet alleen domeinnamen verdacht vinden die door Netcraft als malafide worden herkend maar ook op andere vormen van misbruik letten.
Figuur 2: Sensitiviteit (kans dat malafide registratie wordt herkend) berekend over Netcraft-meldingen. (Klik om de afbeelding te vergroten.)
In de grafiek staan ook gekleurde stippellijnen. Dit zijn drempelwaarden die op eerste oog voor een goede balans zorgen tussen sensitiviteit en specificiteit. Hierdoor kunnen we de kandidaten en datasets makkelijk met elkaar vergelijken. De sensitiviteit die de 3 kandidaten met de gekozen drempelwaarde behalen tonen we ook in tabel 2.
Kandidaat | Sensitiviteit (Netcraft) | Specificiteit (Willekeurige registraties) |
---|---|---|
Scoresysteem | 72,0% | 93,3% |
Weak supervision | 73,3% | 95,5% |
Active learning | 66,7% | 98,3% |
Tabel 2: Behaalde scores, gegeven een in figuur 2 gemarkeerde drempelwaarde.
Figuur 3: Specificiteit (kans dat bonafide registratie wordt herkend) berekend over een dataset met willekeurige registraties. (Klik om de afbeelding teprobleemstelling vergroten.)
De specificiteit van de modellen is af te lezen in figuur 3. De x-as toont wederom verschillende drempelwaarden en de y-as toont dit keer de specificiteit van een kandidaat. Merk op dat de grafiek begint bij een specificiteit van 75%, omdat de kandidaten de meeste bonafide registraties correct herkennen. De active learning-kandidaat is het meest specifiek. Met de gekozen drempelwaarde wordt 98.3% van de bonafide registraties als zodanig herkent. Het scoresysteem en de weak supervision-kandidaat scoren respectievelijk 95.5% en 93.3%. Op het eerste oog lijken deze cijfers dicht bij elkaar te liggen, maar als je ze projecteert op alle registraties is het verschil groot. De anti-abuse-experts willen 5% van de dataset met willekeurige registraties beoordelen. We kunnen hiermee berekenen dat we met de active learning-kandidaat dagelijks 42 foutpositieven aan foutpositieven verwachten, terwijl de weak supervison-kandidaat zich bij 109 registraties zou vergissen en het scoresysteem bij zelfs 165 registraties. De verschillen in absolute aantallen zijn flink, vooral als je bedenkt dat een anti-abuse-expert in sommigen gevallen zelfs 15 minuten of langer bezig is met het onderzoeken van een registratie.
De analyses hierboven laten duidelijk zien dat geen van de kandidaten de perfecte oplossing voor ons doel biedt. We moeten daarom samen met onze anti-abuse-experts een aantal vereisten definiëren, die niet alleen de technische kant raken, maar ook beleid. Ten eerste is het belangrijk te bepalen of een zeer sensitief systeem gewenst is, of dat een hoge specificiteit belangrijker is. In het eerste geval hebben we een grotere kans om alle verdachte registraties te vinden, maar ook een grotere kans dat we bonafide registraties als verdacht classificeren. Als specificiteit belangrijker is, kunnen we ervan uitgaan dat de meeste domeinnamen die de algoritmen vinden ook daadwerkelijk verdacht zijn. Alleen hebben we dan een hogere kans dat we verdachte domeinnamen missen. Ten tweede moeten we een keuze maken tussen een kennisgedreven scoresysteem of een datagedreven machine learning-kandidaat. Het scoresysteem is het makkelijkst te implementeren maar het minst flexibel omdat dit systeem zich niet automatisch aanpast aan nieuwe trends bij malafide registraties. De weak supervision-kandidaat is flexibeler, omdat het opnieuw getraind kan worden aan de hand van nieuwe weak-labels. De active learning-kandidaat is het meest adaptief, omdat we deze kunnen finetunen met behulp van de feedback loop. Het doorlopen van de feedback loop vereist echter wel een tijdsinvestering van ons anti-abuseteam. Ten slotte is het een kwestie van beleid om te bepalen of we verdachte registraties willen identificeren die tot nu toe niet in abusefeeds terecht komen of om malafide registraties sneller te vinden dan bestaande feeds. 56% van de malafide domeinnamen in Netcraft wordt binnen 24 uur gemeld en 81% binnen 3 dagen. Dit betekent dat onze anti-abuse-experts in het merendeel van de gevallen binnen enkele uren verdachte registraties zouden moeten beoordelen om sneller te zijn dan Netcraft. Dit zou grote invloed hebben op onze anti-abuse-afdeling.
We concluderen dat het identificeren van verdachte domeinnamen op basis van alleen registratiegegevens mogelijk is. Er is alleen nog geen kandidaat die er op alle fronten bovenuit springt. Dit komt door de relatief korte evaluatieperiode, maar ook omdat de evaluatie een aantal beleidskeuzes voor het voetlicht bracht. De komende periode gaan we daarom, samen met onze anti-abuse-experts, met technische verbeteringen, maar ook met beleidskeuzes, aan de slag. Denk bijvoorbeeld aan het toevoegen van nieuwe features zoals de reputatie van een houder. We blijven de prestaties van de verbeterde kandidaten evalueren, zodat we op termijn een kandidaat en drempelwaarde kunnen vaststellen om deze te integreren in onze registratie- en anti-misbruikprocessen. Met dank aan de anti-abuse-experts Nanneke Franken en Manouk van Schellen voor de feedback en voor hun hulp bij het evalueren van de kandidaten.
Artikel door:
Deel dit artikel