spam, spam, bacon and spam
(convivere con lo spam)
Castiadas - Maggio 2004
Michele Michelotto, Fulvia Costa
Michele Michelotto - Padova
Indice
•
•
•
•
•
Definizione del problema
Come lo combattiamo a Padova
Effetti dei filtri bayesiani
Altre tecniche da provare
Risultati del questionario
Michele Michelotto - Padova
Definizioni
• spam: I mail che gli utenti non sono interessati a
ricevere
• UCE: Unsolicited Commercial Email
• UBE: Unsolicited Bulk Email
• ham: I mail buoni (nel senso non spam)
• Falsi Positivi. Mail di tipo ham che vengono
identificati come spam
• Falsi Negativi. Spam che non viene identificato
dall’anti-spam e che quindi si mescola ai mail
buoni.
Michele Michelotto - Padova
SPAM
Spiced Pork Ham. Carne in scatola
dei soldati americani nel dopo guerra
Michele Michelotto - Padova
Monty Python
SPAM
Michele Michelotto - Padova
Problema
• Tipico problema di separazione Segnale
Rumore (S/N)
• Gli utenti sanno distinguere benissimo lo
spam dall’ham
• Tuttavia questo task costa tempo e
frustrazione agli utenti
• I programmi che trattano la posta devono
aiutare gli utenti a gestire in modo
automatico la maggior parte dello spam
Michele Michelotto - Padova
Dimensioni problema
• La quantità di spam ricevuti dipende dalla
anzianità dell’indirizzo su internet e dalla
diffusione dell’indirizzo (su siti web, su
usenet news)
• Si stima che nel 2004 gli spam abbiamo
superato la posta buona. Trend in aumento
si prevede il 70% nel 2007
• Grosse istituzioni più colpite
Michele Michelotto - Padova
Impatto dello spam
• Osterman Research inc.
– Tempo speso dall’utente
• Protetto 80 minuti ogni 1000 email (2.4 giorni/anno)
• Non protetto 200 minuti/100 email (6.1 giorni/anno)
– 46% di utenti hanno perso o non notato un mail buono a
causa dello spam
– 21% di utenti non sa se questo gli è successo
– Gestione falsi positivi
– Impatto sui sistemisti
• 8.7 persone/ora ogni settimana per ogni mille mail per gestire lo
spam oppure 1 FTE ogni 4600 utenti.
• Da 0 ore/settimana in su, per chi non lo gestisce (e molte
lamentele)
Michele Michelotto - Padova
Michele Michelotto - Padova
MUA o MTA?
• Lotta a livello di client
+ ottimi risultati
+ ogni utente ha un filtro personalizzato
- non va bene quando l’utente usa client diversi
- usano solo sistemi statistici o euristici
- molti utenti chiedono semplicemente di non
ricevere gli spam
Michele Michelotto - Padova
Server side
• Lotta a livello di server
+ Si possono usare altri metodi
+ Una sola persona esperta combatte lo spam a
vantaggio di tutti
- Quello che sembra spam ad uno invece
interessa ad un altro
- Difficile da personalizzare
Michele Michelotto - Padova
Come gestire lo spam
• I server mail devono consegnare la posta
elettronica quando l’hanno ricevuta (per
correttezza verso il mittente ma ci dovrebbe anche
essere un obbligo di legge)
• Forse non siamo obbligati ad accettare
connessioni mail da siti “scorretti”
• Si possono modificare i mail aiutando gli utenti a
capire se un mail contiene spam o virus ma il mail
va comunque consegnato
• Gli utenti vanno aiutati nella preparazione di filtri
per separare lo spam
Michele Michelotto - Padova
Spam Assassin
• Tool molto usato nei servizi calcolo INFN
• Ogni mail viene confrontato con un insieme di regole e ogni
regola aggiunge un punteggio di “spammosità” al mail
• Quando si raggiunge il punteggio di 5 il mail viene taggato
come spam [FORSE-SPAM-N.mmm]
• Aggiungere nuove regole comporta il ribilanciamento del
peso di quasi tutte le altre regole per evitare falsi positivi.
• Questo richiede un controllo di massa su un insieme
enorme di mail e impedisce l’aggiornamento giornaliero
delle signatures come nel caso degli antivirus (ci vogliono
settimane)
Michele Michelotto - Padova
L’utente vede di
solito solo il subject
In fondo al mail in
attachment la
spiegazione di cosa
abbiamo fatto al
mail…
…e il dettaglio di
come siamo arrivati
al punteggio
Michele Michelotto - Padova
Feedback degli utenti
• In seguito all’annuncio dell’installazione di
SA:
– La maggior parte molto soddisfatti
– Alcuni non riuscivano a fare il filtro per mettere i
mail in un folder separato o nel cestino
– Alcuni usavano programmi client side e quindi
vedevano migliori prestazioni dal momento che
sono personalizzati e istruibili
– Alcuni utenti si fidano troppo e cancellano tutti i
mail che sono segnalati come spam
Michele Michelotto - Padova
Come migliorare?
• Con il passare del tempo gli spam aumentano in
numero e in cattiveria.
• Abbassando la soglia vengono intercettati più
spam ma aumentano i falsi positivi
• I falsi positivi sono molto pericolosi
– Il singolo spam è una seccatura
– Il singolo falso positivo è un mail potenzialmente
importante che rischia di essere cancellato o non letto
• Al momento non possiamo dare configurazioni per
utente. Sono comunque pericolose perchè gli
utenti tendono a diventare troppo aggressivi
Michele Michelotto - Padova
Obiettivo
• L’ideale sarebbe identificare il 100% di spam
senza falsi positivi.
• Molti arrivano vicino al primo obiettivo ma
mentono sul secondo
• Il mio obiettivo
– almeno 90-95% di spam catturati
– falsi positivi sotto 1% (ideale 1/1000)
– manodopera di poche ore/mese, magari solo per
controllo e monitoring
Michele Michelotto - Padova
Campo X-Spam-Score
• Anche se il mail non supera la soglia inseriamo il
punteggio nell’header nei campi opzionali
• Ci siamo “inventati” il campo X-Spam-Score
• Il campo viene usato da Mime-Defanger e di solito
cancellato per mail sotto soglia.
• Lasciando questo campo permettiamo ad utenti
evoluti di usare queste informazioni via procmail o
con personalizzazioni dei filtri dei client
• Il campo risulta utile per capire per quale motivo lo
spam non ha raggiunto il punteggio soglia:
Michele Michelotto - Padova
X-Spam-Score
Michele Michelotto - Padova
Separare gli spam
• Un trucchetto utile
• Separare con i filtri i mail “borderline” con
punteggio appena sopra il 5 (es fino a 7
oppure 8).
• Cancellare con una rapida passata gli altri
spam (es sopra 8)
• Controllare per bene gli spam borderline per
intercettare i falsi positivi
Michele Michelotto - Padova
Spam difficili
• Le contromosse degli spammer
• Alcuni spam non sono UCE ma solo prove
per vedere quali indirizzi sono buoni (quindi
ricevono la posta) e quali “bounciano”
• Altro motivo per mandare spam senza senso
potrebbe essere quello di “avvelenare” i filtri
statistici
Michele Michelotto - Padova
Gibberish
5.001 !!! L’ho preso per
i capelli questo spam
Contenuto utile per lo
spammer
Contenuto “gibberish”:
Tante parole (almeno
15) separate solo da
uno spazio
Notare che altrimenti
non sarebbe stato
catturato dai bayesiani
Michele Michelotto - Padova
Sovrapposizione
HAM
SPAM
Michele Michelotto - Padova
Come separare?
• Tipico problema di Segnale/Rumore
• Se abbassiamo la soglia a 4 aumentiamo i
falsi positivi. Recuperiamo molti falsi negativi
ma i falsi positivi sono molto più importanti
• Se alziamo i punteggi per qualche categoria
potremmo spostare qualche mail buono in
falso positivo
• Cerchiamo di aggiungere nuove regole e
tecniche indipendenti
Michele Michelotto - Padova
Tecniche dinamiche
• Le tecniche di molti software antispam sono
statiche.
• Gli spammer evoluti provano i loro mail
contro le ultime tecniche anti-spam e trovano
il modo di by-passarle
• Metodi statistici
– Vedere il sito di Paul Graham
– http://www.paulgraham.com/antispam.html
Michele Michelotto - Padova
Algoritmi Bayesiani
• Teoria:
– I filtri Bayesiani sono basati sul principio che molti eventi
sono dipendenti e che la probabilità di un evento futuro
si può dedurre dagli eventi passati
• Basi matemagiche:
– http://www-ccrma.stanford.edu/~jos/bayes/Bayesian_Parameter_Estimation.html
• Introduzione alle reti bayesiane:
– http://www.niedermayer.ca/papers/bayesian/bayes.html
• Queste tecniche si possono usare per classificare
lo spam. Se un pezzo di testo si trova spesso nello
spam ma non in un ham, allora è ragionevole
assumere che quel mail è spam
Michele Michelotto - Padova
Come funziona?
• Dobbiamo crearci un Database con token
(parole ma anche il segno $, indirizzi IP,
domini etc…) raccolti da campioni di spam e
ham
Michele Michelotto - Padova
Calcolo P
• Viene assegnato un valore di probabilità ad ogni
token basato su calcoli che tengono conto di
quanto spesso una parola si trova negli spam e
negli ham.
• I token di entrambi gli insiemi sono analizzati per
generare le probabilità che una parola sia spam
• Esempio:
– “viagra” si trova 400 volte all’interno di 3000 mail di
spam e 5 volte su 300 nei mail legittimi
– La probabilità di spam è
– 400/3000 diviso (5/300 + 400/3000) = 0,8889  89%
Michele Michelotto - Padova
Formula
TS = numero dei mail di tipo SPAM
NS = numero di presenze di una parola tra gli SPAM
TH = numero dei mail di tipo HAM
NH = numero di presenza di una parola tra gli HAM
PS = probabilità che quella parola appaia in uno
spam
PS = (NS/TS) / (NS/TS + NH/TH)
Se TS e TH sono uguali diventa
PS = NS / NS+NH
Michele Michelotto - Padova
Creare il DB HAM
•
•
1.
2.
Il database HAM deve replicare i mail buoni che
desiderate ricevere. Una buona strategia potrebbe essere
quella di usare come HAM i vostri mail in uscita
(attenzione ai forward).
Alcuni sw antispam arrivano con un db di HAM (Outlook,
Exchange server) questo causa due problemi:
Il database è pubblico e quindi gli spammer lo possono
studiare e bypassare (vedi:
www.mapilab.com/articles/outlook_spam_filter.html)
Il DB di HAM è generale e non adattato al vostro solito
traffico  è meno efficace e più esposto a falsi positivi.
Michele Michelotto - Padova
Creare SPAM DB
• Deve includere un grande e variegato
esempio di spam e deve essere
costantemente aggiornato
• In questo modo il filtro è sempre a
conoscenza degli ultimi trucchi degli
spammer
• Usare un “troll address” o “spamtrap”
Michele Michelotto - Padova
Come usiamo il DB
• Ora che abbiamo il nostro DB delle probabilità il
fitro può essere usato
• Quando arriva un nuovo mail, questo viene
“tokenizzato” e le parole più rilevanti (es le 15 con i
valori più estremi) vengono scelte.
• Su questi token il filtro calcola la probabilità che il
mail sia uno spam
• Si possono mettere soglie (es. Marca come spam
se P almeno 90%)
• SpamAssassin invece assegna un punteggio
ulteriore ad un mail secondo la probabilità
Michele Michelotto - Padova
SA + Bayes
Probabilità
Test local, net, with_bayes, bayes+net
Da 0% a 1%
BAYES_00 0 0 -4.901 -4.900
Da 1% a 10%
BAYES_01 0 0 -0.600 -1.524
Da 10% a 20%
BAYES_10 0 0 -0.734 -0.454
Da 20% a 30%
BAYES_20 0 0 -0.127 -1.428
Da 30% a 40%
BAYES_30 0 0 -0.349 -0.904
Da 40% a 44%
BAYES_40 0 0 -0.001 -0.001
Da 44% a 49.99%
BAYES_44 0 0 -0.001 -0.001
50% non fornisce alcun peso
Da 50.01% a 56%
BAYES_50 0 0 +0.001 +0.001
Da 56% a 60%
BAYES_56 0 0 +0.001 +0.001
Da 60% a 70%
BAYES_60 0 0 +1.789 +1.592
Da 70% a 80%
BAYES_70 0 0 +2.142 +1.255
Da 80% a 90%
BAYES_80 0 0 +2.442 +1.657
Da 90% a 99%
BAYES_90 0 0 +2.454 +2.101
Da 99% a 100%
BAYES_99 0 0 +5.400 +5.400
NB Se uno spam non viene riconosciuto dal filtro bayesiano potrebbe ricevere un
punteggio fortemente negativo e quindi vanificare l’effetto delle regole “statiche”
Michele Michelotto - Padova
Euristici vs Bayesiani
• Tengono conto di tutto il messaggio
– non vede solo le parole chiave tipiche dello spam ma anche quelle dei
mail buoni. Considera solo le parole più interessanti che si discostano
dalla media
• Si autoadatta
– Si adatta nel tempo. Se lo spammer comincia a usare f.r.e.e. invece di
free il filtro se ne accorge
– Si adatta all’utente. (Es. Una facoltà di farmacia che studia il viagra)
– Si adatta alla lingua: È intrinsicamente multi-lingua e internazionale
mentre le liste di keyword sono spesse solo in inglese
• È difficile da imbrogliare.
– Lo spammer deve usare meno parole utili (free, viagra, cash etc..) e più
parole presenti nei mail validi (che sono però specifiche dell’utente).
– Rompere le parole es. v-i-a-g-r-a è inutile perchè aumenta la probabilità
che il messaggio venga identificato come spam dal momento che
l’utente normale non userà mai quella forma.
Michele Michelotto - Padova
Server primario
Spam Scores - Totali
40000
Mail rivevuti 304034
Spam rilevati 184682
Percentuale 60.7%
35000
30000
25000
20000
15000
Spam scores + bayesian - Totali
10000
60000
5000
Mail rivevuti
Spam rilevati
Percentuale
50000
0
-100
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
20
25
30
35
40
45
50 More
368194
292510
79.4%
40000
Miglioramento
identificazione da 60.7%
a 79.4% senza falsi
positivi
30000
20000
10000
Michele Michelotto - Padova
0
-100
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
20
25
30
35
40
45
50
More
Secondario
Spam scores - Spamassassin
12000
bsdsz2
13 giorni
Totali 72888
Spam 53873
74%
10000
8000
Spam Scores - Spamassassin + Bayesian
6000
18000
4000
16000
Totali 95744
Spam 89481
93.5 %
14000
2000
bsdsz2
13 giorni
12000
0
-100
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
20
25
30
35
40
50 More
45
10000
In 13 giorni miglioramento
identificazione da 74% a
93.5% senza falsi positivi
8000
6000
4000
NB in pratica il secondario
riceve solo spam
2000
0
Michele Michelotto - Padova
-100
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
20
25
30
35
40
45
50 More
Commenti
• I filtri bayesiani aiutano a separare il segnale dal
rumore
• L’implementazione dentro SA è molto conservativa.
Alcuni SPAM vengono visti con probabilita inferiore
a 50% e quindi hanno punteggio aggiunto negativo
• I filtri invecchiano anche con l’autolearning: Es.
– OK istruire il DB con gli spam con punteggio sopra il 10
– Non OK istruire il DB con ham con score sotto 1
• Vogliamo trovare dei sistemi semi-automatici per
continuare a istruirli
– Per esempio Outgoing  HAM ; SpamTrap  SPAM?
Michele Michelotto - Padova
Invecchiamento
100
% Spam
Primario
% + Bayes
90
% Bayes
80
70
60
50
40
30
20
10
Michele Michelotto - Padova
0
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
Invecchiamento
120
% Spam
% + Bayes
Secondario
% Bayes
100
80
60
40
20
Michele Michelotto - Padova
0
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
43
45
47
49
51
53
55
Razor
• Vipul’s Razor è una rete distribuita, collaborativa
per identificare lo spam
• Grazie al contributo degli utenti, Razor mantiene
un DB di spam in propagazione che i client
possono consultare per filtrare lo spam
• Razor calcola poi la probabilità che un mail sia
spam. SpamAssassin usa questo valore [0-1] per
incrementare il punteggio.
• L’input degli utenti viene pesato in base alla
reputazione degli utenti
• La reputazione è costruita sul consenso nel
riportare o revocare gli spam
Michele Michelotto - Padova
Punteggi
• Non si devono sottomettere spam identificati
automaticamente, solo umani (esclusi quelli delle
spam trap)
• Riportare spam o revocare spam aumenta il
punteggio dell’utente. Riportare come spam un
mail che poi molti utenti dovranno revocare
danneggia il punteggio
• Razor2 identifica tra 60% e 90% degli spam
– Sembra poco ma va usato in aggiunta ad altri sistemi
– Specializzato nell’identificare mass e-mailing
Michele Michelotto - Padova
Razor configuration
bash-2.04# cd /etc
bash-2.04# cd razor/
bash-2.04# ll
total 26
lrwxr-xr-x 1 root sys
29 Apr 7 14:42 identity -> [email protected]
-rw------- 1 root
sys
68 Apr 7 15:00 identity-razor3
-rw------- 1 root
sys
100 Apr 7 14:42 [email protected]
-rw-r--r-- 1 root
sys
3448 Apr 7 15:00 razor-agent.log
-rw-r--r-- 1 root
sys
426 Mar 2 09:57 server.folly.cloudmark.com.conf
-rw-r--r-- 1 root
sys
453 Apr 7 14:41 server.joy.cloudmark.com.conf
-rw-r--r-- 1 root
sys
480 Mar 2 10:47 server.pride.cloudmark.com.conf
-rw-r--r-- 1 root
sys
480 Mar 2 10:46 server.thrill.cloudmark.com.conf
-rw-r--r-- 1 root
sys
41 Apr 7 14:41 servers.catalogue.lst
-rw-r--r-- 1 root
sys
14 Apr 7 14:38 servers.discovery.lst
-rw-r--r-- 1 root
sys
38 Apr 7 14:41 servers.nomination.lst
bash-2.04# more servers.nomination.lst
joy.cloudmark.com
folly.cloudmark.com
Non accettano nuovi nomination server. In pratica puoi solo essere un client.
Probabilmente ad un certo punto si faranno pagare. Oppure non ho capito il loro
business model
Michele Michelotto - Padova
Pyzor
• Sistema collaborativo, distribuito per rivelare
e bloccare spam usando estratti dei
messaggi.
• All’inizio solo una implementazione Python di
Razor. Ma il protocollo e i server di Razor
non sono OpenSource.
• Ora Pyzor è sotto GPL. Quindi si possono
avere server indipendenti. Peering tra i
server in futuro.
Michele Michelotto - Padova
Come funziona
• I clienti possono confrontare i
messaggi tra di loro creando
delle firme digitali del body
• Poi chiedono al sever se altri
hanno riportato quella firma
come spam.
• In caso affermativo
identificano il mail come spam
• Uso delle spamtrap per
automatizzare la
sottomissione di spam
Michele Michelotto - Padova
DCC
• Migliaia di client e oltre 200 server che raccolgono
ed elaborano checksum da circa 130 milioni di mail
al giorno
• I server SMTP (es quelli che usano SA) o anche i
MUA possono usare questi dati per filtrare spam.
• I server DCC si scambiano (via flooding) i
checksum
• I checksum hanno valori costanti anche in
presenza di comuni variazioni nei bulk mail
comprese le personalizzazioni
Michele Michelotto - Padova
L’idea di DCC
• Se tanti destinatari confrontano i mail che ricevono
possono riconoscere i bulk mail.
• Un server DCC aggrega i report dai diversi client e
risponde a richieste riguardo il conteggio dei
checksum di un messaggio
• Se il conteggio supera una soglia decisa dal client
(e non si trova in una whitelist) il client DCC decide
che il messagio è UBE
• Checksum semplici non sono efficaci. I checksum
sono fuzzy ed ignorano alcuni aspetti del
messaggio
Michele Michelotto - Padova
Traffico DCC
• Se viene usato con server isolati DCC perde molta
della sua efficacia. Un server DCC deve parlare
con i suoi vicini.
• Normalmente DCC causa traffico di rete
addizionale. Tuttavia l’interazione client-server
consiste in un paio di pacchetti UDP di 100 byte
(meno di una query DNS)
• Conviene mettere un server DCC vicino a client
attivi. Al momento ne esiste uno “pilota” al
IASF/CNR ( INAF).
• E uno sperimentale a INFN-Torino (grazie ad
Alberto D’Ambrosio)
Michele Michelotto - Padova
Efficacia
Michele Michelotto - Padova
Greylisting
• http://projects.puremagic.com/greylisting/
– Richiede che i mail da mittenti (numeri IP) non noti siano ritrasmessi
dal client SMTP del loro ISP.
– I mail da utenti noti sono passati aumaticamente
– Molti SPAM arrivano via “open proxies” o altri meccanismi con MUA
non standard.
– Un MUA standard ritrasmette il mail dopo un rifiuto 4xx temporaneo
(RFC2821 dice di ritrasmettere almeno 30 minuti dopo un failure
– Gli SPAM attraverso open proxies e i worms non ritrasmettono
– Richiede una versione modificata del server dcc
• NB Il messaggio ritrasmesso deve essere identico all’originale per finire
nella lista buona (oppure si usa “weak greylisting”)
• Si può ignorare una parte dell’indirizzo IP del mittente per il greylisting
per permettere ad utenti legittimi di cambiare client SMTP tra le
ritrasmissioni
Michele Michelotto - Padova
RBL
• Spam Assassin usa RBL (Realtime Block List)
– http://wiki.apache.org/spamassassin/DnsBlocklists
– Il problema delle RBL sta nel fatto che gli spammer
hanno trovato il modo di aggirarle usando “open relays”
oppure impadronendosi di computer usando virus o
programmi “trojan horse”
– Spesso usano queste fonti illecite solo per pochi minuti,
prima che un RBL riesca a identificarle e bloccarle
Michele Michelotto - Padova
Nuovi RBL
• SURBL
– Spam URI Realtime BlockList: Nuovo tipo di RBL
– SURBL: blocca (identifica) i messaggi basandosi sui
nomi di dominio nel body (di solito siti web)
– Quindi non blocca gli spam mail server come la maggior
parte delle RBL ma permette di bloccare messaggi
basandosi sui domini di spammer che sono nel body del
mail
– 40-60% identificazione con quasi zero falsi positivi
– Viene spesso usato insieme ai RBL convenzionali
(esempio liste di open relays)
– Esiste un plugin per SpamAssassin 2.63 (SpamCopURI)
Michele Michelotto - Padova
dspam
• http://www.nuclearelephant.com/projects/dspam/
– I filtri antispam diventano sempre più complessi.
– Gli spammer reagiscono con tecniche più
sofisticate “obfuscation”, word list injection,
sample flooding
– Principio della CS: Controllare la complessità e
non aumentarla.
– Altrimenti i filtri diventano troppo computing
intensive, quindi non scalabili. Combattere lo
spam costa più di gestirlo.
Michele Michelotto - Padova
dspam
• Filtro Statistico Ibrido
– Usa algoritmi per aumentare le capacità di
identificazione concettuale dei filtri
– Usa un insieme di feature ridotto (minori risorse)
– Max 99.985% di identicazione (10 meglio di un umano)
– Cerca di dare in pasto agli algoritmi attuali (Bayesiani,
Chi quadro, etc) usando tecniche tipo: Chained Tokens,
Inoculation Groups, Deobfuscation, Gruppi di
classificazione e tecniche di riduzione rumore (Bayesian
Noise Reduction)
Michele Michelotto - Padova
DeObfuscation
Text Splitting:
Subject: Get your F/R/E/E 10 Day Supply N/O/W! Mime-Version: 1.0
Commenti HTML
Yes you he<!lansing>ard about th<!crossbill>ese weird <!cottony>little
pil<!domesday> ls that are suppo<!=anabel>sed to make you bigger
and of cou<!chord>rse you think they're b<!soften>ogus snake potion.
Well, let's look
Diventa:
Yes you heard about these weird little pills that are supposed to make you
bigger and of course you think they're bogus snake potion. Well, let's
look
Michele Michelotto - Padova
SPF
• SMTP per disegno permette a chiunque di impersonare
l’indirizzo email di chiunque altro.
• Molti spammer inventano indirizzi e-mail per mandare
spam. Alcuni mailer (es CERN) bloccano hotmail.com o
aol.com a causa di questi indirizzi fasulli
• Sender Policy Framework (aka Sender Permitted From)
cerca di impedire lo spam prima ancora che il messaggio
venga spedito.
• SPF protegge dalle impersonificazioni. Come effetto
collaterale ho meno spam, meno worm, meno virus.
Obbliga gli spammer a mandare i mail dal loro dominio, in
questo modo li possiamo identificare meglio
• SPF in pratica protegge il return-path. Quando un worm o
virus cerca di cambiare l’indirizzo nello spam una vittima
innocente si becca il messaggio di bounce
Michele Michelotto - Padova
SPF
• Due fasi
– Transizione. Sposto gradualmente i miei utenti a
SASL. In questa fase posso comunque trarre
beneficio da SPF identificando molti spam
perchè alcuni ISP stanno già pubblicando i
record SPF.
– Quando tutti i miei utenti usano autenticazione
del mittente posso annunciare che il periodo di
transizione è finito e avere i pieni beneifici (il loro
goal è avere Hotmail, Yahoo e AOL dal 4 Luglio
2004)
Michele Michelotto - Padova
SPF non è
• La soluzione pensata per lo spam.
– L’obiettivo è fermare l’impersonificazione non lo
spam
– Non è un prodotto. Vuole diventare uno standard
open, una estensione di SMTP
– Non pensato per identificare lo username.
Identifica solo il nome del dominio (per il
momento)
Michele Michelotto - Padova
SPF è
• La controparte naturale del recod MX
• Standard aperto, estensioni di SMTP
• Supportato da SpamAssassin, Sophos, Symantec,
etc…
• Utile contro virus, worms
• Soluzione permanente, non richiede manutenzione
o update di filtri.
• È progettato per proteggere il return-path. Con un
pò di lavoro e complessità può proteggere anche il
campo “From:”
Michele Michelotto - Padova
Problemi di SPF
• Non si fa la frittata senza rompere le uova
• SPF rompe due uova: forwarding e mail generati
da web
• Ci sono contromisure per questo. Trasparenti agli
utenti e che riguardano solo gli amministratori.
• La soluzione di chiama SRS (Sender Rewriting
Scheme)
• Anche chi usa “.forward” e “/etc/aliases” deve
passare ad un MTA SRS-enabled
• Tema controverso tra gli esperti e in IETF
Michele Michelotto - Padova
CRM114
• http://crm114.sourceforge.net/
• Sistema per esaminare incoming email, system
log, file di dati e manipolarli (sort, filtri, modifiche) a
volontà.
• Criteri per classificare i dati
– Regex, sparse binary polynominal con Bayesian Chain
Rule, Modelli Markoviani e altri.
• Compatibile con SpamAssassin e con procmail.
Usabile anche per syslog o per filtrare i log di un
firewall
• Prestazioni: 99.984%: un errore su 8738 messaggi
(4240 spam e 4498 ham). Filtra 120 KB/s su un
Pentium III 1.4 MHz)
Michele Michelotto - Padova
Tarpits
• Un mail server che risponde in modo
patologicamente lento ad un client
– Accetta i mail normalmente ma se pensa di essere
contattato da uno spammer rallenta
– Teergrube: Quando un server risponde intenzionalmente
molto lento ai client. Postifix per esempio lo può fare
(www.postifx.org/rate.html)
– Oppure a livello TCP. Riduce la window size a zero ma
continua a mandare l’ACK dei pacchetti, quindi tiene
appeso il processo dello spammer a tempo indefinito.
Usabile anche per assorbire attacchi di worms
Michele Michelotto - Padova
Tarpit-Honeypot
• Un altro tarpit imita un MTA con relay aperto.
– Gli spammer che cercano sistemi con relay
aperto cercano di mandare mail.
– Il sistema semplicemente cancella questi
tentativi di spam, oppure li sottomette a DNSBL
(DNS Based Blackhole List) oppure li tiene per
analizzarli.
– Può anche lasciare passare qualche messaggio
di tanto in tanto per simulare un vero relay
Michele Michelotto - Padova
Challenge/Response
• Il mail server prima di consegnare il mail controlla
se conosce il mittente
• Se ignoto chiede al mittente di passare alcuni test,
se li passa il mittente viene “whitelistato”
– Esempio. Leggere una parola nascosta in una immagine
(magari un’immagine molto confusa)
– Questi sistemi discriminano i non-vedenti o gli ipovedenti
– Interagiscono molto male con le mailing list
– Interagiscono molto male tra di loro (loop di C/R)
• Sistemi mooolto controversi (li sconsiglio
vivamente)
Michele Michelotto - Padova
Situazione INFN
• Mailing List INFN [email protected]
– Spesso molto attiva dal Maggio 2003 (oltre 100
mail/anno) ma a burst.
– Piena di gente competente (c’è anche Claudio Allocchio)
• Gruppo Mailing INFN
– Devono aver fatto una riunione 30/6/2003 ma non so c’è
altro oltre a quello che si vede nella lista mailmgr
• Gruppo di lavoro GARR [email protected]
– Partito su spinta di [email protected]
– Una riunione a Firenze ad Aprile con una decina di
persone (3 INFN, 2 CNR, altri singoli)
Michele Michelotto - Padova
Questionario
• Risposte:
– Ringrazio: Ferrara, Trieste, Genova, Milano, Bologna, Roma3, Pisa,
Firenze, Bari, Padova, Roma2, Torino, Lecce, Perugia
– Gli altri non hanno ricevuto il questionario dal membro di CCR?
• Software Mail Relay:
– 2/14 postfix, 12/14 sendmail ma 3 di questi vorrebbero o stanno
per passare a postfix
• Macchina Mail Relay
–
–
–
–
4/14 Alpha in migrazione verso Intel/linux
7/14 Intel/Linux(di cui uno vorrebbe passare a Intel/xBSD
3/14 Intel/xBSD
Linux vari (RedHat, Mandrake, Suse)
Michele Michelotto - Padova
Q: Risorse Umane
• Quanti FTE per gestire e-mail (%)
– 5,10,15,25,20,30,30,20,20,25,10,10,50
– NB ci sono sezioni con un unico FTE nel servizio
e altre con diversi FTE
• Di questo tempo quanto per il problema
spam?
– 5,5,33,95,90,70,90,20,25,50,80,5,80
• Per alcuni lo spam non è un problema ma
per gli altri invece è l’unico grosso problema
della posta
Michele Michelotto - Padova
Q: Tools antispam
• 1/14 il tool antispam interno a RAV
• 12/14 Spam Assassin di cui
– Due lo usano lo usano con Razor
– Uno lo usa con i filtri bayesiani
– Uno lo usa con DCC
– Uno lo usa con Razor + Pyzor + BlackList
– Uno lo usa con tutto il possibile
Michele Michelotto - Padova
Q: Tools antivirus
• 8 su 14 usano antivirus nel server di posta
– 3/8 RAV
• Di questi uno sta provando amavis/symantec, vexira, amavis+clamav
• Uno ha RAV+clamav
– 3/8 Amavis (uno con clamav e due con Sophos)
– 1/8 Vexira
– 1/8 Clamav+milter
• 2 su 14 usano Mime-defanger o rinominano gli attachment
• 4 su 14 non usano antivirus
–
–
–
–
Di questi uno educa gli utenti
Uno vuole passare a Sophos o Clamav
Uno si affida all’antivirus Symantec sui client
Uno aspetta di sapere la posizione INFN o del gruppo Mailing
Michele Michelotto - Padova
Q: L’AV avverte il mittente?
• 4/8 mandano l’avviso al mittente anche se
spoofato (ma uno vuole togliere questa
funzione)
• 4/8 non mandano l’avviso
• Uno non ha l’AV ma se lo avesse non
avvertirebbe
Michele Michelotto - Padova
Della porta 25
• 6/14 usano autenticazione (quindi sono open
relay per i propri utenti autenticati)
– Di questi due usano STARTLS
– Di questi uno usa AFS
– Gli altri 8/14 non usano autenticazione
• 14/14 hanno chiuso la porta 25 in entrata
– solo i mailserver fanno da relay
• 10/14 hanno chiusa la porta 25 in uscita
– 4/14 non l’hanno chiusa ma uno ha intenzione di
farlo (se gli utenti non fanno un colpo di stato)
Michele Michelotto - Padova
Q: webmail + commenti
• 4 i commenti:
•
•
•
•
•
•
•
4 * SquirellMail
5 * IMP
Horde + IMP
IMP + Https
IMP + Squirellmail
Roxen + IMHO
OpenWebMail
– “Forse abbiamo aspettato troppo prima di
affrontare in modo comune il problema
dell'antivirus sulla macchina di posta (nel
senso: quale antivirus usare)”
– “Studiare la dipendenza del mailserver da
altre macchine (es dal DNS, disk server,
NIS)”
– “..Condividere il lavoro fatto soprattutto
per aiutare le piccole sezioni o quelle
sottodimensionate”
– “Vorrei un parere legale su cosa sia lecito
filtrare sul mail server”
Michele Michelotto - Padova
Domande?
Michele Michelotto - Padova
Scarica

Convivere con lo spam