Realizzazione di un workflow integrato per la rilevazione di domini phishing
Scoperta di siti web maligni e malware mediante web anlytics
1. UNIVERSITÀ DEGLI STUDI DI
TRIESTE
Dipartimento di Ingegneria e Architettura
Laurea Triennale in Ingegneria Informatica ed
Elettronica
Scoperta di siti web maligni e malware
mediante web analytics
Fast track
6 settembre 2019
Laureando Relatore
Leonardo Zio Prof. Alberto Bartoli
Anno Accademico 2018/2019
2. Indice
1 Introduzione 1
2 Raccolta e elaborazione dei dati 3
2.1 ID provenienti da siti web maligni . . . . . . . . . . . . . . . . 3
2.2 ID provenienti da malware . . . . . . . . . . . . . . . . . . . 3
3 Analisi dei dati 4
3.1 ID provenienti da siti web maligni . . . . . . . . . . . . . . . . 4
3.2 ID provenienti da malware . . . . . . . . . . . . . . . . . . . . 4
4 Phishing 5
5 Considerazioni nali e conclusione 5
6 Fonti 6
1 Introduzione
Come articolo per la fast track ho deciso di scegliere quello scritto da Oleksii
Starov, Yuchen Zhou, Xiao Zhang, Najmeh Miramirkhani e Nick Nikiforakis
intitolato Betrayed by Your Dashboard: Discovering Malicious Campaigns
via Web Analytics.
Per stabilire la demograa ed il numero dei visitatori la maggior par-
te (se non la totalità) dei siti web utilizza i servizi di web analytics. Per
il corretto funzionamento dei servizi di analytics, le richieste eettuate dai
client ai server di analytics devono contenere un codice identicativo univoco
(chiamato ID nel proseguo dell'articolo), che è diverso per ogni sito web, il
quale consente al server di capire quale sito web ha innescato tali richieste.
L'obiettivo dello studio condotto era quello di dimostrare che studiando
gli ID è possibile correlare siti web apparentemente non correlati, attribuen-
do i suddetti siti web allo stesso account di analytics, dimostrando così che
sono gestiti dalla stessa persona o organizzazione. Ciò è stato possibile grazie
al fatto che, in realtà, ogni sito web non ha un ID diverso, bensì in molti
casi (ovvero quando il gestore dei siti web li raggruppa tutti sotto lo stesso
progetto all'interno dell'account di analytics) l'ID è uguale per tutti i siti
web gestiti dallo stesso account di analytics.
I cinque ricercatori si sono concentrati sui siti web maligni che utilizzano
servizi di analytics. Hanno mostrato che studiando gli ID è possibile scoprire
nuovi siti web maligni che erano prima sconosciuti (tra cui anche siti web
di phishing) ed identicare software maligni, quali estensioni per browser e
app Android maligne. Inne è possibile stabilire il soggetto sico (persona o
1
3. organizzazione) che gestisce questi domini, anche nel caso essi abbiano infor-
mazioni WHOIS (ovvero informazioni relative al proprietario del dominio)
protette.
Risulta quindi evidente che il lavoro svolto dai ricercatori è importante in
quanto hanno trovato un nuovo modo per scovare siti web maligni, evitando
così migliaia di possibili attacchi informatici.
In totale sono stati presi in considerazione 18 diversi servizi di analytics
(elencati nella Tabella 1). Gli scienziati hanno proceduto con il seguente
ordine:
1) raccolta degli URL già stati contrassegnati come maligni da altre fonti;
2) estrazione degli ID dai siti web corrispondenti a tali URL;
3) verica di aver estratto gli ID corretti;
4) ricerca di nuovi possibili siti web maligni mediante la comparazione dei
loro ID con quelli estratti precedentemente.
Tabella 1: web analytics presi in considerazione
Web analytics Costo Esempio di ID
Google Analytics Gratis UA-22417551-1
Google Tag Manager Gratis GTM-N7R3KH
New Relic Insight Gratis 9a40653a95
Yandex Metrica A pagamento 42880164
Quantcast Gratis pb6rD1Ba7gEIM
StatCounter Gratis 7040321/0/9a83071e
Optimizely A pagamento 5328963582
CrazyEgg A pagamento 0023/6581
Clicky Gratis 101071552
Mixpanel Gratis 481d51295e...f5547
Segment Gratis 6q5KVhqz...6DONr
Mouseow Gratis 5128b8-7...caba8
Chartbeat A pagamento 50874
Heap Analytics Gratis 429571327
Kissmetrics A pagamento e4756f9bee...c2dc3
ClickTale A pagamento 6ea876d3-3...b4f00
Gauges A pagamento 58caae4f4b...1c18a
W3Counter Gratis 63908
2
4. 2 Raccolta e elaborazione dei dati
2.1 ID provenienti da siti web maligni
Le due fonti di siti web maligni dai quali sono poi stati estratti gli ID sono:
i) URL segnalati da VirusTotal (circa 5 milioni)
ii) URL e codici HTML, forniti da Miramirkhani, di domini che pratica-
vano typosquatting (ovvero sfruttavano errori di battitura degli URL
a scopi maligni) e di pagine web di pubblicità (circa 5 milioni)
Una volta estratti gli ID dalla fonte i) bisognava eseguire dei controlli per
evitare di contrassegnare come maligni degli ID che in verità provenivano
da pagine web benigne (ad esempio se una pagina aveva soltanto un iframe
maligno mentre il resto della pagina non lo era si correva il rischio di con-
trassegnare tutti gli ID estratti come maligni).
Tra gli URL della fonte ii) invece, avendo a disposizione anche il codice
HTML, sono state contrassegnate come maligne (e quindi estratto l'ID) le
pagine che cercavano di truare le persone (ad esempio tramite true corre-
late con il supporto tecnico), inoltre anche pagine che mostravano messaggi
indicanti la necessità di aggiornare o scaricare qualche software.
Da entrambe le fonti gli ID venivano estratti dalle richieste eettuate dal
browser, dal codice HTML e dall'albero costruito dal browser (DOM).
2.2 ID provenienti da malware
Durante l'analisi degli URL sopracitati è stato osservato che molte pagine
spronavano gli utenti ad installare delle estensioni per il browser. È stato
quindi progettato un sistema che installi automaticamente tali estensioni per
poi estrarne gli ID. Scartando le estensioni con più di 4 milioni di download,
perché considerate benigne, sono state trovate 315 estensioni.
È stato condotto anche uno studio sulle app Android. Sono stati presi in
considerazione 796.304 le APK forniti dall'azienda Palo Alto, di cui 477.829
erano stati contrassegnati come malware dall'azienda. Nella maggior parte
delle app gli ID si trovavano nei le di congurazione, come ad esempio
AndroidManifest.xml.
Sono stati inoltre analizzati altri 173.236 malware di vario genere che
inviavano richieste HTTP a Google Analytics. In totale sono stati estratti
4.162 ID e, scartando gli ID che non erano necessariamente maligni, ne sono
stati presi in considerazione 2.192.
3
5. 3 Analisi dei dati
3.1 ID provenienti da siti web maligni
Dopo aver esaminato gli URL sono stati estratti i seguenti ID: 9.395 ID asso-
ciati a contenuti maligni provenienti dalla fonte i) e 872 ID provenienti dalla
fonte ii). Con l'ausilio di due motori di ricerca (PublicWWW e SpyOnWeb),
che ricercano parole chiave all'interno di codici HTML di milioni di siti, i
ricercatori hanno iniziato a cercare siti web che contenessero uno o più degli
ID estratti.
Per quanto riguarda la fonte i) sono stati trovati 14.267 siti web attivi
che utilizzano ID maligni, il 76% dei quali erano precedentemente sconosciu-
ti, ovvero non contrassegnati come maligni. I nuovi siti web scoperti sono
stati conseguentemente fatti analizzare da VirusTotal e solo il 19% di essi
sono stati etichettati come maligni, dimostrando così che con questa tecnica
è possibile scovare siti web apparentemente benigni associandoli a siti web
maligni.
Per quanto riguarda invece la fonte ii) sono stati trovati 2.626 siti web
(836 attivi), il 96% dei quali erano precedentemente sconosciuti.
È stata però condotta un'analisi ancora più approfondita dei risultati. È
stato stimato che in media ogni campagna malevola comprendeva 7 siti web
(la più grande che è stata scovata ne comprendeva ben 480). I ricercatori
sono stati in grado di identicare 59 soggetti che hanno dato origine a queste
campagne, ciò è stato realizzato trovando dei siti web con ID maligni che
però non avevano informazioni WHOIS protette.
A questo punto i ricercatori si sono chiesti se ci fosse una correlazione
tra gli ID provenienti dai siti web e gli ID trovati nei malware e nelle app
Android. Hanno perciò comparato gli ID e scoperto che 64 ID presenti nei
siti web erano presenti anche nei malware e nelle app Android, per un totale
di più di 35.000 tra malware ed app Android. È stato notato però che i 64
ID non erano presenti solo in app e software maligni, bensì anche in 687 tra
app e software considerati benigni. I ricercatori hanno così analizzato più a
fondo una parte di queste app e software scoprendo che si trattava in verità
di app e software maligni, concludendo così che comparando gli ID è pos-
sibile scovare software e app maligne che verrebbero altresì non considerati
tali.
3.2 ID provenienti da malware
Dalle 315 estensioni per browser sono stati ricavati 333 ID, di cui 70 apparte-
nenti a Google Analytics. Come in precedenza si sono usati PubblicWWW e
SpyOnWeb alla ricerca di nuovi siti web maligni. Grazie ai 70 ID sopracitati
sono stati scoperti 264 siti web che utilizzano tali ID.
Per quanto riguarda le app Android, sono stati ricavati 18.734 ID dalle
477.829 app maligne. Per testare le potenzialità del metodo comparativo i
4
6. ricercatori hanno raccolto altri 330.117 le APK e, comparando i loro ID
con quelli ricavati precedentemente, hanno riscontrato che 100.379 dei nuovi
APK potrebbero essere maligni. Analizzando tali APK con metodi più clas-
sici e rodati si è scoperto che soltanto 157 di essi erano certamente benigni,
dimostrando ancora una volta l'ecacia di questo metodo.
4 Phishing
La comparazione degli ID può essere utilizzata anche per rilevare velocemente
siti web che praticano phishing. Ciò è possibile grazie al fatto che i software
delegati della clonazione dei siti web non rimuovono/sostituiscono la parte
di codice che serve al funzionamento di analytics e quindi nemmeno gli ID.
Quindi gli ID dei siti web originali saranno ancora presenti all'interno dei siti
web che emulano quelli originali a scopi fraudolenti. Sfruttando questo fatto
è stato semplice trovare siti web che praticavano phishing semplicemente
cercando gli ID dei siti maggiormente soggetti a phishing all'interno dei siti
web sospetti. Con questo metodo sono stati trovati 41 siti web di phishing.
5 Considerazioni nali e conclusione
Viste le scoperte fatte durante questa ricerca è lecito suppore che le compa-
gnie che orono servizi di analytics possono giocare un ruolo fondamentale
nella scoperta di siti web maligni e malware e nel dare un'identità agli at-
taccanti che li creano e gestiscono.
Per difendersi, gli attaccanti potrebbero utilizzare servizi di analytics
meno conosciuti che garantiscano maggiore privacy o addirittura creare il
proprio servizio di analytics. Ciò però non risolverebbe il loro problema, in
quanto la maggior parte dei siti benigni utilizza soltanto i servizi più co-
nosciuti e quindi tutti i siti web che utilizzerebbero servizi meno conosciuti
sarebbero considerati sospetti. L'unico modo per proteggersi sarebbe dunque
quello di creare un nuovo progetto (o addirittura un nuovo account in certi
casi) per ogni sito web, rendendo però così il loro operato più dicoltoso e
macchinoso.
Vista l'ecacia di questo metodo sarebbero possibili sviluppi futuri, co-
me utilizzare ulteriori database o servizi (oltre a PublicWWW e SpyOnWeb)
per scovare nuovi siti web maligni oppure utilizzare lo stesso metodo compa-
rativo però con altri parametri di riferimento, come ad esempio gli indirizzi
di pagamento.
5
7. 6 Fonti
Oleksii Starov, Yuchen Zhou, Xiao Zhang, Najmeh Miramirkhani, Nick Ni-
kiforakis; Betrayed by Your Dashboard: Discovering Malicious Campaigns
via Web Analytics; In Proceedings of the 2018 World Wide Web Conference
(WWW); 227-236
6