Op weg naar een veiliger internet met machine learning

4 uitdagingen waaraan we de komende tijd werken

Het onderzoek van SIDN Labs richt zich op het verbeteren van de veiligheid en weerbaarheid van het internet. Machine learning is een techniek die hieraan een belangrijke bijdrage kan leveren. In deze blogpost bespreken we kort wat machine learning is en introduceren we 4 uitdagingen waaraan we de komende tijd werken. Dit doen we het liefst in samenwerking met bijvoorbeeld universiteiten, bedrijven en andere topleveldomeinen (TLD's). We ontvangen dus graag je feedback en gaan met plezier in gesprek over het verwezenlijken van deze ambitie.

Wat is machine learning?

Machine learning is gericht op het automatisch extraheren van regels en patronen uit grote hoeveelheden data. De techniek kan bijvoorbeeld gebruikt worden voor een botnetdetector. Een botnetdetector analyseert het netwerkverkeer van Internet of Things (IoT) apparaten. Een apparaat wordt automatisch geblokkeerd als het DDoS-verkeer verstuurt als het onderdeel is geworden van een botnet. Een botnetdetector heeft regels nodig om normaal netwerkverkeer van DDoS-verkeer te onderscheiden.

Er zijn 2 manieren om deze regels te bepalen (zie figuur 1). De traditionele manier is om regels kennis-gedreven te programmeren. Een cybersecurity-expert gebruikt dan zijn kennis over het netwerkverkeer van botnets om de regels van een detector te bepalen. Daarnaast is het mogelijk om regels op een data-gedreven manier te definiëren. Een algoritme kan bijvoorbeeld automatisch de eigenschappen van botnetverkeer herkennen op basis van historisch verkeer dat een cybersecurityexpert als normaal of verdacht heeft geannoteerd. Deze manier van regels extraheren vormt de basis van machine learning. Hierbij noemen we de geannoteerde datapunten voorbeelden. De regels die hieruit worden geëxtraheerd vormen het model. Voldoende voorbeelden zijn een voorwaarde voor een goed model.

Classical programming

Figuur 1a: Kennis-gedreven programmeren*

machine learning

Figuur 1b: Data-gedreven programmeren*

De afgelopen jaren zijn er veel machine learning doorbraken geweest. Denk bijvoorbeeld aan AlphaGo van DeepMind die het spel Go beter speelt dan de menselijke kampioen of aan slimme assistenten zoals Google Assistent en Siri. Deze doorbraken zijn het resultaat van een toename in het onderzoek naar betere algoritmes. Ook is steeds meer data beschikbaar waarop deze algoritmes toegepast kunnen worden. Een uitgebreide uitleg over machine learning vind je in het tweede hoofdstuk van het whitepaper Tijd voor implementatie van verantwoorde datadiensten van TNO en het boek Learning From Data.

Machine learning bij SIDN Labs

Bij SIDN Labs passen we machine learning toe om een bijdrage te leveren aan de veiligheid en weerbaarheid van het internet. Machine learning is daarbij vooral geschikt voor vraagstukken waarbij regels niet handmatig bepaald kunnen worden terwijl er wel voorbeelden voorhanden zijn.

We hebben 4 van zulke vraagstukken geïdentificeerd waaraan we de komende periode werken. De eerste 3 richten zich op het terugdringen van domeinnaammisbruik. De laatste uitdaging draagt bij aan de bescherming van het internet tegen grootschalige incidenten, zoals DDoS-aanvallen.

Uitdaging 1: Detectie van nepwebwinkels

De detectie van nepwebwinkels staat al een paar jaar op de agenda van SIDN Labs. Onlangs presenteerden we een poster over ons werk op ICT.OPEN2019. Nepwebwinkels zijn een probleem, omdat deze shops geen producten leveren, namaakproducten leveren of creditcardfraude plegen. We worden gelukkig steeds beter in het detecteren van nepwebwinkels, maar zien ook ruimte voor verbetering.

We zien dat oplichters niet stilzitten en de webwinkels zo nu en dan aanpassen. Dit willen we opvangen door een adaptief detectiemodel te ontwikkelen. Dit betekent bijvoorbeeld dat we een systeem willen inrichten dat detectiemodellen automatisch evalueert en her-traint. We verwachten daarnaast dat we veranderingen sneller kunnen herkennen als analisten bepaalde webwinkels beoordelen. Het is hierbij een uitdaging om te bepalen welke beoordelingen het beste resultaat opleveren (active learning).

Ook willen we de accuratesse van onze detectiemodellen verhogen. Door meer samen te werken met andere partijen krijgen we een breder perspectief op het probleem en voorkomen we blinde vlekken. Een pilot waarbij creditcardprovider ICS Cards gerapporteerde shops aanleverde en feedback gaf over gedetecteerde webshops is een goed voorbeeld van zo'n samenwerking. In de toekomst willen we collega-TLD’s en registrars betrekken zodat we van elkaar kunnen leren en nepwebwinkels effectiever offline halen. Tenslotte is het relevant om te onderzoeken hoe effectief we nepwebwinkels bestrijden en welke (financiële) schade we hiermee voorkomen, bijvoorbeeld in samenwerking met de Autoriteit Consument & Markt (ACM).

Uitdaging 2: Nog beter begrip van .nl-zone

Bij SIDN weten we veel over hoe de .nl-zone gebruikt wordt (zie bijvoorbeeld ons marktonderzoek of het dashboard stats.sidnlabs.nl). We hebben alleen weinig inzicht in de verschillen tussen sectoren als het gaat om de beveiliging van domeinnamen. Dit komt omdat bedrijven lang niet altijd hun KvK-nummer opgeven als ze een domeinnaam registreren. Hierdoor is een direct koppeling tussen domeinnamen en sectoren (zogenaamde SBI-codes) niet mogelijk.

Bij SIDN Labs werken we aan een oplossing voor dit probleem door sectoren te bepalen met behulp van tekstclassificatie. Hierdoor kunnen we bijvoorbeeld de impact van DDoS-aanvallen beter inschatten. Een eerste versie van ons classificatiemodel wijst in 65% van de gevallen de juiste hoofdsector toe (uit een lijst van 12 mogelijke sectoren). Dit is een prima beginresultaat omdat de hoofdsectoren grillig zijn en soms niet zo intuïtief. Websites van drukkerijen en uitgeverijen vertonen bijvoorbeeld veel overlap. Een drukkerij valt echter in de hoofdsector 'Industrie', terwijl uitgeverijen vallen onder 'Informatie en communicatie'.

In de toekomst willen we onderzoeken in hoeverre we informatie over verschillende niveaus kunnen gebruiken om accuratesse te verhogen en domeinnamen dieper te segmenteren. We denken dat dit haalbaar is door de snelle ontwikkeling van tekstanalysemethodes en beschikbaarheid van voorgetrainde neurale netwerken zoals ULMFiT en ELMo.

Uitdaging 3: Detectie van gehackte websites

Websites worden soms gehackt waardoor ze in handen komen van kwaadwillenden. Deze websites vormen een risico voor nietsvermoedende internetters, bijvoorbeeld omdat ze machines van gebruikers kunnen infecteren met malware. De detectie van domeinnamen waaraan een gehackte websites gekoppeld is, is op dit moment reactief. Dat wil zeggen dat onze operations teams pas actief worden nadat ze een melding hebben ontvangen.

De komende periode willen we onderzoeken hoe we machine learning in kunnen zetten om domeinen met gehackte websites proactief te detecteren. De eerste stap is het zoeken naar patronen bij domeinnamen die in het verleden zijn gecompromitteerd. De ENTRADA-, OpenINTEL- en DMAP-databases zijn hierbij een voor de hand liggend startpunt. Het detecteren van gehackte websites sluit aan bij een onderzoek waarbij we proberen te herkennen of een domein met malafide intenties is geregistreerd of later is gehackt.

Er is een aantal zaken dat detectie van gehackte domeinen lastig maakt. We vermoeden bijvoorbeeld dat het tijdsaspect van belang zal zijn. Daarnaast zijn de signalen grillig. Een piek in het aantal DNS-lookups door resolvers van internetproviders kan bijvoorbeeld het resultaat zijn van een SPAM-campagne, maar het kan net zo goed verklaard worden door een populaire tweet. Het duiden van patronen vereist geavanceerde signaal- en patroonherkenning, maar ook samenwerking met andere partijen. De koppeling met aanvullende databronnen van social media, registrars of internetproviders kunnen namelijk helpen bij aan het duiden van signalen.

Uitdaging 4: Detectie van verdacht IoT-verkeer

Ons SPIN-project richt zich op de beveiliging van thuisnetwerken. Een belangrijk onderdeel is het tijdelijk blokkeren van verdacht netwerkverkeer van Internet of Things (IoT) apparaten, zodat ze niet kunnen deelnemen aan een DDoS-aanval. Verdacht verkeer onderscheiden van normaal verkeer is een actief onderzoeksgebied waarbij machine learning mogelijk kan helpen.

Het afgelopen jaar zijn er een aantal publicaties verschenen waarbij onderzoekers zogenaamde autoencoders gebruiken om afwijkend IoT-netwerkverkeer te herkennen. Autoencoders zijn speciale neurale netwerken die datapunten kunnen samenvatten, maar moeite hebben met het samenvatten van een afwijkend datapunt. Deze eigenschap maakt het mogelijk om afwijkend --- en daardoor mogelijk verdacht --- netwerkverkeer te herkennen. We gaan onderzoeken in hoeverre we deze manier van anomaliedetectie kunnen toepassen bij SPIN. Dit is een uitdaging, omdat er nog weinig realistische trainingsdata voorhanden is en de detector efficiënt moet zijn omdat de SPIN-apparatuur vaak weinig rekenkracht heeft.

Daarnaast is privacy een belangrijk uitgangspunt van SPIN. Dit betekent dat SPIN alle data lokaal verwerkt en geen gegevens verstuurd naar derden. Tegelijkertijd zou het delen van data bijdragen aan een anomaliedetectie model. Het gezamenlijk leren van een model met de garantie dat gevoelige trainingsdata privé blijft is daarom een interessante en relevante uitdaging. Deze uitdaging sluit aan bij ander onderzoek naar een detector die gebruik maakt van federated learning en onze visie over collectieve beveiliging.

Gezamenlijk machine learning onderzoek

Naast de 4 machine learning uitdagingen die we hebben besproken zijn er uiteraard ook andere toepassingen te bedenken die bijdragen aan een veiliger en weerbaar internet. We zijn erg benieuwd naar jouw ideeën hierover.

Daarnaast staan we open voor samenwerkingen, bijvoorbeeld met andere disciplines. Heb je suggesties voor een relevante databron, een andere invalshoek, of waardevolle machine learning kennis? Mail me dan via thymen.wabeke@sidn.nl.

*Bron figuren: Deep Learning with Python (François Chollet) 

Downloads