Microsoft PowerPoint - PRESENTAZIONE.ppt

annuncio pubblicitario
Laurea Triennale in Ingegneria Informatica
Anno Accademico 2004 - 2005
FILTRAGGIO BAYESIANO DEI CONTENUTI E
CLASSIFICAZIONE STATISTICA DEL
LINGUAGGIO CONTRO LO SPAM
Relatore: Prof. Giacomo Piscitelli
Co-relatore: Ing. Stefano Coppi
Tesi di laurea di Michelangelo Rinelli
1
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Obiettivi
Progettazione e sviluppo di un filtro antispam per la posta
elettronica
1. Analisi delle diverse tipologie di filtri per posta
elettronica
2. Studio delle tecniche di filtraggio Bayesiano dello
spam
3. Sviluppo di un’applicazione con funzioni di filtraggio
antispam (yABC)
4. Analisi delle tecniche di attacco ai filtri statistici e
loro prevenzione
2
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Cosa è lo spam?
Invio di grandi quantità di messaggi elettronici non
richiesti (generalmente commerciali)
Wikipedia
Il termine deriva dal nome di un tipo di carne in scatola
Anche chiamato:
• UBE
• UCE
• Junk Mail
3
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Cronistoria dello spam
• 1978 – “DEC Spam”
• 1995 – Siegel, Slaton (“Spam King”)
Spamware
• 1996 – Primi contromisure degli ISP
Filtri euristici
• 2005 – Lo spam costituisce oltre l’80% del traffico email
globale
4
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Problemi causati dallo spam
• Per i destinatari:
Tempo, banda, spazio su disco, software antispam, protezione minori
• Per gli ISP / Backbone Carrier:
Tempo, banda, spazio su disco, software antispam, protezione degli
utenti, gestione dei reclami, utenti persi, servizi non pagati dagli
spammers
• Per l’infrastruttura email
Messaggi ritardati o bloccati, falsi positivi
Costo complessivo stimato per il 2005: 13 mld euro
5
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
•
•
•
•
•
•
•
6
Le prime tecniche antispam
Blacklist
Whitelist
Filtraggio Euristico
Challenge-Response
Throttling
Offuscamento indirizzi
SMTP Autenticato
Propagazione, manutenzione
Sender spoofing
Manutenzione, Regole standard
Lavoro mittente, Ritardi
Riduce solo i costi per la banda
[difficilmente] riconoscibile
Open Relay
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Filtri Bayesiani
Determinano le caratteristiche linguistiche e strutturali
dei messaggi e determinano un valore di probabilità
combinando tra loro i dati conosciuti per le
caratteristiche estratte
Vantaggi dei filtri Bayesiani
• Alta accuratezza ( > 99% )
• Adattabilità
• Manutenzione minima
7
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Incoming Mail
Schema di funzionamento
Tokenizer
Decision
Matrix
Disposition
(Bayesian
Combination)
Training
Corpus
Dataset
Spam
8
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Legitimate
Michelangelo
Rinelli
Sistemi Informativi
yABC
DEE - Politecnico di Bari
yet Another Bayesian Classifier
• Sviluppato con Java/MySQL
• Interfaccia interattiva a linea di comando
• Configurabile in ogni fase
del processo
POP3 MAILBOX
tokenization
combinazione statistica
estrazione valori dataset
training
• Autotraining
Users
9
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
yABC
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Tokenizer
Estrapola dal messaggio delle caratteristiche elementari
(token)
tokenization
Mail
Tokens
yABC fa uso di tecniche di tokenizzazione avanzate:
•
•
•
•
•
10
Ottimizzazione URL/Header
Decodifica delle mail offuscate
Degenerazione
nGrams
Riassemblaggio dei token
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
Dataset
DEE - Politecnico di Bari
Memoria storica del filtro
Aggiornamento dei
contatori mediante
l’operazione di training
Valori dei token per la
matrice di decisione
Graham, Robinson, Bayes
Dataset
• Contatori occorrenze singoli token (spam, ham)
• Contatori mail usate per il training (spam, ham)
11
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
Decision Matrix
DEE - Politecnico di Bari
Sono combinati solo i token più significativi:
0,0748
0,9244
0,9244
0,9162
0,0934
0,0934
0,0934
0,9057
0,8917
0,8720
0,1497
0,1505
0,8425
0,8425
0,4252
0,4244
0,4244
0,4162
0,4066
0,4066
0,4066
0,4057
0,3917
0,3720
0,3503
0,3495
0,3425
0,3425
re
header*Microsoft
header*mxs1
identd
html
adv
tizioandcaio
device
Microsoft
header*Wed
for
been
header*Adv
header*com
Matrice di
decisione
Metodi implementati da yABC
•
•
•
•
12
Graham (Combinazione Bayesiana)
Burton (Bayesiano modificato)
Fisher-Robinson (chi-quadro inverso)
Robinson (media geometrica)
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
Disposizione
DEE - Politecnico di Bari
Il risultato della combinazione statistica è un valore di
probabilità compreso tra 0 e 1
0
1
HAM
SPAM
spamacity
In base alla disposizione ottenuta yABC può intraprendere varie azioni:
• Bouncing
• Tagging
• Autotraining
• Cancellazione
13
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Training
È l’azione con cui si provvede ad aggiornare l’archivio
storico del filtro
Dataset costruito “From scratch” o a partire da un corpus
Modalità di training
• TEFT (train everything)
• TOE (train on error)
• TUM (train untill mature)
• TUNE (train untill no error)
14
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
I trucchi degli spammers
BAYESIAN FILTER
Tokenizer
• Offuscamentocodifica
• Text-Splitting
• Testo simbolico
• Ascii Spam
15
Dataset
• Mailing Lists
• Bayesian
Poisoning
• Empty Probes
Decision
Matrix
• Spam di immagini
• Stringhe casuali
• Word salad
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
yABC: Accuratezza
Sono stati effettuati due test con diverse configurazioni:
TEST 1
opzioni di base
training 1500 mail
test: 1602 mail
Accuratezza: 99.32%
5.6 errori per 1000 messaggi
16
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
yABC: Accuratezza
TEST 2
opzioni avanzate
training 1500 mail
test: 1768 mail
Accuratezza: 99.83%
1.86 errori per 1000 messaggi
17
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
yABC: Adattività
Velocità di adattamento
training 1500 mail
test: 912 mail (gruppi da 200)
Gruppo 1
Gruppo 2
Gruppo 3
Gruppo 4
Gruppo 5
18
93%
97,5%
96,5%
99%
(100%)
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Sistemi Informativi
DEE - Politecnico di Bari
Conclusioni e sviluppi futuri
La classificazione del linguaggio è efficace ma può essere
ulteriormente migliorata:
• Metodi avanzati di tokenizzazione
(Sparse Binary Polinomial Hashing, Markovian Discrimination)
• Riduzione del “rumore”
yABC necessita di diverse migliorie per un utilizzo in
produzione:
• Realizzazione di una GUI
• Architettura POP3-Proxy
• Purge del database
19
Filtraggio Bayesiano dei contenuti e classificazione statistica del linguaggio
contro lo spam
Michelangelo
Rinelli
Scarica