Ottimizzare.com

Servizi per Aziende e Webmaster

Home > Progetti > Spam

Stop Spam

Spammamia, un programma che attraverso filtri progressivi aggiunge o toglie dei punti alle email in arrivo. In caso di grave insufficienza la mail viene catalogata spam e cancellata, con sufficienza la mail richiede un'approvazione con una buona votazione la mail viene scaricata automaticamente... un pò come se una maestra delle elementari correggesse le mail in arrivo con il pennarello rosso e blu

Combattere lo SPAM

11 dicembre 2002: scritto da Claudio Santori

Ottimizzare.com è alla ricerca di un programmatore in grado di scrivere un programma con le caratteristiche descritte in questo articolo. Buona lettura

Combattere lo spam e' possibile. Solo che, invece di comuni filtri utilzzati da programmi come Outlook Express, avremo bisogno di un sistema a punteggi che valuterà numerose variabili per definire se una e-mail e' SPAM oppure valida.

Cataloghiamo le e-mail in 4 MacroCategorie

  1. Rubrica-Ok: sono le mail ricevute da indirizzi presenti nella nostra Rubrica. Si presume che tutta (almeno la maggior parte) la corrispondenza ricevuta da questi indirizzi sia desiderata.
  2. NORubrica-OK: sono e-mail ricevute da indirizzi non presenti nella nostra rubrica ma comunque desiderate: un nuovo contatto di lavoro, qualcuno che ci fa i complimenti per un articolo che abbiamo scritto o un amico che ha cambiato indirizzo...
  3. Rubrica-Virus: sono le e-mail indesiderate ricevute da indirizzi presenti nella nostra rubrica, contenenti Virus o Catene di S. Antonio.
  4. SPAM: sono e-mail che veicolano messaggi commerciali non richiesti (per lo piu' siti porno - Viagra e altre medicine miracolose) Comprenderemo in questa categoria anche le e-mail contenenti Virus.

Schema POsta in Arrivo - Rappresentazione con gli Insiemi

SI TORNA A SCUOLA

Come funziona il programma? Ogni e-mail ricevuta sarà valutata attentamente assegnando un punteggio in base ad alcuni controlli (come fosse un voto).

Se il punteggio sara' inferiore a 0 la mail sara' considerata SPAM, per tutte le altre il sistema si limiterà a depositarle nella IN BOX.

Che vantaggio hanno gli utenti Italiani rispetto agli USA? La maggior parte dello SPAM che gira in rete e' in lingua Inglese ed e' quindi semplice filtrare questi messaggi con l'uso di opportune keywords.

Le variabili da considerare

Per valutare la posta ci serviremo degli aspetti comuni a tutti i messaggi di posta:

LA RUBRICA: Una prima catalogazione divide le e-mail in due grandi blocchi: inviate da persone contenute nella rubrica del destinatario e inviate da indirizzi non presenti in rubrica.

IL FORMATO: lo SPAM puo' arrivare in formato testo o formato HTML (contenente spesso immagini Hardcore che si caricano automaticamente nell'anteprima del messaggio)

ALLEGATI: i messaggi possono contenere file allegati

OGGETTO: molto spesso lo spam puo' essere individuato dall'oggetto attraverso le keyword utilizzate o il prefisso adv che individua automaticamente che la mail contiene un messaggio pubblicitario (advertising)

