60460 Letture

Spam: strumenti e strategie per difendersi dalla posta indesiderata

Il termine “spam”, contrazione dei termini inglesi “Spiced” ed “Ham”, identificava inizialmente soltanto un tipo di carne in scatola molto famosa tra le famiglie americane. Successivamente, è stato introdotto anche in ambito informatico per descrivere tutte quelle pratiche che ostacolano le proprie possibilità di comunicazione. Ma cosa c’entra la carne in scatola? L’utilizzo del termine spam per riferirsi alla posta elettronica indesiderata viene fatto derivare da una scenetta del programma “Monty Python’s Flying Circus” ambientata in una taverna: la cameriera propone allo sfortunato avventore solo ed esclusivamente cibi a base di spam; il cliente – che non gradisce la carne in scatola – viene però a trovarsi schiacciato dall’insistenza della cameriera e dai cori innalzati da un gruppo di vichinghi seduti al tavolo accanto. Questi ultimi intonano cacofonici motivetti all’interno dei quali ricorre la parola “spam”. Come nello sketch di Monty Python, anche in informatica lo spam infastidisce e disturba: i messaggi di posta elettronica indesiderati, che molti di voi quotidianamente ricevono in mailbox, sono gli esempi più comuni di spam.
Le probabilità di ricevere posta indesiderata aumentano in modo esponenziale se il proprio indirizzo e-mail viene pubblicato sui newsgroup, sul web od in altre aree pubbliche della Rete. Gli spammer, infatti, utilizzano degli strumenti che effettuano una scansione delle risorse disponibili in Rete estraendo quanti più indirizzi e-mail possibile. Una volta acquisiti, gli indirizzi e-mail vengono bersagliati con messaggi di ogni genere. Gli spammer, inoltre, sono collegati tra loro: può capitare quindi, che il vostro indirizzo di posta elettronica, sia trasmesso a decine di altri personaggi senza scrupoli. E’ palese come questo tipo di attività siano assolutamente illegali in Italia così come in molti altri Paesi: il nostro Garante, ad esempio, ha sancito come lo spam sia da considerarsi un illecito penale.
Purtuttavia, gli spammer proseguono imperterriti i loro invii di posta indesiderata: la spedizione di migliaia di e-mail ad account di tutto il mondo è un’attività che ha costi assai limitati e che può portare facili profitti considerando che, purtroppo, sono molti a cadere nelle truffe spesso pubblicizzate nei messaggi di spam (presentazione di improbabili metodologie per far soldi facilmente basati su schemi multilivello, truffe legate all’ambito della salute o delle diete, offerte di strumentazioni illegali, false proposte di lavoro retribuito,…). Di contro, è invece molto alto il prezzo che gli spammer fanno scontare alla collettività: i provider Internet sono costretti ad aumentare la banda disponibile, le aziende e gli utenti devono adottare tecniche e metodologie per fronteggiare il fenomeno dello spam con inevitabili perdite di tempo e denaro.

I software che vi presentiamo di seguito offrono gli strumenti per separare le e-mail indesiderate da quelle legittime.

Gli approcci utilizzabili sono essenzialmente tre: utilizzo di “blacklist” online (DNSBL); uso di filtri bayesiani; filtri basati sulle parole contenute nei messaggi di posta ricevuti.


