Modalità di funzionamento del filtro bayesiano anti-spam
Il filtraggio bayesiano si basa 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 (ulteriori informazioni sulle basi matematiche del filtraggio bayesiano sono disponibili ai seguenti link (in inglese): Bayesian Parameter Estimation e An Introduction to Bayesian Networks and their Contemporary Applications)
(http://www-ccrma.stanford.edu/~jos/bayes/Bayesian_Parameter_Estimation.html
& e http://www.niedermayer.ca/papers/bayesian/bayes.html.)
Questa stessa tecnica può essere utilizzata per classificare lo spam. Qualora sussistano parti di testo presenti spesso nello spam e non nella posta legittima, è ragionevole presumere che una tale email costituisca probabilmente dello spam.
Creazione di un database di parole specifico per il filtro bayesiano
Prima di poter filtrare la posta con questo metodo, l'utente deve generare un database di termini e simboli (quali il simbolo $, gli indirizzi e domini IP, ecc.) raccolti da campioni di posta spam e posta valida (denominata "ham").
Figura 1 - Creazione di un database di termini per il filtro
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 e confrontandolo con il numero di volte in cui è presente in un'email legittima (ham). Per far ciò, si analizza 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 termine permetta di definire il messaggio come spam.
La probabilità del termine è calcolata come segue: ad esempio, se il termine "ipoteca" è presente in 400 messaggi di spam su 3.000 e in 5 email legittime su 300, allora il valore di probabilità dello spam sarà pari a 0,8889 (cioè, [400/3000] diviso per [5/300+400/3000]).
Creazione del database ham (adattato alle esigenze dell'azienda)
E' importante notare che l'analisi della posta ham è eseguita sulla posta elettronica dell'azienda ed è pertanto adattata alle esigenze di quella specifica azienda. Per esempio, un istituto finanziario può utilizzare il termine "mutuo" abbastanza spesso e quindi, in questo caso, l'utilizzo di una serie di regole anti-spam generiche può comportare molti falsi positivi. D'altro canto, il filtro bayesiano, se adattato all'azienda mediante un periodo iniziale di addestramento, prende nota della posta valida in uscita (cioè, riconosce che la parola "mutuo" è usata frequentemente in messaggi legittimi) e quindi offre una migliore percentuale di individuazione dello spam e una più bassa probabilità di incorrere in falsi positivi.
NOTA: Alcuni software anti-spam dotati di capacità bayesiane molto elementari, come il filtro anti-spam di Outlook o l'Internet Message Filter di Exchange Server, non creano un file di dati ham adattato alle esigenze dell'azienda, ma, nel pacchetto d'installazione includono un file di dati ham standard. Benché tale metodo non richieda un periodo iniziale di apprendimento, presenta 2 grossi difetti:
1. Il file di dati ham è disponibile pubblicamente e può quindi essere "piratato" e raggirato da spammer professionisti. Se il file di dati ham è esclusivo della propria azienda, allora piratare il file di dati ham risulta inutile. Ad esempio, esistono hacker disposti a superare il filtro anti-spam di Microsoft Outlook 2003 o il filtro anti-spam di Exchange Server. Per maggiori informazioni in proposito, leggere l'articolo: Microsoft Outlook 2003 Spam Filter: Under the hood.
2. Il file di dati ham è generico, perciò, non è adattato alle esigenze dell'azienda; pertanto, non può essere altrettanto efficace, conducendo così a una percentuale di falsi positivi sensibilmente più elevata.
Creazione del database spam
Oltre alla posta ham (legittima), il filtro bayesiano si affida anche ad un file di dati spam. Questo file di dati spam deve contenere un vasto campione di spam conosciuto ed essere costantemente aggiornato con lo spam più recente dal software anti-spam. In questo modo si assicura che il filtro bayesiano sia a conoscenza dei trucchi di spam più recenti, producendo un'elevata percentuale di individuazione dello spam (NOTA: tale livello si raggiunge al termine dell'iniziale periodo di apprendimento di due settimane richiesto).
Modalità di esecuzione effettive del filtraggio
Una volta creati i database ham e spam, è possibile calcolare i valori di probabilità dei termini ed il filtro è pronto per l'uso.
Quando arriva una nuova email, questa viene scomposta in termini e vengono scelti i termini più importanti, vale a dire, quelli più significativi per identificare se la posta costituisca spam o meno. Da tali termini, il filtro bayesiano calcola la probabilità che il nuovo messaggio possa essere spam o no. Se la probabilità è maggiore di un certo valore di soglia, per esempio 0,9, allora l'email è classificata come spam.
L'approccio di tipo bayesiano allo spam risulta estremamente efficace: in un articolo della BBC del Maggio 2003 si mette in evidenza che con tale approccio la percentuale d'individuazione dello spam può raggiungere oltre il 99,7% e con un numero molto basso di falsi positivi!