michele michelotto - padova spam, spam, bacon and spam (convivere con lo spam) castiadas - maggio...

72
Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Upload: angiola-rosati

Post on 02-May-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

spam, spam, bacon and spam(convivere con lo spam)

Castiadas - Maggio 2004

Michele Michelotto, Fulvia Costa

Page 2: Michele Michelotto - Padova 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

Page 3: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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.

Page 4: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

SPAM

Spiced Pork Ham. Carne in scatola dei soldati americani nel dopo guerra

Monty Python

Page 5: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

SPAM

Page 6: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 7: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 8: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 9: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Page 10: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 11: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 12: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 13: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 14: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 15: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 16: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 17: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 18: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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:

Page 19: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

X-Spam-Score

Page 20: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 21: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 22: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 23: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Sovrapposizione

SPAMHAM

Page 24: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 25: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 26: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 27: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 28: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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%

Page 29: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Formula

TS = numero dei mail di tipo SPAMNS = numero di presenze di una parola tra gli SPAMTH = numero dei mail di tipo HAMNH = numero di presenza di una parola tra gli HAMPS = 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

Page 30: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Creare il DB HAM• 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:

1. Il database è pubblico e quindi gli spammer lo possono studiare e bypassare (vedi: www.mapilab.com/articles/outlook_spam_filter.html)

2. Il DB di HAM è generale e non adattato al vostro solito traffico è meno efficace e più esposto a falsi positivi.

Page 31: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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”

Page 32: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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à

Page 33: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

SA + BayesProbabilità Test local, net, with_bayes, bayes+netDa 0% a 1% BAYES_00 0 0 -4.901 -4.900Da 1% a 10% BAYES_01 0 0 -0.600 -1.524Da 10% a 20% BAYES_10 0 0 -0.734 -0.454Da 20% a 30% BAYES_20 0 0 -0.127 -1.428Da 30% a 40% BAYES_30 0 0 -0.349 -0.904Da 40% a 44% BAYES_40 0 0 -0.001 -0.001Da 44% a 49.99% BAYES_44 0 0 -0.001 -0.00150% non fornisce alcun pesoDa 50.01% a 56% BAYES_50 0 0 +0.001 +0.001Da 56% a 60% BAYES_56 0 0 +0.001 +0.001Da 60% a 70% BAYES_60 0 0 +1.789 +1.592Da 70% a 80% BAYES_70 0 0 +2.142 +1.255Da 80% a 90% BAYES_80 0 0 +2.442 +1.657Da 90% a 99% BAYES_90 0 0 +2.454 +2.101Da 99% a 100% BAYES_99 0 0 +5.400 +5.400NB Se uno spam non viene riconosciuto dal filtro bayesiano potrebbe ricevere un

punteggio fortemente negativo e quindi vanificare l’effetto delle regole “statiche”

Page 34: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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.

Page 35: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Server primario

Miglioramento identificazione da 60.7%

a 79.4% senza falsi positivi

Spam scores + bayesian - Totali

0

10000

20000

30000

40000

50000

60000

-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

Mail rivevuti 368194Spam rilevati 292510Percentuale 79.4%

Spam Scores - Totali

0

5000

10000

15000

20000

25000

30000

35000

40000

-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

Mail rivevuti 304034Spam rilevati 184682Percentuale 60.7%

Page 36: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Secondario

Spam Scores - Spamassassin + Bayesian

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

-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

Totali 95744Spam 89481

93.5 % bsdsz213 giorni

Spam scores - Spamassassin

0

2000

4000

6000

8000

10000

12000

-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

Totali 72888Spam 53873

74%

bsdsz213 giorni

In 13 giorni miglioramento identificazione da 74% a 93.5% senza falsi positivi

NB in pratica il secondario riceve solo spam

Page 37: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

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?

Page 38: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Invecchiamento

0

10

20

30

40

50

60

70

80

90

100

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41

% Spam

% + Bayes

% Bayes

Primario

Page 39: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Invecchiamento

0

20

40

60

80

100

120

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

% Spam

% + Bayes

% Bayes

Secondario

Page 40: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

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

Page 41: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 42: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Razor configurationbash-2.04# cd /etcbash-2.04# cd razor/bash-2.04# lltotal 26lrwxr-xr-x 1 root sys 29 Apr 7 14:42 identity -> [email protected] 1 root sys 68 Apr 7 15:00 identity-razor3-rw------- 1 root sys 100 Apr 7 14:42 [email protected] 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.lstbash-2.04# more servers.nomination.lst joy.cloudmark.comfolly.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

Page 43: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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.

Page 44: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 45: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 46: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 47: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 48: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Efficacia

Page 49: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 50: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 51: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 52: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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.

Page 53: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 54: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

DeObfuscation

Text Splitting:

Subject: Get your F/R/E/E 10 Day Supply N/O/W! Mime-Version: 1.0

Commenti HTMLYes 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

Page 55: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 56: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 57: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 58: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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:”

Page 59: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 60: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 61: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 62: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 63: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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 ipo-

vedenti– Interagiscono molto male con le mailing list– Interagiscono molto male tra di loro (loop di C/R)

• Sistemi mooolto controversi (li sconsiglio vivamente)

Page 64: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 65: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 66: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 67: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 68: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 69: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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

Page 70: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

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)

Page 71: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Q: webmail + commenti

• 4 * SquirellMail• 5 * IMP • Horde + IMP• IMP + Https• IMP + Squirellmail• Roxen + IMHO• OpenWebMail

• 4 i commenti:– “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”

Page 72: Michele Michelotto - Padova spam, spam, bacon and spam (convivere con lo spam) Castiadas - Maggio 2004 Michele Michelotto, Fulvia Costa

Michele Michelotto - Padova

Domande?