test
Nieuws

Fake webshops opsporen met PU learning

28 september 2021

Senne Batsleer deed dit jaar een Master-na-Master Artificial Intelligence aan de KULeuven. Hij maakte een eindwerk over valse webshops opsporen in het .be-domein met machine learning:

The detection of fake webshops in the .be zone”

Wat was het doel van je thesis?

Senne: ‘Het doel van de thesis was om het opsporen van fake webshops in de .be-zone te verbeteren. Online shoppen wordt steeds populairder, ook in België. Volgens een studie van Comeos deed 72 procent van de Belgen online aankopen in 2020. Helaas zijn er ook frauduleuze webshops die namaakgoederen verkopen of zelfs helemaal geen goederen afleveren.’

‘DNS Belgium wil de .be-zone zo veilig mogelijk maken en tracht zulke fake webshops zo snel mogelijk offline te halen, nog voor ze slachtoffers maken. Er zijn meer dan 100.000 .be-websites die een webshop hosten. Die allemaal manueel verifiëren is dus onbegonnen werk.

Daarom spoort DNS Belgium sinds 2019 fake webshops op met artificiële intelligentie. Ondertussen trok DNS Belgium al meer dan 3.900 domeinnamen van fake webshops in. Bij alle websites die ze screenden, bepaalden ze features uit de HTML-content maar ook uit de registratiegegevens van de bijhorende domeinnamen. Op basis van die dataset trainden ze dan een Random Forest classifier.’

Dat klinkt goed. Waarom was jouw hulp dan toch nodig?

Senne: ‘Hoewel dit inderdaad veelbelovende resultaten zijn, is de strijd tegen frauduleuze webshops nog niet gestreden. Om een supervised classifier te evalueren maken we gebruik van een testset. Die bevat voorbeelden die we niet gebruikten tijdens het trainen maar waarvan we wel zeker weten of het valse webshops zijn of niet. De Random Forest classifier behaalt een hoge precisie en een goede recall op de testset. Maar DNS Belgium stelde vast dat de classifier in realiteit steeds meer moeite kreeg om nog nieuwe valse webshops te ontdekken en vooral veel valse positieven opleverde.’

Kan je dat even toelichten, Senne?

Senne: ‘Precisie is het percentage van fake webshops dat de classifier vindt en die ook effectief fake bleken te zijn. Bij valse positieven gaat het wel degelijk om betrouwbare websites die de classifier toch als vals markeert. Recall is het percentage van fake webshops dat de classifier effectief als fake webshop beschouwt. Het is dus in zekere zin de omgekeerde redenering van precisie.’

Waarom denk je dat de Random Forest classifier na verloop slechter presteerde op reële data?

Senne: ‘Ik zie drie mogelijke verklaringen: 

  1. Ten eerste zou het kunnen dat de cybercriminelen niet langer .be-domeinnamen gebruiken omdat ze weten dat wij ze trachten op te sporen.
  2. Een tweede mogelijkheid is dat de gelabelde dataset onvoldoende representatief is voor de volledige .be-zone.
  3. Ten slotte kan het dat cybercriminelen hun tactiek hebben aangepast en de classifier onvoldoende generaliseert om deze nieuwe vormen van fake shops te herkennen.

Hoe ben je aan deze opdracht gestart?

Senne: ‘Uiteraard heb ik me eerst ingelezen. Daarna heb ik de gelabelde dataset en de features die DNS Belgium gebruikte voor de bestaande classifier grondig geanalyseerd. De distributies van het aantal afbeeldingen, het aantal interne links en het totale aantal html-tags op de websites deden me vermoeden dat onze dataset clusters bevat van zeer gelijkaardige fake webshops. Het is mogelijk dat de classifier enkel deze clusters onthoudt en dus onvoldoende generaliseert.’

‘Indien deze clusters verdeeld zijn over de training en de testset, zou dit ook kunnen verklaren waarom de classifier zo goed scoort op de testset. Om overfitting op deze clusters te vermijden, heb ik eerst de fake shops geclusterd en ervoor gezorgd dat tijdens de cross-validatie alle domeinen uit dezelfde cluster in dezelfde fold terechtkwamen. Op die manier trainen we steeds op een verzameling van clusters terwijl de validatie gebeurt op een andere verzameling van clusters.’

'In de praktijk hebben we alle domeinen in de .be-zone gebruikt waarop we e-commerce-technologie vonden.’

Leverde dit het gewenste resultaat op?

