Il lavoro presentato in questa tesi mira a sviluppare un classificatore utilizzato all’interno del progetto europeo PhishSense, capace di distinguere URL di phishing da legittimi.
Sviluppo di un sistema per la classificazione di URL di phishing mediante tecniche di Machine Learning
1. Sviluppo di un sistema per la classificazione di
URL di phishing mediante tecniche di
Machine Learning
Candidato: Federico Cergol
Relatore: Prof. Alberto Bartoli
Correlatore: Ing. Marco D’Orlando
30 novembre 2017
Universit`a degli Studi di Trieste
3. Phishing
Phishing
Il phishing `e un tipo di truffa effettuata su Internet attraverso la
quale un attaccante utilizza prevalentemente un canale di
comunicazione non adeguatamente autenticato per illudere
l’utente della propria identit`a.
1/23
4. PhishSense
PhishSense
PhishSense vuole essere la risposta europea al problema del
phishing. Questo `e un software anti-phishing as a Service che
combina numerosi componenti, tra cui un Web Application
Firewall, un plugin per email client e browser, vari servizi di
classificazione, e un orchestratore per l’integrazione.
2/23
5. PhishSense II
Attacker Web Server Mail Server PhishSense Server Victim
1: setup
2: send email
3: get email
4: follow link
5a: inspect
5b: analyze
score
6a: Visit
page content
if safe:if safe:
6b: warning
warning page
else:else:
3/23
6. PhishSense II
Attacker Web Server Mail Server PhishSense Server Victim
1: setup
2: send email
3: get email
4: follow link
5a: inspect
5b: analyze
score
6a: Visit
page content
if safe:if safe:
6b: warning
warning page
else:else:
3/23
7. Perimetro
Il lavoro svolto consiste in un servizio che ricevendo in input un
URL fornisce un punteggio corrispondente alla confidenza legata
all’affermazione “questo URL punta verso un sito di phishing”.
4/23
8. Perimetro
Il lavoro svolto consiste in un servizio che ricevendo in input un
URL fornisce un punteggio corrispondente alla confidenza legata
all’affermazione “questo URL punta verso un sito di phishing”.
Il servizio deve esporre un’interfaccia HTTP protetta da
autenticazione basic e utilizzare lo standard json per codificare i
dati.
4/23
10. Dataset ideale
Il dataset ideale `e costituito da URL estratti direttamente da
comunicazioni tra utenti classificate correttamente.
5/23
11. Dataset ideale
Il dataset ideale `e costituito da URL estratti direttamente da
comunicazioni tra utenti classificate correttamente.
Purtroppo questi dati non sono disponibili.
5/23
12. URL di phishing
PhishTank
PhishTank `e un sito gestito da volontari a cui vengono sottoposte
mail sospette. I volontari classificano manualmente i link presenti
in queste mail e rendono disponibili i risultati della classificazione.
6/23
13. URL di phishing
PhishTank
PhishTank `e un sito gestito da volontari a cui vengono sottoposte
mail sospette. I volontari classificano manualmente i link presenti
in queste mail e rendono disponibili i risultati della classificazione.
Attraverso le API esposte da questo servizio si `e potuto ottenere
un dataset consistente e certificato di URL di phishing come
vengono presentati alle vittime.
6/23
15. URL legittimi
Si sono estratti domini legittimi da:
• Google
• AlexaRanking
Si `e effettuato il crawling delle sitemap di questi domini per
ottenere URL specifici.
7/23
18. Macroaree
Si sono raccolte caratteristiche afferenti alle seguenti macroaree:
• Lessicografia URL
• Analisi attiva della pagina
8/23
19. Macroaree
Si sono raccolte caratteristiche afferenti alle seguenti macroaree:
• Lessicografia URL
• Analisi attiva della pagina
• Record DNS
8/23
20. Macroaree
Si sono raccolte caratteristiche afferenti alle seguenti macroaree:
• Lessicografia URL
• Analisi attiva della pagina
• Record DNS
• Informazioni WHOIS
8/23
21. Macroaree
Si sono raccolte caratteristiche afferenti alle seguenti macroaree:
• Lessicografia URL
• Analisi attiva della pagina
• Record DNS
• Informazioni WHOIS
• Analisi certificato
8/23
23. Considerazioni
In totale si sono considerate 47 caratteristiche.
Si sono testati vari algoritmi di selezione delle caratteristiche per
ridurne il numero ma questo inficia l’algoritmo di adattamento
descritto in seguito.
9/23
25. Machine Learning
Una prima analisi del dataset ha mostrato come non fosse possibile
sviluppare un algoritmo euristico che potesse classificare con
sufficiente accuratezza gli URL.
Per questo motivo si sono studiati vari algoritmi che utilizzano il
Machine Learning applicabili a questo problema.
10/23
33. Modello
Mano a mano che nuovi dati sono disponibili si ricostruisce il
dataset campionando i dati con probabilit`a proporzionale alla loro
data.
Si costruisce un nuovo classificatore e lo si valuta con il dataset
cos`ı costruito.
Se, reiterando questo procedimento, si ottiene un classificatore
migliore di quello corrente, questo viene sostituito.
17/23
34. Risultati
Tasso d’errore in funzione della data di esecuzione.
09/09 14/09 19/09 24/09 29/09 04/10 09/10
0
0.5
1
1.5
2
2.5
·10−2
Modello statico
18/23
35. Risultati
Tasso d’errore in funzione della data di esecuzione.
09/09 14/09 19/09 24/09 29/09 04/10 09/10
0
0.5
1
1.5
2
2.5
·10−2
Modello statico
Modello dinamico
18/23
36. Risultati
Tasso d’errore in funzione della data di esecuzione.
09/09 14/09 19/09 24/09 29/09 04/10 09/10
0
0.5
1
1.5
2
2.5
·10−2
Modello statico
Modello dinamico
Differenza
18/23
38. Applicazione esterna
Symantec RuleSpace
Symantec RuleSpace `e un prodotto commerciale che incorpora
database di classificazione degli URL Web consolidati e
riconosciuti a livello globale con analisi in tempo reale1.
1
https://www.symantec.com/it/it/products/rulespace
19/23
39. Applicazione esterna
Symantec RuleSpace
Symantec RuleSpace `e un prodotto commerciale che incorpora
database di classificazione degli URL Web consolidati e
riconosciuti a livello globale con analisi in tempo reale1.
Questa applicazione `e stata utilizzata come confronto per stimare
la bont`a del lavoro effettuato.
1
https://www.symantec.com/it/it/products/rulespace
19/23
43. Integrazione
Utilizzando la classificazione fornita da Symantec RuleSpace come
ulteriore caratteristica si sono ottenuti i seguenti risultati:
Phishing Legit
as Phishing 24735 21
as Legit 265 24979
che corrispondono ad una accuratezza del 99.5%.
21/23
45. Risultati
• Si `e sviluppato un servizio capace di classificare URL come
phishing o legittimi con una accuratezza di 98.4%.
22/23
46. Risultati
• Si `e sviluppato un servizio capace di classificare URL come
phishing o legittimi con una accuratezza di 98.4%.
• Si `e sviluppata una metodologia per adattare il classificatore
nel tempo e mantenere alta la accuratezza.
22/23
47. Risultati
• Si `e sviluppato un servizio capace di classificare URL come
phishing o legittimi con una accuratezza di 98.4%.
• Si `e sviluppata una metodologia per adattare il classificatore
nel tempo e mantenere alta la accuratezza.
• Si `e esposto il servizio su internet per poterlo integrare
nell’architettura di PhishSense2.
2
Per ottenere l’URL, le specifiche, e le credenziali occorre farne richiesta a
precog-dev@emaze.net
22/23
48. Sviluppi futuri
Possibili sviluppi futuri includono:
• Estendere il classificatore per riconoscere pi`u classi di URL
(malware, pubblicit`a...)
23/23
49. Sviluppi futuri
Possibili sviluppi futuri includono:
• Estendere il classificatore per riconoscere pi`u classi di URL
(malware, pubblicit`a...)
• Approfondire l’analisi e perfezionare l’estrazione delle
caratteristiche
23/23