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