Melting the Snow Using Active DNS Measurements to Detect Snowshoe Spam Domains
Nee, we zijn aan het starten. Ik zal je laten zien. Dit is Olivier, hij is een studeatuur. Hij is interesserend in meldingen en dat is alles waarom ik van zijn abstracte begrijp. Nou, hopelijk kan ik het uitleggen. Bedankt. Welkom bij mijn talk Melting the Snow. Het is over detecteren snowshoer spams met actieve DNA-measurements. Eerst een beetje van een introductie. Het is namendexas, mijn naam is Olivier. Ik ben een PSD-student op de Universiteit van Twente. En de werk dat ik hier zal beperken... is door mijn master thesis, waarin het eind van augustus al vorig jaar is voldoende. En het is gemiddeld als een papier naar normen. En het is in deze tijd accepteerd. Ik wil de volgende half uur nemen... om te presenteren wat ik during dat tijd heb gedaan. Eerst een beetje van background informatie. Ik denk dat ik niet moet uitleggen wat de DNA is. Ik moet uitleggen wat actieve DNA-measurements zijn. Met de DNA-measurements kun je in twee manen, of alweer twee manen, passief en inactief... In passief, je kijkt naar wat uit de netwerk van de DNA-request is... en wat soort antwoorden je krijgt. En in actieve DNA-measurements... kun je actief een autoritieve naamwerker kweren... voor de DNA-convangering. Nu, de term snowshoe-spam, dat kan minder voor jou zijn. Ik ben zeker dat je het type van spam is. Maar het is hard te detecteren van een type van spam. De idee met snowshoe-spam is dat de spamer... niet een 1e of 1.000 maatjes van een 1e host zet... maar dat het uitleggen is van veel hosten. Zodat het een 1e e-mail zet van 1.000 hosten. Dat maakt die hosten individueel hard te detecteren. De oplossing is dat... spammers willen gebruiken... zoveel best practice e-mail en best practices... als het mogelijk is, omdat dat... de kans van je ingewikkeld is. Nu, het sender policy framework... is zo'n e-mail best practice. Het betekent dat alleen jouw e-mail servers... de e-mail voor jouw domain is. Maar dit heeft... een consequentie... dat spammers moeten registeren in een e-mail... en het configureren. En omdat ze willen kunnen senden e-mail... van veel hosten, hebben ze ook een e-mail... met veel records. En misschien kunnen we... detecteren zo'n configuratie. Nu, sinds dit was... academic research... er had te be a research question. Our main research question... was based on the hypothesis... that the use of active DNS measurement...  is a good way to detect... snowshoesband domains. To validate this hypothesis, we've come up... with the following research questions. First, how can we detect... snowshoesband domains... through the use of active DNS measurements? Secondly, how can we automate the process? And thirdly, what are the advantages... of this approach over other approaches? And that we quantify in two ways. First, in how large is the time advantage... that we can gain. And secondly, how much more spam... can we block because of this? Now, to summarize this for the paper... we've taken the... taken a little bit... taken the research question... what is the advantage of proactive... snowshoesband domain using DNS data? Nou, voor een overvieuw... van wat ik heb gedaan... ik wil jullie imaginen... dat jullie in een ruimte zijn... en in deze ruimte is er een desk. Op deze desk is er een zwarte box. Aan de top van deze zwarte box... is er een red LED... en een grotere LED. Je assumee dat red is bad... en grotere is goed. En dan... Sorry, wat? Misschien. Op een van de plekken is er een slot voor een cube. En als je op de ruimte kijkt... zie je dat er naast de desk... er is een box... een box met cubes in. Je neemt een van de cubes uit... en je ziet dat er een domainname is opgemaakt. En je ziet ook dat de zijkant van de cube... precies dezelfde als de input voor de zwarte box. Dus je maakt het. De grotere LED ligt op. Je neemt een andere cube uit de box... en je maakt het in. De grotere LED maakt het op. Als je dit doet... je ziet dat er een notepad op de desk is... omdat de domain die je hebt geïnterreerd... die red LED heeft gegeven... een notepad opgemaakt. Je blijft deze praktijk... tot de box van de domain is opgemaakt... en je list van... de list van domain is... volledig op de notepad. In de periode... we hebben nu wat ik heb gedaan... tijdens mijn masterassignement. Maar wat is er eigenlijk onderaan? Dus dit zwarte box. Het is eigenlijk een machine-learning brain. Dit betekent dat, zoals een mensbrain... het moet een training hebben... om te predicteren of er iets... moet zijn als het een red LED of groen LED ligt. In de box van de domain... moet het ergens komen.  Het komt uit de open-intel-platform. We gaan meer over dit later. Maar ik kan je vertellen... dat de open-intel-platform... actief van de DNS-measurements... voor een groot deel van registreerd domainname. In de notepad... is het eigenlijk... een real-time black hole list. Een RBL... is een DNS-based manier... om een blacklist te hosten. Waarschijnlijk doe je... met al die domains... of met al die domains... die op je blacklist zijn... resolvabel onder de adres van je RBL. Zo kan je een derde partij checken... of het domain op je blacklist is... om de domain te brengen... op de adres van de RBL... om het te proberen. De RBL is in de servenmailfilter... gegeven. De servenmailfilter is een spamfilter... run door ServNet. ServNet is de... collaborative ICT-organisatie... voor Dutch education en research. ServenNet handelt... de e-mail voor veel van hun... de universities en academies. Dit betekent dat veel... e-mail door hun filter gaat... en ook veel spam. In hun spamfilter... de RBL is in zo'n manier... die e-mailen in de RBL... zijn gezien... maar het maakt de score niet. De score maakt... als een message een spam is... of het allemaal geleden is. De score is based... op verschillende testen... en de positieve test... het score maakt. De servenmailfilter-operatoren... recommend de e-mailen te gebruiken... om een e-mail-spam te marken... met een score van 5 of meer... en om het te delen als de score... 10 of meer wordt. Wanneer de universities... deze e-mailen veranderen... steken we... deze presentatie... en in de papier. De stevigen... de opene e-mailen... om het in de black-box te handelen... om het in de RBL... automatisch elke dag gebeurt... om de RBL te zorgen dat het... op de date en vres is. Een beetje dichter op de opene e-mailen... een beetje te ver... zoals ik heb gezegd... is het de zorg van onze data. De platform speelt een aantal... fixe squares... om meer dan 60% te registreren... op de maandnames. De a-recces, de quad-a-recces... de mx-adresses... ns-adresses... etc. Deze data is dan... op een dupe cluster... en maakt het accessibles via in BALA... een SQL-like interface. De box van deze cubes... is wat we het data zetten. Elke cube kan... maar wat zijn die cubes? Elke cube kan... in de kleine cubes... wat we proberen features. Humans like to think in text... whereas machines like to think in numbers. Dit is de reden... dat we... het basic...  de source data... in numbers... bijvoorbeeld in IP addresses... of in IP addresses... in the same subnet... in order to get to those numbers... computers like. We have very simple features... that simply count the number of occurrences. We also have a couple of features... which actually parse the text records... for their SPF records. And all of these features combined... then forms one of these cubes. And based on these features... the machine learning brain... makes its prediction. We've made two types of data sets... labeled and unlabeled. The unlabeled data sets are used... in the daily detection... and essentially we label them... themselves by the classifier... and the labeled data set... which is used for training purposes. We do not process all of the domains... that would be crazy. In the dot com zone alone... there are more than 2 million domain names. First we filter out the domains... using the technique... called the long tail analysis. Now what is the long tail analysis? As you can imagine with the name... long tail... Eh... Hold on. Ja. To explain what the long tail analysis is... I want you to imagine that this bird here... is the DNS ordered by... ordered by the number of records... in the domain. So in the big are domains... with only a few records... and in the tail there are domains... with many, many records. The name already says... we're looking at the long tail. We do so by filtering out... domains at a certain threshold. Thresholds from very conservative... the 99.9 percentile... to less conservative... 97 percentile. We stop at 97 percentile... because the domains that you end up with... grows exponentially... and we want to be able to do... our daily detections in a... timely manner. For the domains exceeding these thresholds... we compute the features... and at this point we have a data set. For the training purposes... we label the data set... by checking if the domain is listed... on a blacklist. For the training purposes... we actually go even a step further... by saying... we take only the... blacklisted domains... and we match them... with an equal number of domains... from the Alexa top million list. While this is no guarantee... that the domains that are not listed... are actually benign... the chance of them being benign... because they are on the Alexa list...  is a lot higher than... simply those domains that were previously unlisted... in the original data set. Now this training data set has been used... to confirm that there is indeed a difference... between normal domains... and blacklisted ones. As you can see behind me... you see two cumulative distribution functions... of these domains. And... as you can see in the number of A records... there is a clear difference between normal domains... and blacklisted ones. At... 75% there is a gap of 11 records. This means that blacklisted domains... often have much more records... than normal domains. And the same you can see in the MX distribution... where the gap is a lot wider... at 98%. Onto machine learning. Now that we know that there is a difference... we can try to detect this... in a large scale. We do so by machine learning. We could also do this... by making a signature... and trying to match domains to that signature. However... there's a main downside of this... is that if the spam chat trends change... you need to make a new signature. And with machine learning... you can simply retrain your classifier... and you're done. Now I mentioned training of a classifier a lot... but what do I mean with that? Just like you and I had to learn equations in school... a machine learning classifier... needs to learn what makes a blacklisted domain... a blacklisted domain and what not. It does so... like many of us, but trial and error. It makes a model, it makes a prediction... based on that model... and if it guesses correctly... it's fine. If it guesses incorrectly... the model is adjusted... and the circle begins again. Now at the end of the process... you hope that the model it comes up with... is accurately enough... to tell... if something should be blacklisted or not. Now there are many algorithms... to build these kind of models... but for my master assignment... I've trained and evaluated a great number of them. However, for the full details... I refer to the paper... and in the sake of gravity... I go straight to comparing the classifier types. However, let me first explain... how these classifiers are rated. In the evaluation data set... there are spam domains and ham domains... normal domains. A classifier can guess correctly or incorrectly.  If it guesses a spam domain correctly... it's a true positive... if it guesses incorrectly it's a false negative... and for the ham domains it's the same thing... if it guesses incorrectly it's a false positive... and if it guesses correctly... it's a true negative. So let's skip to top 3. More than 13,000 domains... are correctly classified as spam. Nummer 2 does even more... and number 1 does about 13,500 domains... that's great. But wait a minute... is that the classifier that we want? Let me think back to the false positives. Normal domains being marked as spam domains. This could mean that your... important benign email gets marked as spam. I'm sure you don't want that. So this is the reason that we... rate our classifiers by the precision metric... because it's more closely related... to the number of false positives. If we include the precision metric... and sort on it... you already see a completely different picture. We've chosen the added boost classifier... as our classifier of choice... and tried to improve it... and we succeeded. If we compare that one to the support factor machine... which was the previous number 1... you see that the number of true positives may be halved. However, the false positives have also greatly been reduced. As mentioned earlier, we've made an RBL... out of our to host our results. Our everyday we would retrieve a data set... from the open Intel platform... and filter the domains handed over to our classifier... and those domains that it was of the opinion... should be blacklisted, we put on blacklist. We compare these to several other blacklists... to see if we could detect them earlier than they could. We have a couple of categories... in which we can put these domains. This first category accounts for about 29,000 domains... which have been detected... and blacklisted in less than two days. The second category is more interesting... because here the difference between detection and blacklisting... is at least two days or more... and it counts for about 2,000 domains. The last category is not visible here... because it counts domains that have been detected by us... but have not been blacklisted. If we zoom in to the detection advantage... we can see that we still have 928 domains... that have been detected 60 days before being blacklisted.  Sinds die resultaten zijn een beetje ouder... omdat van mijn masterassigment gedaan is. Als we kijken naar de staten... zijn we al meer dan 180 dagen... voordat ze blacklisted zijn. Deze zijn de mens in totaal. Deze zijn de andere drie category. Zoals we hebben gezegd, is de RBL... in een serve-mailfilter geplaatst. We hebben eerst geplaatst om te zien... of de detecties die we hebben gebruikt. Maar we zouden een meer interessante ingang maken van onze resultaten. Dit grap is een van de mooiste grapjes... van deze presentatie, of in mijn geval. Op de X-acces zijn de observatiedagen... voor elke dag dat we een e-mail hebben geplaatst... van de serve-mailfilter... die de RBL vertrekt... we zouden de domainen in de e-mail... en de score van de domainen vertrekken. En op de Y-acces zijn er een paar domainen... om de grap te maken wat kleiner. Als we de score hebben geplaatst... zie je de hoge scores in red... die er vijf hebben gecapt... en de blauwe kleuren zijn... wel, de hoge scores. Als we de detecties... we kunnen dan weer maken... die drie categorieën die we hebben gehad. In deze eerste categorie... waar de detectie verschillen is... minder dan twee dagen... dit accountt voor 20 domainen... 14 van die hebben een average score... van buiten vijf... vijf of meer... en dat accountt voor... about 1200 e-mails. De tweede categorie... is de categorie waar de verschillen... tussen detectie en blauwlist... is twee dagen of meer. In deze categorie... zien we 29 domainen... 21 van die hebben een average score... van vijf of meer... en dat accountt voor... about 450 e-mails. En de laatste categorie... dit keer is het visiebel... is de categorie die... is beperkt alleen. Dat accountt voor 64 domainen... 39 heeft een score van vijf of meer... en dat accountt voor... about 1000 e-mails. En dat accountt voor... about 1000 e-mails. 450 van die hebben... een score van vijf of meer... maar dat is eigenlijk... het interessantste. Dat is de markt van SPAM. Het is eigenlijk... de andere 633... die hebben een score van vijf... waar we een verschil kunnen maken... als we de score van de RBL... aansluiten. En dat... is de vraag... waar we... een score van vijf of meer... een score van vijf of meer... als we de score van de RBL aansluiten. En dat accountt voor... 52 unieke domainen... en alleen 13 van die...  hebben nooit... in een e-mail score... over vijf... dat accountt voor 31 e-mails... en dus dit kan... worden gezien als false positiefs. Nu, de boel van 633 e-mails... is gebruikt om... te zien hoeveel meer SPAM we kunnen blokken... als we de score van de RBL aansluiten. En twee punten... zouden jullie al... 300 e-mails als SPAM bepaald worden. En als we de score... natuurlijk zal er... veel meer messages... bepaald worden als SPAM. Maar tijd gaat op. En nu kunnen we zien... dat de deel... overdubbeld is. Nu, voor de conclusies... terug naar de research-question van de papier... wat is de voortdaging... van deze method? We kunnen concluded... dat de voortdaging... de voortdaging... is de voortdaging van de SPAM... worden bepaald... de voortdaging van de SPAM... worden blokken. En dit is natuurlijk... de resultatie... om de voortdaging... te detecteren... voordat de domain is... blokkistisch. En dit... de voortdaging kan... als heel 180 dagen. De voortdaging van de method... is dat... relatief... de voortdaging is nodig. Denk terug op die blokke boven. Als het... ligt op een red LED... weet je waarom het was? En was het niet nodig? Voor de toekomst... dit is eigenlijk mijn PhD-research. Eigenlijk doen we dezelfde approach... maar we brengen het niet... om de SPAM... maar de andere gebouwen ook. En onze goal is... te detecteren... blokkistische domain... voordat ze in een attack zijn. En we kunnen je helpen in dat. Als je of iemand... je weet... wel... faces attacks... die gebruiken van de DNS... op een dagelijks basis... we willen je interviewen. Want we willen weten... wat soort attacken er zijn... en hoe ze de DNS gebruiken. Laten we even naar mijn laatste slide... oh, je kunt me op dat e-mail contacten. Laten we even naar mijn laatste slide... en bedankt voor het luisteren... en als je vragen hebt... ik ben blij om te antwoorden. Ja. We hebben een hele poortje. En we hebben ook... een paar research-questions... in de effect van... zo'n blokkist... want inderdaad, dit is een probleem. En we moeten echt hard denken... over hoe we gaan proberen. En natuurlijk moeten we... make sure... dat als we eigenlijk gebruiken... de RBL dat we ontwikkelen... dat ze ook... weten van deze soort implikatie. Dus... terwijl we serfnet... het is nu... alweer 2 punten. Dus dat betekent... dat als een domain is op de RBL... het niet automatisch... markt als SPAM. 