Spammers veranderen continu van aanpak om spamfilters te slim af te zijn. Een spamfilter moet dus bij de tijd blijven. De vorige keren legden we uit dat spamfilters leren van woordcombinaties en de opbouw van e-mail, maar ze houden nog veel meer data bij. Denk aan afbeeldingen en url’s in de e-mail of het gedrag van servers en IP-adressen. Het verzamelen en analyseren van data over de context van e-mails stelt spamfilters in staat om razendsnel nieuwe verbanden te zien.

 

Welke data worden opgeslagen?

 

Van iedere mail die onze spamfilters passeert slaan we real-time data op. Uit welk land komt de mail? Wat staat er in de onderwerpregel? Welke afmetingen heeft de bijgevoegde afbeelding? Zo zijn er nog vele andere contextuele gegevens die relevant kunnen zijn bij het detecteren van spam. Het lastige is, dat je van tevoren niet weet wat er gaat afwijken, en waarop je dus moet letten. Daarom verzamelen spamfilters domweg alle gevonden data in een grote vergaarbak.

 

Hoe worden de data opgeslagen?

 

Deze vergaarbak met grote hoeveelheden ongestructureerde informatie (‘big data’) is een zogenaamde NoSQL database. De data in deze database kunnen niet op relationele basis, maar volgens een key-value strategie worden opgevraagd en gecombineerd. Met een slim opgebouwde datastructuur is het dan mogelijk om real-time nieuwe verbanden te leggen.

 

Hoe worden de data geanalyseerd?

 

Het zou natuurlijk mooi zijn als deze ‘big database’ helemaal uit zichzelf patronen ziet en spam herkent nog voordat wij mensen iets kunnen vermoeden. Dat is voorlopig toekomstmuziek, maar met het invoeren van de juiste queries komen we een heel eind. Zo stellen we de database vragen als: hoe vaak komt hetzelfde bestandje voorbij, hoe vaak zien we dezelfde url, of hetzelfde IP-nummer in korte tijd? Vervolgens doet de statistiek het werk. Komt er ineens opvallend vaak een mail voorbij uit een bepaalde regio in Australië, of een afbeeldingen met exact dezelfde afmetingen, dan is dat waarschijnlijk geen toeval en hebben we te maken met spam.

 

Hoe leerzaam zijn big data?

 

Het verzamelen en analyseren van big data is een uitstekende methode om snel grote spamgolven te ontdekken, waarbij er ineens honderden dezelfde (of sterk op elkaar lijkende) mails per seconde afgevuurd worden. Het gaat dan om nieuwe ontwikkelingen die te snel gaan voor de andere filtermethodes. Wijzen de ‘big data’ op zo’n virusaanval, dan leert het spamfilter de andere methodes daarover bij.

 

Wordt alles bewaard?

 

Natuurlijk zijn lang niet alle verzamelde data relevant. En oude data al helemaal niet; spam die drie dagen geleden verstuurd is wordt vandaag allang herkend en tegengehouden (een half jaar geleden is in de spambusiness ancient history!). We stellen dan ook voor elk type data een maximale bewaartermijn in, waarna het spamfilter die data mag ‘vergeten’. Zo mag het data over bijvoorbeeld een verdachte afzender na twee uur opruimen, maar houden we data over IP-adressen wat langer vast.

 

Spam die over een periode van meerdere weken hooguit een paar keer per dag verstuurd wordt, halen we er met deze ‘big data methode’ niet uit. Maar gelukkig bieden daarbij de andere methodes weer uitkomst. Want als we alle data zouden blijven opslaan, zou het een hele dure business worden!

Share This

Share this post with your friends!