Senne: ‘Ja. Op basis van de silhouettescore kwam ik uit op 152 clusters. Die groepeerden we zodanig dat we uitkwamen op tien folds van ruwweg dezelfde grootte. Daarna heb ik de negatieve voorbeelden random toegevoegd aan de tien folds en opnieuw een Random Forest classifier getraind. Na tuning van de hyperparameters zakte de recall op de testset van 96% naar 75% terwijl de precisie steeg naar 100%. Dit resultaat bevestigt dat kleine wijzigingen aan de fake webshops problemen kunnen opleveren voor de huidige classifier, die 1 op de 4 nieuwe soorten fake webshops niet langer detecteert.’

Wat heb je nog geprobeerd om de classifier te verbeteren?

Senne: ‘De belangrijkste bijdrage van mijn thesis was wellicht de overstap van een supervised machine learning-techniek waarbij alle trainingsvoorbeelden een label hebben (fake of niet fake) naar een techniek die men Learning from Positive and Unlabeled Data of kortweg PU Learning noemt.’

‘Bij PU learning heb je geen negatieve labels nodig. De mogelijkheid om domeinen toe te voegen met een onbekend label laat ons toe om het aantal domeinen waarop we trainen drastisch op te voeren. In de praktijk hebben we alle domeinen in de .be-zone gebruikt waarop we e-commerce-technologie vonden.’

'In de veelgebruikte Python-libraries zijn er nog geen implementaties van PU learning methodes. Daarom moest ik mijn implementaties baseren op code uit research papers. Geïnspireerd door recent onderzoek rond fake webshop detectie heb ook ik een aantal extra features geïmplementeerd.' 

Hoe heb je de verschillende PU learning methodes vergeleken?

Senne: ‘Ik heb ruwweg 80% van de niet-gelabelde data gebruikt voor training en de overige 20% voor testing. Om te kunnen inschatten hoe het model kan generaliseren naar veranderende tactieken van de fake webhops, heb ik de 20.000 meest recente domeinen gebruikt als testset en de oudere domeinen voor training.’

‘Voor elke methode heb ik de hyperparameters getuned en de 500 domeinen met de hoogste score manueel geverifieerd. Hierbij viel meteen op dat het zelfs voor een oplettende klant niet altijd makkelijk is om een fake shop te onderscheiden van een legitieme webshop of een webshop die nog in opbouw is. Van de drie PU learning classifiers die we getraind hebben, bleek Robust Ensemble SVM in staat om de meeste fake webshops te detecteren: van de 500 websites die het model als verdacht aanduidde waren er uiteindelijk 58 die ik zelf ook als frauduleus beschouw.’

Is dat een grote verbetering ten opzichte van de supervised learning aanpak?

Senne: ‘Dat is een zeer relevante vraag. Omdat we verschillende datasets gebruiken is het niet eenvoudig om beide te vergelijken. PU learning presteert vergelijkbaar op het vlak van precisie. Op het vlak van recall lijkt het erop dat PU learning nieuwe soorten fake shops iets beter generaliseert, maar er zijn ook fake webshops die gedetecteerd werden door Random Forest en niet door PU learning. Enkel PU learning gebruiken is dus niet dé oplossing.

Hoe kan DNS Belgium hier verder mee aan de slag volgens jou?

Senne: ‘DNS Belgium moet haar onderzoek uitbreiden naar de volledige .be-zone en niet beperken tot de niet-gelabelde data. Deze dataset bevat namelijk enkel domeinnamen waarop Wappalyzer e-commerce-technologie vindt. Wappalyzer is echter niet onfeilbaar. Er glippen dus nog wat fake webshops door de mazen van het net. DNS Belgium moet dus leren van de volledige .be-zone en niet enkel van de webshops. Een alternatief is om te trainen op de webshops en vervolgens predicties te maken op de volledige zone.'

'Nog een alternatief is om te trainen op de volledige zone (dus niet enkel op de webshops). Hiervoor is PU learning dan waarschijnlijk niet ideaal, aangezien het percentage van fake webshops dan zeer klein wordt. Beter is het dan misschien om over te schakelen op semi-supervised learning (met ook negatieve labels). Active learning zou hierbij zeker interessant zijn: in plaats van willekeurige domeinen te labelen, geeft de classifier dan zelf aan welke domeinen het meest informatief zouden zijn.'

'Ik denk echter dat de grootste verbetering zou zijn om de recent gedetecteerde fake webshops toe te voegen aan de trainingsdata en regelmatig te hertrainen. Omdat het aantal gevonden fake webshops erg beperkt is, denk ik dat elk extra datapunt een verbetering kan teweegbrengen.’

Met dit artikel ondersteunen wij de Duurzame Ontwikkelingsdoelstellingen van de Verenigde Naties.