Le “liste nere” DNSBL si basano sull’analisi del mittente dell’e-mail: l’intestazione del messaggio viene confrontata con le informazioni raccolte dalle varie liste online. Se l’e-mail appare come proveniente da indirizzi IP che hanno inviato o spediscono spesso spam, da “open proxy” od “open-relay mail server”, il messaggio viene classificato come indesiderato.
L’uso delle DNSBL può aiutare ma presenta comunque qualche “effetto collaterale”: c’è il rischio che qualche e-mail possa essere erroneamente classificata come spam. Le DNSBL vengono infatti mantenute da terzi: è bene sempre accertarsi della bontà di una lista DNSBL per evitare che vengano cancellate e-mail importanti, del tutto legittime.
I filtri bayesiani, invece, consistono in un complesso ed efficace sistema di classificazione dei messaggi in base al loro contenuto: alle varie parole che compongono ogni e-mail viene assegnato un punteggio specifico; quando il punteggio supera un certo valore di soglia, il messaggio viene immediatamente classificato come “spam”.
I software presentati più avanti, offrono la possibilità di sfruttare, contemporaneamente, le diverse metodologie per l’individuazione dello spam. Quelli che integrano l’uso dei filtri bayesiani, riescono in generale a dare il meglio di sé dopo un periodo iniziale di “apprendimento”: l’utente deve indicare manualmente i messaggi che risultano essere spam e non ancora riconosciuti automaticamente come tali. In questo modo, il software antispam potrà aggiornare il proprio dizionario riuscendo a classificare correttamente ed in modo autonomo un sempre maggior numero di e-mail. Sul medio-lungo periodo, i software che utilizzano filtri bayesiani sono quelli che daranno maggiori soddisfazioni in termini di efficienza ed efficacia.
Spamihilator è certamente il programma più abile, nell’immediato, nel riconoscere e-mail di spam. Abbiamo “dato in pasto” a tutti software presentati nelle pagine che seguono il contenuto di una nostra casella di posta elettronica volutamente lasciata esposta alle attività degli spammer: Spamihilator è il software che ha evidenziato, sin dalla prima installazione, le migliori performance. Su 300 e-mail di spam, il programma non ha riconosciuto come indesiderati soltanto 2 messaggi. Fiore all’occhiello di Spamihilator è anche il supporto dei plug-in. “Di serie” se ne trovano attivati quattro: il filtro DCC “checksum-based”, il plug-in per l’individuazione come indesiderati di messaggi contenenti immagini facenti riferimento a server esterni alla rete locale, quello che consente di “cestinare” e-mail contenenti allegati sospetti, il plug-in che evita di perdere newsletter alle quali ci si è iscritti e che, diversamente, potrebbero essere riconosciute come spam.
Sia Spamihilator che PopFile fungono da “proxy server”: ciò significa che fungono da intermediari tra il client di posta ed il server (POP3/IMAP) del provider Internet. In entrambi i casi, quindi, è indispensabile fare in modo che il client di posta elettronica faccia riferimento non più direttamente al server del provider ma al proxy locale (127.0.0.1 o localhost). Spamihilator effettua automaticamente tutte le modifiche necessarie agli account di posta elettronica di qualunque client e-mail mentre PopFile supporta solo i client Microsoft (per gli altri, è necessario operare manualmente le varie modifiche).
SpamAware è invece il programma per chi ha fretta ed utilizza esclusivamente Outlook od Outlook Express. Il suo utilizzo è elementare (non necessita la riconfigurazione degli account e-mail) pur poggiando le sue fondamenta su SpamAssassin. Mail Box Dispatcher, invece, utilizza un approccio diverso: la sua analisi antispam è effettuabile a propri, direttamente sul server di posta del provider Internet, evitando così la necessità di dover scaricare in locale tutte le e-mail. Questa possibilità risulta particolarmente utile ed interessante per coloro che ancora oggi sono alle prese con connessioni “lente” – a banda stretta – come quelle offerte da modem 56k o ISDN.


Metodologie per l’individuazione dello spam
SpamAssassin è un software ampiamente conosciuto nella comunità Linux. Rilasciato sotto licenza Apache 2.0, si tratta di un’efficace soluzione antispam basata sull’analisi del contenuto dei messaggi di posta elettronica ma che supporta anche l’utilizzo di DNS black list ed il filtraggio effettuato su basi statistiche. Il programma, inoltre, è interfacciabile con altre applicazioni sviluppate da terze parti. SpamAssassin è stato sviluppato in Perl da Justin Mason e distribuito alla comunità di SourceForge.net nel mese di Aprile 2001.

I software che fanno uso di SpamAssassin riescono, sin dalla prima installazione, a riconoscere correttamente un gran numero di e-mail indesiderate: ne è un esempio SpamAware, software presentato più avanti, che sfrutta a piene mani il “motore” di SpamAssassin. Quest’ultimo, infatti, viene fornito con un ampio insieme di regole predefinite per determinare se un messaggio sia considerabile spam o meno: all’interno dell’intestazione e del corpo del testo dell’e-mail vengono ricercate corrispondenze con una serie di “regular expressions”. Si tratta di stringhe di carattere che descrivono insiemi più ampi di stringhe, in base a specifiche regole sintattiche. Esempi comuni di applicazioni che utilizzano le “regular expressions” sono gli editor di testo: è possibile effettuare modifiche al testo di un documento in base a modelli (“pattern”) specifici. Per esempio, l’espressione (a, b)* denota l’insieme di tutte le stringhe costituite da una qualsiasi combinazione delle lettere “a” e “b”, compresa la stringa vuota.
Nel caso di SpamAssassin, se il testo di un’e-mail riflette una o più delle espressioni presenti nel suo database, al messaggio viene assegnato un punteggio specifico ed inseriti degli elementi aggiuntivi (liberamente personalizzabili) nell’intestazione. Quando il punteggio supera un certo valore limite, l’e-mail viene trattata come spam.
Ma SpamAssassin supporta anche altre tecniche di filtraggio: l’uso delle liste DNSBL, di filtri basati su checksum come DCC e di quelli bayesiani basati sull’apprendimento da parte del software (necessitano della collaborazione dell’utente).


Word list e “regular expressions”. SpamAssassin, SpamAware, Spamihilator, si basano sull’uso di “word list” (parole ampiamente ricorrenti nei messaggi di spam) e “regular expression”. Questi elenchi sono generalmente personalizzabili agendo sull’interfaccia del programma o sui file di configurazione.