IL MESSAGGIO: il messaggio contiene sempre un link da cliccare e delle keywords (le piu' comuni Viagra Sex Nigeria)

INDIRIZZO DEL MITTENTE: possiamo impostare a priori che non desideriamo ricevere posta inviata da determinati gruppi di mittenti

Cosa fa il nostro sistema?

Invece di applicare i comuni filtri il nostro programma provvede a dare un voto alla posta. Vediamo subito come funziona un filtro e come funziona il nostro sistema

Un filtro applica delle regole a tutti i messaggi in arrivo tipo:

Se "Oggetto" contiene "Sex" allora Elimina
Se "Messaggio Mail" contiene "Viagra allora Elimina
Se "Mittente" presente in Rubrica allora Scarica Email
Se "Mittente" = "Suocera" allora Elimina

Il Nostro sistema:

Se "Oggetto" contiene "Sex" allora -20 punti
Se "Messaggio Mail" contiene "Viagra" allora -20 punti
Se "Mittente" presente in Rubrica allora +100 punti
Se "Mittente" = "Suocera" allora Elimina

Il nostro sistema permette di applicare regole precise ad eventi precisi ma, ed ecco la sua versatilità, permettere di valutare ogni singola e-mail in base ad una moltitudine di aspetti che, nel complesso, ci diranno se la mail e' SPAM oppure no. Chiaro che la presenza della parola Viagra all'interno del messaggio deve avere un peso diverso se il mittente e' un mio amico (magari una barzelletta) o una ditta americana

RUBRICA - un punto di forza

Poter scegliere chi tenere in rubrica e chi lasciarne fuori rappresenta un bel vantaggio: posso far sapere al mio computer quali sono i contatti sicuramente interessanti. Lo svantaggio e' che purtroppo non sappiamo se tutti i contatti non presenti in rubrica sono SPAM (alcuni di loro, in effetti, non lo sono, come un vecchio zio Americano che ti contatta dopo 40 anni solo per dire ciao e magari invitarti in California).

Ad ogni modo il nostro sistema sa che se il mittente e' presente in rubrica e applicherà un coefficiente diverso a tutti gli altri controlli (vedi esempio precedente sul Vagra inviato come testo da un Amico o da una sconosciuta società americana)

ESEMPIO

Se "Mittente in Rubrica" = Si allora non controllare keyword ma controlla Allegati
Se "Mittente in Rubrica" = Si allora applico un diverso peso per keywords commerciali ma applica penalità per keywords a sfondo pornografico

Un bel vantaggio per chi ha contatti che puo' gestire attraverso altri canali (telefono, ufficio etc) ed inserire preventivamente (e manualmente) gli indirizzi in rubrica. Con questo filtro dobbiamo preoccuparci solo delle eventuali mail contenenti virus.
Gli utenti presenti nella rubrica possono inviare e-mail contenenti parole che piu' avanti bloccheremo con altri Filtri (come Viagra) senza che il sistema le blocchi. Il mio collega puo' inviarmi tranquillamente una barzelletta sul Viagra, ma il sistema blocchera' tutte le proposte commerciali provenienti da sconosciuti riguardo al Viagra.

Mittenti non in rubrica - inizia il gioco

Il nostro sistema memorizzerà il numero di mail pervenute evidenziando: email eliminate direttamente, email che hanno richiesto conferma per eliminazione, email che sono state eliminate manualmente dall'utente, email NO SPAM. Lo scopo del "gioco" e' minimizzare il numero di mail eliminate manualmente e che hanno richiesto conferma e massimizzare il numero di mail eliminate direttamente. Ovviamente...nel caso fosse possibile...minimizzare anche il numero di email eliminate che invece non dovevanoe essere eliminate.

Spariamo allo SPAM - step di valutazione

Il nostro sistema analizzera' tutti gli aspetti di ogni singola mail valutandli in base alle preferenze dell'utente. Chiaro che la ricezione di email provenienti da mittenti tipo ***@aol.com avra' un peso diverso per un americano o un italiano. Per me ricevere una mail da ***@aol.com sara' sicuramente spam, mentre per un qualunque utente americano e' la cosa piu' normale del mondo.

STEP DI VALUTAZIONE

  1. Mittente:
    • presente in rubrica | tipo di indirizzo
    • destinatario: il mittente e' sconosciuto e ha inviato la mail a piu' utenti
    • invio multiplo: la mail e' stata inviata, identica, due o piu' volte
    • l'indirizzo o il nome del mittente contiene parole filtrate nello step 2
  2. Keywords: controllo messaggio e oggetto
    • keywords per termini legati alla pornografia [ alta' penalità ]
    • keywords per termini commerciali e di uso comune (Credit card, Kenia, Credit Card, Webcam) [ bassa penalità ]
    • keywords periodiche: in alcuni periodi alcune parole avranno un peso diverso in base ad ondate periodiche di SPAM settoriale [ media penalità ]
  3. Allegati: valutazione degli allegati in base al formato ed in relazione alla presenza o meno del mittente in rubrica
  4. Formato: in testo o html?
    • mittente sconosciuto e numeri link ad immagini esterne?

       

MITTENTE

Anche l'indirizzo del mittente potrebbe nascondere indirizzi importanti per considerarla SPAM

  • potrebbe contenere una delle keywords precedentemente elencate (es reale: cids@eroticmailers.com :: bustopher2xxxmeb13mxy@aol.com :: hila_nocostxxx@playful.com
  • indirizzo scorretto: ddmrkst.com (manca una parte)
  • indirizzi improbabili: penneyfam@ar.com.au <penneyfam@ar.com.au> ::

KEYWORDS

I nostri filtri faranno un controllo delle parole contenute nell'oggetto della mail e nel messaggio cancellando automaticamente tutte le e-mail contenenti parole chiave riconducibili a SPAM. Le piu' comuni sono:

  • COMMERCIAL: Really Works, Read This Email, Change Your Life, adv, adv:, remove@, remove, Kenia, Re: Phentermine (Weight-Loss), Viagra (Sexual)Celebrex (Pain-Relief) Valtrex (Treatement for Herpes) Meridia (Weight-Loss) Xenical (Weight-Loss) Zyban (Stop Smoking) , Remove,
  • SEX: viagra, penis, women, mature, teen, galore, sex, gay, experienced, sexy, babe, amateurr, WIVES, GIRLFRIENDS, GIRL-NEXT-DOOR, and REAL COLLEGE WEBCAM GIRLS(fuck, anal, whores, cum, sperm, pussy), Horny, Horney, naked, erotic, xxx

Se una di queste parole o frasi viene scritta nell'oggetto o nel messaggio la mail sara' cancellata senza essere scaricata nel computer. Ecco che una buona fetta di SPAM e' stata cancellata e non sara' mai scaricata.

Oggetto

Oltre alle Keywords l'oggetto puo' dirci qualcosa in piu'. Intanto se nell'oggetto compare la sigla adv (advertising) il messaggio e' gia' dichiarato come pubblicitario. In piu', se chi non e' in rubrica mi invia una e-mail con oggetto "Re: ..." il sistema dovrebbe insospettirsi: se non ho mai avuto rapporti con questa persona come fa a rispondermi?

Allegati

Se la mail arriva da un mittente sconosciuto con un allegato (magari src, bat o exe) i filtri possono automaticamente eliminarla senza rischi

Formato

Se la mail arriva in formato HTML con numerosi collegamenti ad immagini esterne....eliminare

Migliorare il Sistema - Valutazione delle Email con un punteggio

Il nostro sistema di Filtri e Regole invece di valutare semplicemente se la mail e' idonea o meno applicando le regole in modo indipendente puo' sottoporla ad una serie di controlli sequenziali che applicheranno ogni volta un punteggio, cumulabile, all'e-mail. Oltre un certo punteggio la mail viene considerata SPAM e cestinata.
Si tratta di impostare dei valori numerici da applicare alle varie regole e il valore di tolleranza.

Le email con punteggi inferiori a 100 sono scaricate
Le email con punteggi superiori a 100 vengono eliminate

Email 1 Punteggio
Mittente: claudio@ottimizzare.com -100
Oggetto: Re: sito web 0
Presente parola webcam 0
Presente parola babe + 15
Allegato: ani.exe + 15
TOTALE - OK - 70

 

Email 2 Punteggio
Mittente: freesite@internet.com + 25
Oggetto: Re: sito web + 25
Presente parola webcam + 25
Presente parola babe + 75
Allegato: ani.exe + 50
TOTALE - ELIMINATA + 175

La prima mail supera i controlli e viene scaricata nella Posta in Arrivo mentre la seconda viene eliminata perche' considerata SPAM. Nel primo caso alla parola webcam presente nel testo della mail non e' stato dato peso mentre nel secondo la mail ha "guadagnato" 25 punti. Questo perche' se uno sconosciuto ci parla di webcam forse ci vuol vendere qualcosa o ci sta parlando di sesso. Vediamo inoltre come la combinazione webcam e babe produca nella seconda mail 90 punti e nella prima solo 15 proprio in virtu' del fatto che il mittente della prima email e' conosciuto quello della seconda no. Stessa cosa per l'allegato al quale viene dato un peso diverso.

Ovviamente si trattera' di fare uno studio su casi reali di spamming per calcolare valori numerici che abbiano senso e che funzionino realmente per filtrare la posta indesiderata.

Comunque il problema e' solo di dare un valore numerico a questi parametri, il resto del sistema, la teoria, c'e' gia'.

  1. Applicare il filtro anche a Mittenti in Rubrica o solo a Mittenti Sconosciuti?
  2. Elenco Keywords livello 1 (meno gravi): webcam, remove, college, school, diplome, university,
  3. Elenco Keywords livello 2 (gravi): sex, babe, mature, penis, viagra....
  4. Peso numero Keywords 1 e 2: impostare un valore
  5. Peso numerico controllo Mittente: non in rubrica, indirizzo errato, indirizzo con keywords
  6. nella mail c'e' un link esterno e mittente sconosciuto: se nel link ci sono keywords primo e secondo livello un punteggio altrimenti altro punteggio
  7. Peso diverse estensioni file allegati
  8. Ulteriore peso per Mail inviata a piu' destinatari (magari non presenti in rubrica e quindi presumibilmente sconosciuti al destinatario)

Il vantaggio di un sistema con pesi? Se lo SPAM si evolve e usa nuovi termini possiamo personalizzare le liste di keywords o aggiungere nuovi pesi per nuovi controlli. Il tutto in modo semplice e intuitivo.