Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
High precision detection of business e mail compromise
1. Candidato: Davide Savron
RELATORE: PROF. ALBERTO BARTOLI
a.a. 2019-2020
Dipartimento di
Ingegneria e Architettura
Laurea triennale in ingegneria elettronica e informatica
Fast track – Extended Summary
2. High Precision Detection
of Business Email Compromise
1. Introduzione
Nell’articolo viene discusso il problema del “Business Email Compromise” (BEC). Esso è un
genere di attacco informatico in cui l’aggressore, impersonando un dirigente di un’azienda, prova a
truffare un dipendente della stessa tramite un’e-mail. Questo non è un problema da poco: secondo
i dati dell’FBI, tramite questi attacchi sono stati rubati più di 12 miliardi di dollari negli ultimi sette
anni. Gli autori dell’articolo affermano che i sistemi esistenti per la rilevazione di tali attacchi non
sono sufficienti, poiché coprono solo alcuni casi specifici o soffrono di una bassa precisione. Essi
dunque spiegano lo sviluppo della versione iniziale della loro soluzione: BEC-Guard, un sistema che
ha come obbiettivo la rilevazione di attacchi BEC in tempo reale, con un basso tasso di falso allarme,
alta precisione ed un’alta copertura (quasi tutti gli attacchi sono rilevati).
2. Architettura
Contrariamente ai comuni metodi di filtraggio delle e-
mail, BEC-Guard non si introduce nel flusso e-mail, ma
interagisce direttamente con il sistema e-mail (figura 1.).
Tale architettura, definita architettura API, è possibile
proprio grazie alla presenza di API, offerte dai sistemi
e-mail, che permettono agli utenti di fornire ad
applicazioni esterne l’accesso alle proprie e-mail. Questa
architettura offre due vantaggi fondamentali: BEC-Guard
ha facile accesso alle e-mail di vecchia data e alle
comunicazioni interne. Infatti, tali informazioni non sono sempre accessibili tramite un’architettura
gateway.
L’ottenimento delle vecchie e-mail è essenziale per il corretto funzionamento di BEC-Guard. Esso
è un sistema che si basa sull’analisi delle vecchie comunicazioni e-mail all’interno
dell’organizzazione per predire se una data e-mail risulti BEC. Per creare tale sistema, gli autori
hanno deciso di utilizzare il metodo del supervised machine learning.
3. Dataset
Il dataset utilizzato per la versione iniziale di BEC-Guard consiste in un insieme di e-mail aziendali
da 1500 organizzazioni (di grandezza che varia da 10 a più di 100,000 mailbox). Le email sono vecchie
al massimo 1 anno. Da tale insieme sono stati etichettati 7000 generici attacchi BEC.
Autori dell’articolo: Asaf Cidon, Lior Gavish, Itay Bleier, Nadia
Korshun, Marco Schweighauser e Alexey Tsitkin;
Figura 1
3. 4. Classificatori
La difficoltà più grande nel creare un sistema che rileva attacchi BEC è che esso è un problema
altamente sbilanciato: statisticamente, dato un dataset di e-mail aziendali, il rapporto tra e-mail
legittime ed e-mail BEC è di 50 000:1. È noto che applicare il metodo del supervised machine learning
ad un problema talmente sbilanciato rischia di causare numerosi problemi, come ad esempio quello
in cui i classificatori preferiscono la classe di maggioranza (e-mail legittime). Come è stato affrontato
questo problema è discusso nel capitolo 5.2. Raggruppamento. Inoltre, se si vogliono etichettare
solo 7000 e-mail BEC, bisogna etichettare ben 350 milioni di e-mail. Per affrontare il problema, gli
autori hanno deciso di creare tre classificatori diversi: l’impersonation classifier, il text classifier ed
il link classifier.
4.1 Impersonation classifier
L’impersonation classifier, come
suggerisce il nome, cerca tutte le
possibili e-mail che potrebbero essere
furti d’identità. Gli autori definiscono un
furto d’identità come un’e-mail il cui
mittente di proposito si presenta con
l’identità di un’altra persona.
Osservando l’esempio di attacco BEC in figura 2., si osserva che le informazioni
necessarie alla rilevazione dei furti d’identità sono contenute nei metadati dell’e-mail. Si è
infatti deciso che l’impersonation classifier analizza solo questi dati.
La scelta delle caratteristiche
(features) di cui tiene conto il
classificatore ha molto impatto sulle
prestazioni del classificatore. Per
capire come è stata fatta la scelta di
tali caratteristiche, consideriamo una
situazione particolare: Se un’e-mail è
stata mandata da un indirizzo e-mail
non usuale, ciò non vuol dire che si
tratti di un furto d’identità: tale indirizzo e-mail potrebbe essere l’indirizzo e-mail secondario
di un impiegato. Dunque, tale classificatore deve essere capace di imparare tutti gli indirizzi
e-mail che appartengono ad un individuo. Il problema è stato risolto facendo in modo che le
principali caratteristiche usate dal classificatore si basino sugli schemi di comunicazione
usuali nell’azienda. Alcuni esempi di tali features sono illustrati in figura 3.
È chiaro che l’insieme delle e-mail rilevate come furto d’identità ingloba l’insieme degli
attacchi BEC. Si usa questo fatto per ridurre significativamente il numero di e-mail da
etichettare. Ciò è ottenuto applicando il text classifier ed il link classifier solo alle e-mail
classificate come possibili attacchi BEC dall’impersonation classifier.
L’algoritmo di apprendimento scelto per questo classificatore è il random forest.
Figura 2.
Figura 3.
4. 4.2 Text classifier
Il text classifier impara le espressioni, ricavate da oggetto e messaggio dell’e-mail, che
sono indicative di attacchi BEC. Per fare ciò, esso calcola la term frequency-inverse document
frequency (TFIDF) di ogni parola di ogni e-mail dell’insieme di e-mail sul quale viene allenato.
Dati TF( 𝑤) e IDF( 𝑤) di una parola w, calcolati nel modo seguente:
TF( 𝑤) =
num di volte 𝑤 appare nell′
e˗mail
num di parole nell′e˗mail
IDF( 𝑤) =
1
num di e˗mail con 𝑤
log(num di e˗mail)
Il valore di TF( 𝑤) × IDF( 𝑤) è più alto per parole che
compaiono spesso in un’e-mail specifica, ma che sono
relativamente rare nell’insieme delle e-mail. Gli autori
giustificano questo approccio notando che parole con alto
TFIDF (tipicamente parole che denotano una certa
urgenza) sono tipiche delle e-mail BEC. Viene calcolato
anche TFIDF per coppie di parole (figura 4.).
In pratica, dato un insieme di e-mail per l’allenamento
del classificatore, è stata scelta una lista di 10,000 parole con IDF più alto. Ora, confrontando
le parole di una generica e-mail con le parole in tale lista, e confrontando i valori di TFIDF, si
dovrebbe essere capaci di rilevare attacchi BEC. Tale classificatore sfrutta proprio questo
metodo.
L’algoritmo di apprendimento scelto è il k-nearest neighbours.
4.3 Link classifier
Il link classifier classifica solo le e-mail
contenenti link. Di per sé, un classificatore
che classifica solo link non sarebbe molto
efficace (per es., raramente un link che
punta a un piccolo sito web è un caso di
phishing). Ma poiché esso agisce solo su
e-mail classificate come furti d’identità,
questo fornisce un'altra probabilità di rilevazione di attacchi BEC.
Figura 5. mostra alcune delle caratteristiche principali di cui fa uso questo classificatore.
L’algoritmo di apprendimento scelto per questo classificatore è il random forest.
Nell’articolo sono stati discussi vari metodi per aggirare questi classificatori e come è stato
modificato BEC-Guard di conseguenza.
Figura 5.
Figura 4
5. 5. Etichettamento e raggruppamento
In questo capitolo è spiegato come sono state etichettate manualmente le e-mail per
allenare i classificatori. È inoltre spiegato come si è stabilizzato il rapporto tra numero di
e-mail BEC e numero di e-mail legittime.
5.1 Etichettamento
Il numero di e-mail del dataset per l’impersonation classifier era ovviamente troppo
grande per essere etichettato manualmente. Per ottenere un numero di e-mail
maneggiabile, sono venute escluse e-mail ponendo restrizioni sui header.
Invece, per ottenere un numero ragionevole di e-mail da etichettare manualmente per
il text classifier e il link classifier, su un fresco dataset viene prima applicato l’impersonation
classifier. Applicare l’impersonation classifier è sufficiente poiché esso rileva il 100% degli
attacchi e riduce il rapporto tra e-mail BEC ed email legittime a circa 1:9 (prima era di
1:50,000).
5.2 Raggruppamento
Per evitare che il classificatore preferisca predire le e-mail legittime, è stata effettuata
una riduzione del numero di tali e-mail ad un numero paragonabile a quello delle BEC. Per
trovare un piccolo insieme di e-mail che meglio rappresenta l’insieme di e-mail legittime, si
è prima diviso questo insieme in gruppi di simili caratteristiche, e da ciascuno di questi
insiemi si è preso un numero di e-mail proporzionale al numero di elementi nel gruppo.
Ovvero, se il gruppo ha molti elementi, verranno estratte molte e-mail, se il gruppo ha pochi
elementi, verranno estratte poche e-mail. Per effettuare tale raggruppamento, è stato
utilizzato Gaussian mixture models, un algoritmo di raggruppamento non supervisionato.
6. Risultati
BEC-Guard è il primo sistema che rileva attacchi BEC in tempo reale, che raggiunge un basso
tasso di falso allarme ed alta precisione, i cui valori sono mostrati nella seguente tabella:
Formula Valore ottenuto
Precisione
TP
totale e˗mail rilevate come attacchi
98.2%
Tasso di falso allarme
FP
numero di e˗mail
1 ogni 5.260 000
Percentuale di attacchi
rilevati
TP
totale attacchi
96.9%
TP: numero di attacchi rilevati correttamente
FP: numero di email categorizzate erroneamente come attacchi
6. I risultati sono indubbiamente ottimi, ma richiedono un costante allenamento dei classificatori.
Infatti, un possibile problema è che gli aggressori trovino nuovi modi per aggirare il sistema. Gli
autori hanno tenuto conto di questo fatto, infatti il sistema è stato creato in modo da essere
facilmente aggiornabile in base alle segnalazioni di errata classificazione inviate dai clienti.
È necessario specificare che tale versione di BEC-Guard non rileva ogni genere di attacco BEC.
Esso si concentra solo sugli attacchi BEC in cui l’aggressore, esterno all’organizzazione, ruba
l’identità di un impiegato. Altri tipi di attacchi BEC che non rientrano in questa categoria potrebbero
essere il furto di credenziali o il furto d’identità di persone esterne all’organizzazione. Tuttavia, le
ultime versioni di BEC-Guard contengono ulteriori classificatori per risolvere alcuni di questi casi.