DNSBL. “Liste nere” mantenute da diverse organizzazioni in Rete. Raccolgono informazioni su indirizzi IP utilizzati dagli spammer, su “open proxy” e “open relay server”. Gli “open proxy” sono generalmente sistemi che sono stati violati da parte di hacker, aperti verso l’esterno e trasformati in macchine facilmente utilizzabili per l’invio di spam. Tutto questo, generalmente, all’insaputa dell’amministratore o del proprietario del sistema “vittima”. Gli “open relay server” si comportano esattamente come gli open proxy sebbene siano nati con lo scopo di facilitare la libertà d’espressione in Rete. Hanno però di solito vita breve proprio perché sono sovente utilizzati dagli spammer.

Filtri “checksum-based”. I principali esempi sono DCC – utilizzato, tra l’altro, da Spamihilator – e Vipul’s Razor. La logica che sta alla base di questi sistema è il dato di fatto che la stragrande maggioranza delle e-mail di spam viene inviata in molteplici come, a molti account utente, in tutto il mondo. Ogniqualvolta un server individua un’e-mail di spam effettua il “checksum” della stessa ossia genera una sorta di “codice di controllo” univoco che viene poi trasmesso ad un archivio centralizzato al quale può poi attingere liberamente qualunque client. Per ciascun messaggio ricevuto, viene confrontato il checksum con le informazioni disponibili online: se queste coincidono, significa che il messaggio è da considerarsi come indesiderato. DCC sfrutta il protocollo UDP e non è particolarmente esoso di banda (sebbene sia consigliabile attivarlo solo nel caso in cui si utilizzi una connessione a banda larga).


Filtri bayesiani. Il matematico inglese Thomas Bayes nel 1763 si rese noto nel campo della statistica per aver enunciato il suo teorema sulla probabilità condizionata. A quasi due secoli e mezzo di distanza, il teorema di Bayes è utilizzato da molti software nella lotta contro lo spam: con la collaborazione dell’utente, i vari programmi antispam – dopo un periodo iniziale di addestramento – saranno in grado di rilevare con grande precisione i messaggi di spam, separandoli da quelli legittimi.

Combattere lo spammer all’origine: denuncia al provider. Tutti gli strumenti presentati in questo articolo, permettono di operare a posteriori eliminando senza fatica tutti i messaggi di posta elettronica indesiderati. Per poter essere combattuto in modo efficace, il fenomeno dello spam dovrebbe essere arginato all’origine ovvero denunciando l’invio della posta indesiderata al provider che fornisce il servizio allo spammer. In base alle segnalazioni pervenute, il provider può interrompere l’accesso alla Rete allo spammer od inibirgli l’uso del suo server di posta. Il “percorso” seguito da un messaggio di posta elettronica prima di giungere a destinazione, nella vostra mailbox, è registrato nell’intestazione (header) dell’e-mail stessa. Si tratta di informazioni che generalmente vengono nascoste dal client di posta elettronica ma che sono visualizzabili ricorrendo all’uso di un apposito comando. Nel caso di Outlook Express, ad esempio, cliccando con il tasto destro del mouse su un qualunque messaggio, scegliendo la voce Proprietà, selezionando la scheda Dettagli infine Messaggio originale, si ha modo di consultare tutte le intestazioni.
Va però sottolineato come parte delle informazioni che compongono l’intestazione del messaggio può essere falsificata dallo spammer: in questo modo egli getta fumo negli occhi di chi tenta di stabilire il server da cui è partita effettivamente l’e-mail indesiderata.
I campi contrassegnati con la voce Received vengono aggiunti da ogni server di posta che si trova a smistare l’e-mail. Le intestazioni vanno lette al contrario: i server indicati in testa sono gli ultimi ad aver ricevuto il messaggio. Lo spammer può aggiungere delle righe Received false ma non può modifiche quelle autentiche né inserire dati fasulli tra righe “legittime”.
All’indirizzo www.collinelli.net, gli interessati ad approfondire possono trovare una guida che illustra in modo dettagliato e con esempi pratici, come sia possibile risalire al mittente di un’e-mail di spam, anche qualora lo spammer abbia utilizzato molteplici espedienti per falsificare le intestazioni. Qui ci limitiamo a segnalare il software italiano Abuse!, prelevabile gratuitamente, nella sua ultima versione, facendo riferimento a questa pagina. Si tratta di un programma che si incarica di analizzare le intestazioni di un’e-mail di spam nell’intento di stabilire il server da cui è partita e gli indirizzi e-mail del provider presso il quale ci si deve lamentare.

Il funzionamento di Abuse! è molto semplice: è sufficiente trascinare od incollare nella finestra E-mail da analizzare, il messaggio di spam completo di intestazioni quindi cliccare su Inizia l’analisi. Il programma informa anche l’utente, nel report finale, se il mailserver risulti essere un “open proxy” o meno. Abuse! permette di inviare una LART ossia un’e-mail di protesta al provider che fornisce l’accesso ad Internet allo spammer in modo che possano essere adottati i provvedimenti del caso.


Spam: strumenti e strategie per difendersi dalla posta indesiderata - IlSoftware.it