TesinaSpam2
SPAM
1 - Che cos'è lo spam?
Lo spam è la posta elettronica distribuita massivamente a numerosi destinatari che non hanno chiesto di riceverla, e costituisce uno dei più grossi problemi che affliggono l'Internet di oggi.
Cercando su un vocabolario di inglese la parola 'spam', la si trova con il significato di "carne di maiale in scatola (deriva da spiced ham)". In effetti negli USA è diffuso un tipo di carne in scatola chiamato SPAM e prodotto da un'azienda di nome Hormel. Il significato che interessa è derivato da una scenetta comparsa in un episodio della serie televisiva "Monty Python's Flying Circus". Nella scena in questione, un uomo e sua moglie entrano in un ristorante e prendono posto; poco distante da loro c'è una tavolata di buontemponi, con in testa i caratteristici elmi da vichinghi. Quando la cameriera chiede alla coppia l'ordinazione,elenca una serie di pietanze contenenti la carne spam e contemporaneamente a tratti i vichinghi cantano: "Spam spam spam..." fragorosamente.La cliente tenta ripetutamente di chiedere qualcosa che non contenga spam e, naturalmente, a ciò che lei chiede si sovrappone la canzone dei vichinghi aggiungendo spam; finché il marito si offre di mangiarlo lui. Dunque l'idea che ha portato alla scelta del termine è quella di un disturbo di livello e continuità tali da ostacolare la possibilità di comunicare. Passando dalla scenetta del film all'ambiente della rete, resta nel concetto di spam il fatto che abbiamo a che fare con un disturbo alla capacità di comunicazione di molti. Questo disturbo si concretizza in messaggi, aventi la carattaristica di essere ripetitivi o molteplici, i quali messaggi vengono, in sostanza, diffusi avvalendosi delle funzionalità della rete, senza rispettare lo scopo per il quale tali funzionalità esistono.
2 - Perchè fare spam?
L'occasione per abusare della rete può essere suggerita da qualsiasi esigenza, più o meno legittima per la quale si cerchi visibilità di fronte al pubblico più vasto possibile, approfittando impropriamente della condizione di accessibilità in cui i frequentatori della rete si sono messi al fine di beneficiare della propria connessione. Circa il 64% dell'intero traffico che circola ogni giorno su internet sono inviate da una rosa di circa 10 spammers professionisti, capeggiati dall'ucraino Alex Blood. Questo è quanto dice l'autorevole organizzazione internazionale Spamhaus che da otto anni lotta contro questa piaga responsabile ogni giorno della bellezza di 55 miliardi di e-mail spazzatura. Blood utilizza anche gli pseudonimi di Alexander Mosh, Alesksey B e Alex Polyakov, quest'ultimo tratto dal nome di una spia sovietica del romanzo "Il topo" di John Le Carrè. Nella top ten di tutti gli spam ci sono poi quattro russi, due americani, un canadese, un israeliano e un cinese di Honk-Kong. Blood è uno specialista in farmaci sessuali tipo Viagra e in pedopornografia, il secondo classificato, Leo Kuvayev (in foto) predilige invece il software. Il sito Spamhous ha detto che "Gli spam continuano ad affliggere Internet perché un ristretto numero degli Internet Provider (le aziende che permettono la navigazione) vende per profitto i dati dei suoi clienti oppure non fa niente per prevenire i messaggi non desiderati". Ma gli spammers che vantaggio traggono nel mandare tutti i giorni quelle schifezze? Semplice profitto. Ottengono una percentuale variabile a seconda del prodotto o sottoscrizione che riescono a piazzare in rete, servizi bancari o finanziari, prodotti farmaceutici o pornografici. E per aggirare la legge degli Stati Uniti e dell'Unione Europea, dove lo spammer è proibito, questi ragazzi cambiano spesso Paese andando per esempio in Russia o Cina e in tutti quei paradisi fiscali dove la legislazione è più permissiva. Oltre ad avere un profitto con la pubblicità ci sono attività truffaldine come il phishing,che è utilizzata per ottenere l'accesso a informazioni personali o riservate con la finalità del furto di identità mediante l'utilizzo delle comunicazioni elettroniche, soprattutto messaggi di posta elettronica fasulli o messaggi istantanei, ma anche contatti telefonici. Grazie a questi messaggi, l'utente è ingannato e portato a rivelare dati personali, come numero di conto corrente, numero di carta di credito, codici di identificazione, utilizza questi dati per acquistare beni, trasferire somme di denaro o anche solo come "ponte" per ulteriori attacchi.
3 - Perchè lo spam è un problema?
“Lo spamming è il flagello della posta elettronica e dei gruppi di discussione su Internet. Può interferire in modo serio con il funzionamento dei servizi pubblici, per non parlare dell'impatto che può avere sul sistema di posta elettronica di ogni individuo. ... Gli spammers, in effetti, sottraggono risorse agli utilizzatori ed ai fornitori di servizi, senza risarcimento e senza autorizzazione. "
Uno spammer nell'arco di qualche ora può facilmente raggiungere milioni di destinatari, utilizzando qualche centinaio o migliaio di macchine-relay di ignare "terze parti" per moltiplicare il numero di indirizzi raggiunti. Di conseguenza, i costi globali associati alla distribuzione di uno spam possono essere molto elevati. Si è calcolato che la distribuzione di un tipico spam ha un costo di alcune centinaia di milioni o addirittura di miliardi di lire. Le componenti coinvolte sono molteplici:
• Il tempo perduto dai destinatari per scaricare, verificare e cancellare il messaggio. Ad esempio, cinque secondi moltiplicato per un milione di destinatari corrisponde a 1400 ore di lavoro;
• I costi di banda sostenuti da ISP e utenti (collegamento via telefono) per il trasporto del messaggio. Ad esempio, 10kB moltiplicato per un milione corrisponde a 10GB di dati, il cui transito prende circa 20 giorni di tempo-linea assumendo una velocita' media di 6kB/s;
• I danni (sia quelli diretti sui sistemi che quelli indiretti dovuti alle malfunzioni) causati dalle congestioni indotte dallo spam.
4 - Classificazione delle tipologie di spam
Gli Spam possono essere classificati in base a due criteri: a seconda dei contenuti del messaggio o del sistema utilizzato per la distribuzione. Il primo caso si basa sia sui contenuti presenti nel messaggio, sia sul fine ultimo dell'invio del messaggio.
Home-made spam: Sono messaggi tipicamente spediti da persone che si sono avvicinate da poco alla rete, e che vogliono pubblicizzare qualsiasi loro tipo di attività, è molto facile riconoscere questo tipo di email, infatti normalmente tutti gli indirizzi dei destinatari sono spesso inseriti in blocco nella CC.
Newsletter spam: In questa categoria, ricadono tutti quei messaggi che arrivano con cadenza periodica, dopo essersi iscritti ad alcune Newsletter. Contengono nella quasi totalità dei casi numerose finestre pubblicitarie , con tutta probabilità sponsor affiliati al sito. Il carico di questi messaggi è spesso accompagnato da immagini, che allungano i tempi di download.
MLM spam, MMF spam o Schema di Ponzi: Sotto questa definizione ricade l'ormai vecchio ma sempre utilizzato sistema multi level, infatti MLM è l'acronimo di Multi Level Marketing. Generalmente si identifica questo tipo di spam sia dai prodotti offerti, sia dall'indirizzo Internet specificato nel messaggio.
Hoax: Ricadono sotto questo nome tutte le falsità ( le cosiddette “ bufale” che girano per la rete). Questi messaggi fanno spesso leva sulla credulità della gente, sfruttano allarmismi inutili o storie drammatiche inventate o realmente accadute; con l'unico intento di far rispedire il messaggio ad altri utenti, promettendo che tale azione miglioreranno in qualche modo la situazione drammatica descritta nel messaggio. Riconoscere un hoax è abbastanza semplice in quanto il meccanismo di "convincimento" è pressochè medesimo: si chiede sempre di inoltrare l'email ricevuta a più persone possibili, citando sempre fonti autorevolissime o aziende di fama mondiale. '' Catene di Sant’Antonio:'' Molto simili agli Hoax, sono prevalentemente dei racconti immaginari che predicono immensa fortuna a chi rinvierà tale messaggi ad altri utenti,e malasorte a chi non terra in considerazione l’email.
Spam Generico: In questa classe rientrano tutti messaggio, che non hanno trovato collocamento nelle classificazioni precedenti, quindi tutti i messaggi pubblicitari, le email pornografiche, promozioni ecc. ecc…
Nel secondo caso posso distingure tra:
Spam diretto: Lo Spam diretto è la tecnica più semplice e quella che garantisce un bassissimo livello di anonimato per lo spammer, è utilizzata per lo più da spammer “non professionisti”, consiste nell'utilizzare la propria connessione e delegando al proprio server di posta l’invio delle mail.
Spam Friendly: Sotto questa dicitura, ricadono i provider che supportano la diffusione dello spam. Questa tecnica utilizzata per lo più da spammers “professionisti”, è sempre più diffusa, e provider stringono accordi segreti con lo spammer per nascondere gli abusi da compiuti, permettendo ad esso di continuare la sua opera indisturbato.
Spam da relay aperto: Lo spammer tramite software appositi o connessioni telnet scarica l’email sul server, delegando ad esso il compito di rinviarla in molteplice copia, questa prova offre un grado di anonimato elevato per lo spammer, infatti tutte le lamentele ricadranno su tale server; ad esso non rimarra che visionare i log per individuare l’intrusore.
Spam da relay anonimo La tecnica è identica a quella descritta nel punto precedente, l'unica eccezione è la scelta del server SMTP; in questo caso lo spammer sceglierà server con software obsoleti o affetti da bachi; così renderà irreperibile anche il server utilizzato per inviare i messaggi.
Come funziona un relay aperto
Il relay aperto è una particolare impostazione del server di posta che consente di accettare e trasmettere messaggi di posta a chiunque senza che il mittente ed il destinatario dell’e-mail appartengano al sistema locale. Questo tipo di impostazione molto diffusa nei primi anni della rete Internet ha subito una battuta d’arresto a causa dell’attività degli spammer, i quali sfruttano il relay aperto per inviare un’unica e-mail con più destinatari andando così ad intasare e ad esaurire le risorse del server. Per risolvere il problema gli ISP hanno imposto ai loro server l’autenticazione dell’utente verificando così la sua reale autorizzazione all’invio dei messaggi di posta elettronica.
5 - Come posso identificare uno spammer?
Tutto quello che serve per individuare lo spammer è contenuto nell’ email, o meglio negli header. L’Header è la parte iniziale dell’email, normalmente non viene visualizzato dai browser di posta, se non su richiesta dell'utente; in esso sono contenute, sotto forma di testo, informazione relative all'intera vita dell’email: 1- fase di scrittura (informazione relative alla formattazione del testo) 2- fase di invio (informazioni relative al mittente, destinatario , oggetto…) 3- passaggi intermedi effettuati dall’email (informazioni relative ai server di posta interessati allo scambio dall’email).
Return-Path: <marianna-tedesco@libero.it>
Received: from smtp-in3.libero.it (192.168.32.9) by ims31a.libero.it (7.3.121.4)
id 46850F88001D3731 for katia_tedesco@libero.it; Wed, 18 Jul 2007 19:16:19 +0200
Received: from mailrelay07.libero.it (172.31.0.114) by smtp-in3.libero.it (7.3.120)
id 4611FD7A0E23CAB0 for katia_tedesco@libero.it; Wed, 18 Jul 2007 19:16:19 +0200
X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAADfnnUbAqBEF/2dsb2JhbAAN
Received: from unknown (HELO libero.it) ([192.168.17.5])
by outrelay07.libero.it with ESMTP; 18 Jul 2007 19:16:18 +0200
Date: Wed, 18 Jul 2007 19:16:18 +0200
Message-Id: <JLDXB6$CC90D533DC40BA6D8C8BF6271ECE6C03@libero.it>
Subject: ciao!
MIME-Version: 1.0
X-Sensitivity: 3
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
From: "marianna-tedesco" <marianna-tedesco@libero.it>
To: "katia tedesco" <katia_tedesco@libero.it>
X-XaM3-API-Version: 4.3 (R1) (B3pl19)
X-SenderIP: 151.41.221.39
X-Antivirus: avast! (VPS 000757-3, 17/07/2007), Inbound message
X-Antivirus-Status: Clean
La maggior parte dei campi presenti nell’Header sono inseriti dal browser di posta del mittente:
From: contiene il mittente della mail
To: contiene il destinatario della mail
Date: contiene la data di invio della mail
Message-ID: contiene un codice che identifica univocamente la mail
X-Mailer: contiene il tipo di software di posta in uso sul client del mittente
Subject: contiene il soggetto della mail
Cc: contiene altri destinatari a cui è stata inviata l’email in copia.
MIME-Version: indica la versione MIME(Multipurpose Internet Extension, ovvero un formato per la codifica in linguaggio binario di un messaggio E-Mail contenente suoni, immagini o file multimediali, e relativa trasmissione e gestione) del messaggio.
Content-Type: indica la natura dei dati contenuti
Content-Transfer-Encoding: indica il tipo di codifica dei dati utilizzati
X-scanner: in questo campo viene specificato il nome dell’antivirus eventualmente presente su uno dei server chiamati in causa
Gli unici campi non inseriti dal browser di posta del mittente sono quelli con la dicitura Received , essi vengono inseriti dai diversi server di posta attraversati dalla mail . Il campo Received contiene, dopo la parola “from”, la connessione o il server di posta che richiede il passaggio della mail e il relativo indirizzo IP; dopo la parola “by” sono riportate le informazioni relative al server che riceve in consegna la mail; qui troviamo l'indirizzo del server, la versione del software installato e un numero di serie assegnato dal server alla transazione di inoltro del messaggio in questione, il destinatario della mail la data, l'ora relativa alla ricezione della mail e la differenza di fuso. Come già detto nel paragrafo precedente, la maggior parte delle informazioni presenti nell’Header, sono inserite dal browser del mittente;quindi risultano essere inattendibili, e troppo facilmente falsificabili . Ben diverso è il discorso del campo Received, esso ha un valore oggettivo, ed è ciò su cui dobbiamo basarci per riuscire a individuare lo spammer. Il primo Received che troviamo nella lista sarà quello appartenente al nostro server di posta e sarà anche l'unico di cui possiamo affidarci al 100%. In seguito per identificare la connessione del mittente, dobbiamo scorrere la lista dei Received dall' alto verso il basso, verificando che i vari campi si concatenino uno all'altro come i pezzi del domino (in ognuno di essi troviamo la dicitura del server corrente e del server che lo ha preceduto); una volta risalita l'intera catena avremo trovato la connessione dello spammer.
5.1 - Proxy e IP Spoffing
Non sempre è possibile risalire all'esatto indirizzo della connessione utilizzata dallo spammer. Infatti gli spammer più organizzati riescono a celare, il loro vero indirizzo, utilizzando principalmente due tecniche: l’interposizione di un proxy tra loro e la rete, e l’IP Spoffing. Il proxy: si tratta di un servizio che tutti o quasi i provider offrono ai propri clienti e che può essere usato, per esempio, per navigare il web senza presentare ai siti visitati il proprio vero indirizzo ip. In pratica, il proxy viene interposto e il sito visitato vede l'ip del proxy, senza poter conoscere dove sia realmente l'utente. Durante la navigazione, il proxy riceve le richieste dal browser dell'utente, le passa al server web su cui c'è il sito da visitare e, avuta la risposta, la passa indietro al browser che la aveva richiesta. I proxy sono di molti tipi. Se il normale utente di solito usa un proxy http per la navigazione web, in realtà ci sono proxy che possono svolgere questa funzione di intermediario per qualsiasi protocollo che viaggi su TCP. Naturalmente i proxy sono stati pensati per utilizzi legittimi e, se tutto va bene, grazie ad essi si conseguono dei vantaggi in molte situazioni. Dal punto di vista dalla sicurezza c'è però una esigenza ben precisa: ogni proxy deve svolgere il proprio servizio solo ed esclusivamente per gli utenti che siano autorizzati ad usarlo. Come poi il proxy debba decidere se un utilizzo è autorizzato o no, la cosa può variare: può deciderlo, per esempio, in base all'appartenenza dell'ip ad un certo blocco, oppure in base ad una autenticazione. Quando invece un proxy accetta di servire le richieste senza svolgere controlli o svolgendoli in maniera inadeguata, si parla di "open proxy", ovvero di proxy insicuro.
Un proxy insicuro ha elevata probabilità di diventare uno strumento con cui si commettono abusi. Per esempio, molti newsgroup usenet sono stati spesso e a lungo soggetti a flooding che venivano immessi utilizzando un gran numero di proxy insicuri sparsi per il mondo. Fermare tali abusi risulta spesso complicato, anche se l'aggressore non può avere alcuna certezza di essere imprendibile (normalmente i proxy, anche se insicuri, producono dei log). Quando si parla di proxy insicuri usati dagli spammer, in genere ci si riferisce a diversi tipi di proxy (anche se fondamentalmente fanno tutti la stessa cosa). Esistono, e sono usati dagli spammer, i proxy SOCKS, che per default ascoltano sulla porta TCP/1080 e funzionano secondo l'omonimo protocollo (di cui alla RFC1928). Esistono poi vari tipi di proxy http (che tipicamente ascoltano su porte TCP come la 3128, 80 o 8080). Spesso i proxy http supportano un comando CONNECT (vedasi la RFC2817), col quale si può dirigere una sessione generica su un altro computer, potendo specificare su quale porta. Il comando CONNECT è appunto uno di quelli preferiti dagli spammer, che ovviamente scelgono come destinazione la porta 25 di un mailserver. Possiamo a questo punto osservare che gli spammer fanno anche uso di veri e propri "cavalli di Troia",per diffondere il loro traffico. Un cavallo di Troia è, come noto, un programma malizioso che viene eseguito all'insaputa del legittimo utilizzatore del computer su cui, di solito con l'inganno, è stato impiantato. I trojan, nella maggior parte dei casi, prevedono di essere controllati remotamente, attraverso la rete, da qualcuno che per loro tramite può guadagnare il completo controllo del computer vittima. Ecco allora che, nel 2003, si è iniziato a sentir parlare di trojan appositi per spammer, che gli spammer cercano di impiantare sulle macchine di utenti ignari. Questi trojan, una volta in funzione, contattano via email lo spammer per informarlo dell'indirizzo ip su cui sono attivi. A questo punto lo spammer si connette al trojan e lo utilizza come se fosse, ai fini pratici, un server di posta elettronica. Il risultato è che l'utente infettato, all'oscuro di quel che gli sta succedendo, diventa suo malgrado un punto di origine di spam, nascondendo il vero indirizzo dello spammer (chi indaga sullo spam esaminando gli header, può giungere solo all'indirizzo dell'utente infettato). Significa che, esaminando gli header si può individuare solo una parte del percorso del messaggio di spam, quella avvenuta come posta elettronica vera e propria, attraverso transazioni SMTP. Se, al punto di immissione trovato, esiste un proxy aperto, le possibilità di scoprire il vero ip a cui si trovava lo spammer sono assai scarse. Sono del tutto nulle se si trattava di un trojan. Il problema viene combattuto dagli antispammer mediante l'uso di blacklist apposite per i proxy insicuri, oltre che cercando di segnalare la presenza dei proxy aperti agli amministratori della rete in questione, affinché intervengano per farli sistemare. In alcuni casi, è stato possibile ottenere i log dei proxy abusati, risalendo quindi alla connessione originaria dello spammer.
Un altro strumento di cui gli antispammer si avvalgono per combattere lo spam da proxy è l'adozione di appositi honeypot, ossia di macchine su cui gira un software che si comporta in apparenza come se fosse un proxy insicuro. Tenere in esercizio un sistema del genere, spesso detto "proxypot", è cosa non alla portata di tutti: richiede un connessione permanente, ottima competenza tecnica, attitudini da smanettone software, scaltrezza e molto tempo libero, tuttavia risulta anche essere molto divertente e consente di osservare da vicino molti aspetti interessanti, che non si potrebbero scoprire in altro modo, di come lo spam viene distribuito. Normalmente il gestore del proxypot intercetta i test, con cui gli spammer cercano di verificare se a quell'indirizzo sta un proxy che si riesca a utilizzare, e fanno in modo che i test riescano, che quindi i messaggi di prova vengano effettivamente recapitati allo spammer. A quel punto lo spammer, caduto nella trappola, inizia a usare il proxy per consistenti invii di spam e, ovviamente, il proxypot finge di accettare il tutto regolarmente, questa volta però senza inoltrarlo. Spariscono così nel nulla molti "spam run" (così vengono di solito chiamati i cicli di invio effettuati da uno spammer), che lo spammer crede siano andati regolarmente a segno. Ovviamente il gestore del proxypot vede il vero indirizzo ip da cui lo spammer opera e provvede a segnalarlo al provider del caso. In conclusione nella situazione normale senza utilizzo di proxy,il nostro Ip è visibile in rete:
Nostro PC -> ISP provider -> Internet (Host)
Con l’utilizzo di un proxy, viene celato il proprio indirizzo Ip:
Nostro PC -> ISP provider -> Server Proxy -> Internet (Host)
Il concetto di assumere l’identità di un'altra persona è il nocciolo dello spoofing . In sostanza, TCP/IP e Internet ripongono fiducia negli utenti, che specificano il loro indirizzo di origine quando comunicano con altri host. Tuttavia, è compito del mittente del messaggio specificare l'indirizzo di origine; se il mittente utilizza un indirizzo falso, non riceverà alcuna risposta ma non potrà neanche essere rintracciato. In teoria è sufficiente riprogrammare opportunamente i moduli TCP/IP, utilizzando indirizzi inesistenti o appartenenti ad altri computer. Spiegato così velocemente sembra quasi una tecnica facile da mettere in pratica; in realtà non è così. Utilizzare un pacchetto TCP/IP riprogrammato con indirizzo mittente spoffato vuol dire non ricevere alcuna risposta. Oltre a questo, mantenere una sessione TCP ininterrotta richiede che tutti i segmenti TCP scambiati tra i due computer contengano ciascuno un numero di sequenza, ovvero ciascuno dei computer include nei propri segmenti il numero di sequenza (ACK), che si aspetta di trovare nel prossimo segmento che riceverà dall'altro host. Quindi se uno dei due computer non è in grado di ricevere L’ACK dell'altro, non potrà sapere il numero di sequenza da utilizzare nella comunicazione successiva, causando la disconnessione della comunicazione. Una possibile soluzione utilizzata dagli spammers, per risolvere tale problema, è quella di utilizzare due connessioni una pilota (adsl o fibbra ottica) e l'altra satellite (connessione dial-up). In questo modo lo spammer, può disporre di due indirizzi IP , e attuare la tecnica dello spoofing sulla connessione pilota utilizzando l’indirizzo della connessione satellite; così avrà accesso alla rete utilizzando una connessione molto veloce, mantenendo celato il suo vero indirizzo;e in contemporanea avrà anche la possibilità di ricevere le risposte; perdendo al massimo l’account della connessione satellite, facilmente rimpiazzabile. A fronte di questa situazione, l'unica controffensiva possibile da attuare nei confronti dello spammer, è quella di provocare la chiusura del suo account satellite. Solo i provider possono risolvere definitivamente questo problema applicando un filtro a livello IP sui pacchetti provenienti da quella rete o da quell’ utente in modo da bloccare qualsiasi pacchetto che non abbia, come indirizzo, uno di quelli assegnati all'utente in questione.
6 - Tecnologie per combattere lo spam
Sono presenti un certo numero di servizi e software che i server e-mail e gli utenti possono utilizzare per ridurre il carico di spam che possiamo definire come tecnica di bloccaggio e di filtraggio.Ognuna delle tecniche ha i suoi pro e contro; mentre entrambe riducono l'ammontare di spam inviata alle caselle postali degli utenti, il bloccaggio permette di ridurre la banda sprecata, rifiutando i messaggi prima che siano trasmessi al server dell'utente. Il filtraggio tende ad essere una soluzione più accurata, poiché può esaminare tutti i dettagli del messaggio. Molti sistemi di filtraggio si avvantaggiano delle tecniche di apprendimento del software, che permette di aumentare la propria accuratezza rispetto al sistema manuale. Da qualche tempo stanno crescendo vari sistemi di filtraggio che uniscono più tecniche di riconoscimento dello spam, in modo da un lato minimizzare il rischio di falsi positivi (ovvero email regolari scambiate erroneamente per spam), dall'altro per aumentare l'efficienza del filtraggio.
6.1 - Bloccaggio
6.1.1 - DNSBL
Una specifica tecnica di bloccaggio comprende le DNSBL cioè elenchi di indirizzi IP (solo in qualche raro caso di domini) selezionati secondo linee guida specifiche di ciascuna lista. Tali liste vengono mantenute attuali nel tempo (gli indirizzi o blocchi di indirizzi che le compongono vengono aggiunti o tolti quando necessario) e messe a disposizione di chiunque desideri consultarle. La ragione per cui è così comune la pratica di catalogare gli indirizzi ip tramite queste liste è che, in generale, ogni indirizzo ip che emette posta tende ad essere sorgente o solo di spam o solo di posta legittima. Esistono anche sorgenti miste (e gli spammer cercano, in effetti, di battere anche questa strada), però esistono certamente tantissimi ip che sono sorgenti di solo spam. Appare quindi sensato che, per prima cosa, si taglino fuori tutti gli ip che, a vario titolo, si conoscano a priori come sorgenti di spam. Le liste sono di solito costituite da zone DNS, e la modalità principale di consultazione è per l'appunto l'esecuzione di una query DNS (su un nome host ricavato dall'indirizzo che interessa verificare). In pratica, si esegue il test su un indirizzo IP alla volta, ottenendo la risposta che l'IP indicato è o non è presente nella lista. Spetta poi a chi ha consultato la lista decidere che fare del risultato ottenuto. Quando un server di posta elettronica riceve una connessione da parte di un client, si comporta più o meno come di seguito per interrogare una DNSBL (ad esempio spammers.example.net):
1. ottiene l'indirizzo IP del client e ne inverte i byte — ad esempio l'indirizzo IP 192.168.1.254 diventa 254.1.168.192;
2. appone il dominio della DNSBL all'indirizzo IP invertito appena ricavato: 254.1.168.192.spammers.example.net;
3. esegue una query DNS per l'host name così ottenuto (di tipo "A", ovvero da nome host a indirizzo IP): se la risposta ricevuta è un indirizzo IP il client è listato, in caso contrario riceve una risposta "NXDOMAIN" ("No such domain", ovvero "Dominio non trovato);
4. nel caso in cui il client sia presente nella lista, se appositamente configurato, esegue una query DNS di tipo "TXT" (testo) per lo stesso nome host. La risposta, eventuale, contiene ulteriori informazioni sul listing.
Le risposte a tali interrogazioni, vengono salvate nei DNS intermedi che effettuano la ricorsione, in modo che le email di spam successive, e provenienti dallo stesso OpenProxy, vengono rifiutate senza interrogare di nuovo il DNS autorevole di chi gestisce il sevizio di DNS BL.
Questo tipo di soluzione apre quindi interessanti possibilità: se qualcuno mantenesse una tale lista e riuscisse ad aggiornarla in continuazione in modo che, idealmente, la lista contenesse tutti e soli gli indirizzi ip dai quali proviene spam, ecco che ne potrebbe trarre beneficio anche chi non avesse le risorse, le informazioni o l'esperienza necessarie per crearsi in proprio una tale lista. Inoltre, se la reputazione di una lista fosse talmente buona che tantissime reti decidessero di consultarla per decidere se accettare oppure no ogni email in arrivo, essere incluso in quella lista vorrebbe dire, di fatto, essere tagliato fuori dalla possibilità di spedire email a tantissime destinazioni. Quindi, anche quando la lista agisse solo a posteriori sulle fonti di spam individuate, il suo effetto avrebbe un significativo impatto sulle possibilità per gli spammer di proseguire nella loro attività. Nel tempo sono state individuate varie differenti strategie con cui bloccare lo spam, che si sono tradotte in alcune fondamentali tipologie di liste di blocco:
• Liste di indirizzi o blocchi lasciati a disposizione di spammer: Gli indirizzi elencati in tali liste possono essere mail server o web server appartenenti a provider o fornitori di hosting che, a quanto risulta ai mantenitori delle blacklist, rifiutano di intervenire quando gli viene documentato che i loro clienti o inviano spam attraverso tali server, o inviano spam pubblicizzante siti ospitati su quei server. Queste liste inoltre contengono blocchi di indirizzi assegnati ad organizzazioni specificamente dedite o allo spam o alla vendita di software, servizi o risorse varie per spammer. Si tratta di organizzazioni che, sugli indirizzi che finiscono in lista, tengono mail server, web server o altre risorse usate per rendere presente in rete il business promosso tramite spam o volto al supporto di spammer. È frequente che, in simili liste, si trovino pure name server che svolgono servizio DNS per siti di spammer. Caratteristica comune alle risorse incluse in questo tipo di liste è un comportamento irresponsabile da parte di chi avrebbe l'autorità di disciplinarne l'uso, che sceglie o di supportare apertamente gli spammer o di ignorarne la presenza sulla propria rete (continuando a incassare da essi i canoni mentre il resto del mondo si becca lo spam).
• Liste di relay aperti: I relay aperti sono stati per molti anni il principale mezzo per la diffusione dello spam. Esistono quindi liste che censiscono i relay aperti, raccogliendoli mediante ricerca e test oppure limitandosi a quelli di cui si sia effettivamente provato l'utilizzo da parte di spammer. In ogni caso, in queste liste le risorse entrano essenzialmente per ragioni tecniche, talvolta per sviste e talvolta per negligenza vera e propria.
• Liste di risorse varie abusabili per via di buchi di sicurezza: Si tratta soprattutto dei proxy aperti e dei formmail.pl insicuri. Formmail è un celebre script usato per inviare email da form posti su pagine web. Nella maggior parte dei casi, tale script presenta grossolane vulnerabilità di sicurezza che consentono di inviare email, anche bulk, a destinatari arbitrari tenendo l'ip dello spammer assai difficile da determinare. Di conseguenza, gli spammer cercano questi script e li sfruttano (vi sarà probabilmente capitato di ricevere qualche spam in cui il testo inizia con la frase "Below is the result of your feedback form")..
• Liste di blocchi adibiti a dial-up: Si tratta degli indirizzi attribuiti agli utenti dinamicamente (per esempio a fronte di connessioni via modem ). Un vantaggio dato da queste liste è la pressoché totale assenza di falsi positivi.
Una delle liste di blocco disponibili è Spamhaus.Si tratta di una lista creata e gestita in Inghilterra da Steve Linford, antispammer da molti anni e con grandissima esperienza. Visitando il sito dello Spamhaus Project, nel cui ambito è nata SBL, non si finisce mai di sorprendersi per la quantità e la qualità del lavoro cheSpamhaus ha svolto, individuando un grosso numero di centrali dello spam, raccogliendo informazioni su di esse e organizzando il tutto in un database online, che chiunque può agevolmente consultare per sapere chi c'è dietro lo spam che si vede arrivare ogni giorno. Tutto questo in base alla convinzione che esista un numero relativamente ridotto di grossi spammer che sono responsabili per la quasi totalità dello spam in circolazione. Su questo database continuamente aggiornato è costruita appunto SBL, lista che ha tra le proprie caratteristiche una particolare attenzione a non provocare inutilmente falsi positivi e una focalizzazione rivolta alle spamhaus di maggiori dimensioni e importanza. Nel tempo l'efficacia di SBL per bloccare lo spam è diventata formidabile e, grazie alla gestione molto attenta che la lista ha avuto negli anni, risulta assai difficile che possa causare problemi.
6.2 - Filtraggio
6.2.1 - Filtro Bayesiano
Le tecniche di filtraggio possono specificare le liste di parole o espressioni regolari non permesse nei messaggi di posta. Si può inserire nel filtro una determinata frase e il server scarta tutti i messaggi con quella frase. Lo svantaggio di questo filtraggio "statico" consiste nella difficoltà di aggiornamento e nella tendenza ai falsi positivi: è sempre possibile che un messaggio non-spam contenga quella frase. Il filtraggio euristico si basa nell'assegnare un punteggio numerico a frasi o modelli che si presentano nel messaggio. Quest'ultimo può essere positivo, indicando che probabilmente contiene spam o negativo in caso contrario. Ogni messaggio è analizzato e viene annotato il relativo punteggio, esso viene in seguito rifiutato o segnalato come spam se quest'ultimo è superiore ad un valore fissato. In ogni caso, il compito di mantenere e generare le liste di punteggi è lasciato all'amministratore. Una tecnologia di filtraggio è il filtro Bayesiano.Il filtraggio Bayesiano è basato sul principio che molti eventi sono interdipendenti e la probabilità che un evento si verifichi in futuro può essere dedotta dal verificarsi di quello stesso evento in precedenza. Prima di poter filtrare la posta con questo metodo,l’utente deve generare un database di termini e simboli(il simbolo $,gli indirizzi e domini IP)raccolti da campioni di posta spam e posta valida(denominata ham).
A ciascun termine o simbolo viene quindi assegnato un valore di probabilità;tale valore è calcolato tenendo conto della frequenza con cui un termine compare nello spam confrontandolo con il numero di volte in cui è presente in un e-mail legittima(ham).Ciò si effettua analizzando la posta in uscita degli utenti e lo spam conosciuto:tutti i termini e i simboli comuni ad entrambi vengono esaminati per generare la probabilità che un determinato messaggio sia spam.Il filtro si affida anche ad un file di dati spam.Questo file di dati spam deve contenere un notevole campione di spam noto ed essere costantemente aggiornato con lo spam più recente del software anti-spam. Una volta creati i due database è possibile calcolare i valori di probabilità dei termini ed il filtro è pronto per l’uso. Quando arriva una mail,questa viene scomposta in termini e vengono scelti i termini più importanti,ossia quelli più rilevanti ai fini dell’identificazione o meno del messaggio di posta come spam. Da questi termini il filtro calcola la probabilità che il messaggio possa essere spam oppure no. Se la probabilità è maggiore di un certo valore di soglia,per esempio 0.9,allora l’e-mail è classificata come spam.
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
6.3 -Programmi Anti-Spam
I programmi antispam utilizzano delle regole pre-impostate per filtrare le mail in arrivo e segnalare o bloccare eventuali segnalazioni positive. Gli antispam comunemente reperibili in rete, richiedono tutti l’installazione sul computer dell’utente; in seguito, alcuni scaricano completamente le mail per filtrarle, altri si collegano al server di posta elettronica prima di scaricare le email; in questo modo possono visualizzare l’incipit dei messaggi e decidere di volta in volta quali scaricare e quali no. Questi programmi normalmente si posizionano tra la rete e il nostro client di posta, comunicano con il server di posta tramite protocollo POP o IMAP e non si occupano dell’invio delle mail. I filtri utilizzati sono semplici liste di parole, server o indirizzi mail, che vengono confrontate con gli header e con il testo della mail, alla ricerca di una possibile correlazione. Anche il nostro browser di posta può essere considerato un programma antispam, infatti in esso è possibile configurare delle regole per bloccare la ricezione delle mail; l’unica differenza con i programmi antispam scaricabili dalla rete è la totale configurazione a carico dell’utente e la scarsa configurabilità delle regole in base alle quali “trattare” i messaggi in arrivo. Possono essere impostati per mittente o per soggetto. Nel primo caso, inserendo l’indirizzo e-mail sgradito, il filtro blocca il download della posta che proviene da quell’indirizzo. Nei filtri per soggetto, invece, occorre inserire quelle parole chiave che di solito sono presenti nell’oggetto dei messaggi . La scelta delle parole chiave va fatta con attenzione affinché il filtro non elimini automaticamente anche le mail legittime. Un esempio di programma anti-spam è lo SpamAssassin.