• Non ci sono risultati.

Analisi delle Tecniche di Classificazione

1.5 CAFE - C OLLABORATIVE A GENTS FOR F ILTERING E- MAILS

1.5.2 Analisi delle Tecniche di Classificazione

L’individuazione dello spam e la classificazione dei messaggi sulla base della loro rilevanza sono problemi oggetto di ricerche da diversi anni a questa parte.

Sono stati proposti diverse soluzioni per risolvere il problema dello spamming, ma nessuna di esse può essere considerata completamente soddisfacente. Le metodologie proposte nel corso degli anni possono essere suddivise in due categorie: metodologie basate su un approccio “statico” e metodologie basate su un approccio “dinamico”.

L’approccio statico si propone di identificare i messaggi di spam tramite il semplice confronto dell’indirizzo del mittente con una o più liste estratte da una serie di database DNSBL (DNS-based Black Lists) [11]. In questo senso diversi mail server mantengono un elenco di indirizzi di possibili spammer e segnalano

come spam ogni messaggio proveniente da essi. È facilmente intuibile che un approccio di questo tipo non possa garantire risultati soddisfacenti, dal momento che tali elenchi non vengono realizzati tenendo in considerazione i contenuti dei messaggi ed ogni e-mail viene valutata nello stesso modo, indipendentemente dalla sua struttura e, soprattutto, dal suo contenuto. La quasi totalità degli spammer sono quindi in grado di raggirare queste tipologie di filtri antispam semplicemente variando di continuo l’indirizzo e-mail dal quale i messaggi vengono inviati. È quindi possibile affermare che qualsiasi metodo di individuazione dello spam che si basi semplicemente su un approccio di tipo statico abbia una bassissima efficacia proprio perché in questo modo non si tiene conto della natura intrinsecamente dinamica del problema.

Altre metodologie più complesse sono basate su un approccio dinamico. Queste non si limitano a valutare la sorgente del messaggio ma effettuano un’analisi del contenuto del messaggio stesso e, sulla base di questa, utilizzando diverse tipologie di algoritmi, classificano il messaggio etichettandolo o meno come spam. La maggior parte di queste metodologie utilizza algoritmi di analisi e classificazione del testo basate sull’implementazione di tecniche di apprendimento automatico (note come “machine learning”). È possibile reperire diversi esempi di algoritmi di apprendimento applicati alla classificazione del testo (Lewis, 1992 [9]; Apte and Damerau et al., 1994 [4]; Dagan et al., 1997 [22]), che si propongono di suddividere documenti in categorie predefinite, dopo essere stati addestrati su un set preliminare di documenti noti. Algoritmi di questo tipo sono anche stati utilizzati nella classificazione delle e-mail (Cohen, 1996 [49]).

Uno dei primi tentativi di applicazione di tecniche dinamiche al problema dello spam è da imputare a Sahami et al. [38], che, tramite l’utilizzo di un classificatore Naive Bayes (uno dei più famosi metodi di apprendimento bayesiano), si propongono di distinguere i messaggi illegittimi da quelli legittimi, raggiungendo un buon livello di precisione. Di primo acchito potrebbe essere sorprendente che tecniche di classificazione del testo si rivelino efficaci nel filtraggio dello spam:

infatti in generale un messaggio di spam è tale in quanto è inviato in modo indiscriminato ad un numero elevato e spesso casuale di destinatari, non per il

contenuto del messaggio stesso. Tuttavia è anche possibile notare che molte volte il contenuto dei messaggi di spam si ripete e fa spesso riferimento ad argomenti difficilmente citati all’interno di messaggi legittimi: proprio per questo motivo l’utilizzo di algoritmi di apprendimento può rivelarsi una scelta vincente.

Gli algoritmi bayesiani sono stati frequentemente usati nella progettazione di sistemi intelligenti per l’individuazione dei messaggi e-mail illegittimi (Androutsopoulos et al., 2000 [21]; McCallum and Nigam, 1998 [2]; Sanchez et al., 2002 [44]); è tuttavia possibile individuare alcune limitazioni anche in questa tipologia di approccio, legate soprattutto all’inefficacia riscontrata nel filtraggio di messaggi che non obbediscono, dal punto di vista lessicale e strutturale, ai canoni classici dello spam. Ad esempio, i filtri bayesiani incontrano molti problemi nell’analisi di messaggi contenenti molte immagini e poco testo (magari un semplice link). Un altro problema caratteristico delle tecniche di filtraggio basate su algoritmi bayesiani è l’elevato intervallo temporale richiesto per la fase di addestramento dei filtri stessi: è infatti necessario un periodo iniziale durante il quale il sistema analizzi un certo numero di messaggi per creare un proprio vocabolario di termini. Infine, i filtri bayesiani possono essere agevolmente ingannati inserendo all’interno dei messaggi in modo casuale una serie di termini conosciuti e leciti per far sì che il testo del messaggio sia considerato complessivamente legittimo.

Un approccio leggermente alternativo al problema, adottato da Jung et al. [27], consiste nell’implementazione di un sistema multi-agente che si occupa di filtrare i messaggi e-mail ricevuti dagli utenti del sistema stesso tramite l’analisi di alcune caratteristiche predefinite dei messaggi (ad es. l’oggetto) ed una serie di frasi-chiave estratte dall’oggetto e dal corpo dei messaggi stessi.

Alternativamente all’approccio descritto basato sull’analisi del contenuto testuale dei messaggi, recentemente sono state concepite nuove tecniche basate su un approccio collaborativo che non prende in considerazione il contenuto delle e-mail ma si basa sulla collaborazione di gruppi di utenti che condividono informazioni sullo spam ricevuto. La logica alla base di queste tecniche è molto semplice: quando viene ricevuto un messaggio di spam, l’utente che lo riceve crea

una sorta di firma del messaggio servendosi di un particolare algoritmo e condivide questa firma con il resto della comunità. Se successivamente lo stesso messaggio viene inviato ad un altro utente della comunità, esso viene immediatamente eliminato dal filtro dell’utente in quanto la firma di questo messaggio si trova già nello spam repository del sistema. Questo approccio richiede due elementi fondamentali: un efficace algoritmo di firma dei messaggi ed un sistema che consenta di condividere agevolmente e rapidamente le firme. La condivisione delle firme può essere centralizzata tramite meccanismi di clearing-house o, ancora meglio, distribuita tramite tecniche peer-to-peer, rendendo in questo modo il sistema molto più solido. Il sistema più famoso in questo ambito si chiama Vipul’s Razor [47], anche conosciuto come SpamNet. Questo sistema si basa su una clearing-house centralizzata per la condivisione delle firme dei messaggi di spam ed un algoritmo di firma molto sofisticato.

Il problema della classificazione delle e-mail sulla base della loro rilevanza si collega all’associazione di un livello di reputazione agli utenti di un sistema o agli agenti di una comunità, che rappresenta un importante argomento di ricerca relativo ai sistemi multi-agente. Hertzum et al. [36] risolvono il problema assegnando un livello di fiducia agli utenti calcolato sulla base di informazioni estratte da diverse sorgenti. Nell’articolo è posta particolare enfasi sulla natura collaborativa di tale estrazione di informazioni. In particolare, viene presentato il sistema COGITO il cui obiettivo è quello di specificare il comportamento e le funzionalità di un sistema ad agenti al supporto di utenti durante la ricerca di informazioni e la presa di decisioni all’interno di siti Web di e-commerce.

Golbeck et al. [24] descrivono un algoritmo in grado di generare livelli di reputazione calcolati localmente per gli utenti di una semantic Web social network.

Un’applicazione dell’algoritmo è TrustMail, un client e-mail che, sulla base del livello di reputazione del mittente di ciascun messaggio, è in grado di suddividere la posta in arrivo in termini di importanza. Questo progetto non si basa sulla tecnologia ad agenti, tuttavia fornisce un esempio di approccio collaborativo al problema della classificazione della posta sulla base di un livello di fiducia associato a ciascun utente della rete.

Lo sviluppo del sistema CAFE parte proprio dalle considerazioni fatte fino ad ora sui sistemi e sulle tecniche esistenti: l’intento, come vedremo, è quello di creare un sistema che, combinando un approccio collaborativo al problema e diverse metodologie di analisi dei messaggi, sia in grado di ridurre il numero di messaggi illegittimi ricevuti dalla sua comunità di utenti.