Casa / Skype / Protezione del sistema di posta da spam e virus. Tecniche anti-spam Anti-spam

Protezione del sistema di posta da spam e virus. Tecniche anti-spam Anti-spam

Questo è un nuovo prodotto di Kaspersky Lab progettato per una protezione completa computer di casa. Questo programma fornisce una protezione affidabile e simultanea contro virus, hacker e spam. Il modulo Kaspersky Anti-Spam è uno degli elementi di questo sistema di protezione del computer di casa. Innanzitutto, va notato che Kaspersky Anti-Spam non è un prodotto autonomo e non funziona separatamente da Kaspersky Personal Security Suite. In una certa misura, questo può essere definito uno svantaggio, poiché gli utenti non possono utilizzare Kaspersky Anti-Spam separatamente, ma anche una protezione complessa ha i suoi indubbi vantaggi.

Protezione antivirus e firewall da più di una volta considerato sulle pagine della nostra pubblicazione. Pertanto, in questo articolo considereremo solo il lavoro del modulo anti-spam.

La base di Kaspersky Anti-Spam è la tecnologia intelligente SpamTest, che fornisce: confronto fuzzy (cioè funziona anche se c'è una corrispondenza incompleta) confronto del messaggio in fase di controllo con campioni - messaggi precedentemente identificati come spam; identificazione di frasi caratteristiche di spam nel testo della lettera; rilevamento di immagini precedentemente utilizzate nelle e-mail di spam. Oltre ai criteri sopra elencati, per identificare lo spam vengono utilizzati anche parametri formali, tra cui:

  • liste "nere" e "bianche" che l'utente può mantenere;
  • varie caratteristiche delle intestazioni dei messaggi di posta che sono caratteristiche dello spam, ad esempio segni di falsificazione dell'indirizzo del mittente;
  • tecniche utilizzate dagli spammer per ingannare i filtri della posta: sequenze casuali, sostituzione e raddoppio delle lettere, testo bianco su bianco e altro;
  • controllando non solo il testo della lettera stessa, ma anche i file allegati in formato testo normale, HTML, MS Word, RTF e altri formati.

Installazione del modulo antispam

Il modulo viene installato durante l'installazione di Kaspersky Personal Security Suite. Quando si scelgono le opzioni di installazione, un utente che utilizza altri client di posta diversi dai programmi di posta Microsoft potrebbe non installare il plug-in per Microsoft Outlook.

Va notato che Kaspersky Anti-Spam controlla tutta la corrispondenza ricevuta tramite il protocollo di posta SMTP. Grazie a questo, può filtrare lo spam in qualsiasi programma di posta, ma ne parleremo più avanti.

Integrazione in Microsoft Outlook Express

Il programma non ha una propria interfaccia in quanto tale. In Microsoft Outlook Express, il modulo Kaspersky Anti-Spam è integrato come menu e come pannello aggiuntivo.

È possibile notare alcuni inconvenienti quando si utilizza questo pannello, tuttavia, non ha nulla a che fare con il modulo anti-spam stesso. A causa dei principi di funzionamento del meccanismo Programmi Microsoft Il pannello Outlook Express di Kaspersky Anti-Spam non può essere bloccato in una posizione di facile utilizzo. Ad ogni avvio del programma, il pannello apparirà per terzo di fila. Dovrai trasferirlo costantemente in un posto conveniente o sopportare questo stato di cose.

Funzionamento del programma

Quando si riceve la posta, Kaspersky Anti-Spam analizza la posta in arrivo. Quando viene rilevato spam, il messaggio viene contrassegnato con un'etichetta speciale [!! SPAM] nel campo "Oggetto" e collocato nella cartella "Posta eliminata". Le email riconosciute come non spam non vengono contrassegnate ed elaborate. programma di posta secondo regole stabilite. Se il programma non è sicuro che il messaggio sia spam, il [?? Probabile spam] e l'e-mail viene inserita nella Posta in arrivo per consentire all'utente di prendere una decisione finale. Inoltre, il programma utilizza altri due tipi di etichette: - per i messaggi con contenuto osceno e - per le lettere generate automaticamente, come le lettere dei robot di posta.

Grazie a queste etichette, puoi organizzare il lavoro di Kaspersky Anti-Spam con qualsiasi altro programma di posta. Basta creare delle regole client di posta per ordinare i messaggi in base a questi tag. Nello stesso Microsoft Outlook, tali cartelle vengono create con un clic di un pulsante nella finestra delle impostazioni del modulo anti-spam.

Programma di formazione

Il programma può essere addestrato in due modi: classificando i messaggi ricevuti dall'utente come spam - non spam e scaricando gli aggiornamenti dal server "Laboratorio". Il primo metodo consente di addestrare il programma per la posta personale dell'utente, il secondo per rispondere rapidamente a massicci fenomeni di spam su Internet.

Quando viene lanciato per la prima volta, Kaspersky Anti-Spam estrae tutti gli indirizzi dalla rubrica di Microsoft Outlook per inserirli nell'"Elenco amici". Tutti i messaggi provenienti da questi destinatari verranno trattati come non spam dal modulo antispam e verranno ignorati senza verifica. Successivamente, l'utente può modificare questo elenco aggiungendo o rimuovendo i destinatari. Oltre alla "Lista degli amici" c'è anche una "Lista dei nemici". Qualsiasi corrispondenza ricevuta dai destinatari dell'Enemy List sarà inequivocabilmente valutata come spam.

L'aggiunta di destinatari alle liste di amici o nemici avviene semplicemente premendo un pulsante speciale sul pannello di Kaspersky Anti-Spam. C'è anche la formazione. Se salti un'e-mail di spam, devi solo fare clic sul pulsante "Questo è spam". Apparirà una finestra in cui l'utente deve dire al programma cosa fare con questo messaggio.

Il comando "Invia come esempio di spam" genera una lettera a Kaspersky Lab con un messaggio sullo spam per ulteriore formazione. Questo comando può essere ignorato. Puoi trascurare di aggiungere l'autore ai nemici, ma dovresti assolutamente aggiungere la lettera agli esempi di spam. Questo è il modo in cui il programma viene addestrato per la corrispondenza personale.

Poiché Kaspersky Anti-Spam non è integrato in altri client di posta, può essere addestrato in questi programmi solo tramite gli aggiornamenti ricevuti dal server del Lab. Sfortunatamente, questa opzione di formazione non consente di addestrare il programma per le funzionalità della posta personale.

Impostazioni

Nelle impostazioni del programma è possibile: specificare la posizione dei database dei moduli, se l'utente desidera che vengano archiviati in una posizione non standard; disabilitare o abilitare il filtraggio; imposta le opzioni di aggiornamento e visualizza le statistiche.

Il modulo Kaspersky Anti-Spam fornisce una protezione abbastanza completa della posta degli utenti dallo spam. Come qualsiasi altro programma, richiede formazione. E mentre questo apprendimento continua, è possibile riconoscere erroneamente le e-mail corrette come spam e viceversa. Uno svantaggio relativo è che il modulo non consente di eliminare le lettere sul server che sono ovviamente spam. L'utente deve ancora spendere il suo traffico su queste lettere non necessarie. D'altra parte, con questo approccio al filtro antispam, non andrà perso un solo messaggio di valore. Sotto tutti gli altri aspetti, Kaspersky Anti-Spam merita la più seria attenzione, soprattutto considerando l'integrazione del modulo con altri programmi che garantiscono la sicurezza del computer dell'utente.

Introduzione al problema

Sappiamo tutti cos'è lo spam perché lo abbiamo sperimentato o ne abbiamo letto. Sappiamo tutti come gli spammer raccolgono gli indirizzi email. Inoltre, non è un segreto che lo spam non possa essere completamente sconfitto. Il problema è come proteggere gli utenti che lasciano il più possibile i propri dati di contatto sul tuo sito con il minimo sforzo.

Metodi di protezione precedentemente testati

La più grande minaccia per le caselle di posta sono i programmi che scaricano siti e prendono pagine dal testo indirizzi postali. Scaricano solo il tuo sito o vagano come motori di ricerca, in tutta la rete. Se il tuo sito è piccolo, è sufficiente la protezione di questo autocorrettore del testo:

]+href=)([""]?)mailto:(+)()@".
"()(+.(2,4))2([ >])~i", "1" mailto: [email protetta]"
onMouseover="this.href="mai" + "lto:3" + "4" + "%40" + "5" + "6";"7", $testo); ?>

Sfortunatamente, non funzionerà se hai un sito di grandi dimensioni. Ad esempio, spettatore.ru, il cui autore è stato uno dei primi a utilizzare questo metodo. Se fossi uno spammer, andrei nelle mie impostazioni personali, spuntare "non mostrare le orecchie", 1000 recensioni per pagina e catturare i cookie con Proxomitron. Quindi, con una sedia a dondolo o uno script php, scaricherei le pagine con i commenti (sostituendo i cookie con le impostazioni) e catturerei gli indirizzi usando un'espressione regolare. Otterrei una piccola base per gli invii pubblicitari.

C'erano un altro paio di metodi di protezione in cui il link mailto: il link veniva automaticamente sostituito con un altro, ma l'effetto rimaneva lo stesso: quando si faceva clic su di esso, il client di sistema creava una lettera all'indirizzo desiderato. Entrambi non hanno resistito alle critiche.

Incontra: ricci

Ovviamente, è difficile escogitare un altro modo di protezione diverso da quello già provato e testato: fornire un modulo sul sito per inviare un messaggio. Progettiamolo. I vantaggi del metodo sono evidenti: nessuno sarà in grado di ottenere indirizzi per il proprio database di spam dal tuo sito. L'invio di messaggi nascondendo il tuo indirizzo, come fanno gli spammer, non funzionerà: il server web fisserà il suo indirizzo IP. Gli elenchi dei server proxy anonimi pubblici vengono aggiornati regolarmente ed è facile bloccarne l'accesso.

Presentatore

Cominciamo con esso, perché questa è la parte più difficile.

Quando si installa un mittente di moduli su un sito, è importante proteggerlo dagli attacchi di teppisti, che non possono essere più facili dello spam. Pertanto, dovremo fare grandi sforzi in questa direzione.

Innanzitutto, ci proteggeremo da stupidi doppi clic e dall'invio di molte richieste identiche. L'idea è questa: il messaggio non verrà inviato se l'utente non ha precedentemente aperto la pagina con il modulo, e aprendo la pagina con il modulo, è possibile inviare il messaggio una sola volta. Questo può essere fatto usando le sessioni integrate di PHP. Quando apriamo una pagina con un form, avvieremo una sessione in cui salveremo una variabile, diciamo $flag. L'ID della sessione verrà visualizzato come elemento nascosto alla fine del modulo. L'utente inserisce un messaggio e invia il modulo. Dopo aver ricevuto il modulo, lo script avvia la sessione e verifica la presenza e il valore della variabile $flag. Se la variabile non esiste, si tratta di un secondo clic, la lettera non viene inviata e viene visualizzato un messaggio di errore. Se è presente una variabile e i dati del modulo ci soddisfano (i campi obbligatori sono compilati), lo script invia un'e-mail ed elimina la sessione.

In secondo luogo, ci proteggeremo dai teppisti intelligenti registrando i registri dei messaggi. Se l'utente invia un modulo correttamente compilato, lo script cercherà nei registri e verificherà cosa c'è. Sì, dovrebbe essere vietato.

* inviare messaggi allo stesso indirizzo più spesso di un certo periodo
* inviare lo stesso testo a indirizzi diversi
* e usa semplicemente il mittente del modulo troppo spesso, ad esempio non più di 10 messaggi al giorno per utente

Stampiamo l'ID della sessione alla fine del modulo in modo che l'hacker debba scaricare l'intero modulo e analizzarlo, il che è più complicato del semplice invio di richieste HTTP. Naturalmente, il mittente del modulo invierà messaggi sugli errori nella scrittura di un messaggio, sull'obbligo di fornire un indirizzo di ritorno e così via.

Il codice mittente del modulo risultante era troppo grande per essere incluso nel testo. È stato archiviato sul sito. Sembra che lo script funzioni e invii messaggi.

Sostituzione degli indirizzi nel testo

Ora il mittente del modulo è pronto e dobbiamo sostituire tutte le e-mail con i collegamenti ad esso. Ovviamente non dovresti farlo manualmente. Per me stesso, ho scritto uno script che sostituisce automaticamente gli indirizzi con i collegamenti al mittente del modulo.

... Contro: più tempo per inserire i collegamenti (compensato dal catalogo dei collegamenti), l'utente, passando il mouse sopra il collegamento, non vede a quale indirizzo arriverà. (Dmitry Smirnov, "Il progetto dell'autore ideale, l'ipertestualità")

Tutti gli svantaggi citati sono facilmente eliminabili se si utilizza un codice simile a quello che ora descriverò e mostrerò.

Non c'è niente di complicato qui, se questi sono collegamenti, non è richiesto "più tempo per l'accordo". Sul mio sito, utilizzo uno script del motore che viene chiamato da tutte le pagine, quindi non è un problema aggiungere codice o richiamarlo da esso per sostituire gli indirizzi. Gli indirizzi postali vengono sia scritti che scritti direttamente nel testo delle pagine, ma prima di essere visualizzati all'utente vengono sostituiti con il testo desiderato. La compilazione di un database di collegamenti o indirizzi e-mail non è un problema.

Quindi cosa fa il sostituto dell'indirizzo. Cerca "mailto:" nel testo del collegamento, seleziona da essi gli indirizzi, invia una query al database per contare (count(*)) quanti indirizzi da quelli nella pagina sono in una tabella speciale. Se ci sono nuovi indirizzi nella pagina, il loro numero sarà maggiore del risultato della query. In questo caso viene effettuata una query in cui vengono selezionati i valori degli indirizzi e vengono esclusi dall'elenco quelli già presenti nella tabella. Il resto dell'elenco viene inviato alla tabella con una query INSERT.

Per quanto riguarda gli indirizzi ID, penso che sia meglio usare qualcosa che il visitatore del sito non ha potuto raccogliere. Riesci a immaginare, il link /email.php?id=10 porta al mittente del modulo? Che tentazione di sostituire 11, 12, ecc. e prova a mandare un messaggio a tutti loro. Pertanto, ho deciso di utilizzare l'hash md5 degli indirizzi come identificatori. Quasi nessuno si impegnerà a raccogliere un hash. Nel caso di una directory di collegamenti, puoi cavartela con un ID, ma poi devi selezionare tutti i valori dal database e sostituire gli indirizzi con i loro hash è molto più semplice.

Esecuzione di un comando come

]+href=)". "([""]?)mailto:( [email protetta]+". ".(2,4))2(.*?>)~ie", ""12"/email.php?email=". urlencode(md5("3")). ""4"" , $testo); ?>

...che sostituisce gli indirizzi con i loro hash. Non ho osato sostituire il resto degli indirizzi nel testo con collegamenti, ma ho fatto una semplice sostituzione con indirizzi come vasya_at_pupkin_dot_ru. Anche il codice di sostituzione automatica è nell'archivio.

Risultato

Nascondere gli indirizzi e-mail ai visitatori è abbastanza semplice. Il meccanismo di correzione automatica non richiede alcuno sforzo aggiuntivo e puoi scrivere pagine sul sito come se nulla fosse. Le difficoltà sorgono quando si protegge il mittente del modulo dai bulli del web. Questa protezione richiede molto impegno e codice complesso, quindi per il momento non ho utilizzato il codice scritto sul sito. Puoi scaricare un archivio con un indirizzo sostitutivo e un mittente del modulo, ma te lo chiedo molto: non metterlo sul tuo sito nel modulo in cui lo hai scaricato, io stesso non so quanto funzioni affidabile.

Quali sono i metodi anti-spam?

Esistono due metodi principali per proteggere un server di posta dallo spam: la protezione dallo spam nella fase di ricezione da parte del server di posta e la "separazione dello spam" dal resto della posta dopo che è stata ricevuta dal server di posta.

Tra i primi metodi, i metodi più diffusi sono l'utilizzo di DNS Black List (DNSBL), Greylisting e vari ritardi nell'invio della posta; uso di vari mezzi tecnici, come la verifica dell'esistenza di un utente sul lato mittente (callback), la verifica della "correttezza" del server di invio con metodi come la presenza di una voce nella zona DNS inversa, la legalità del nome quando si stabilisce un SMTP sessione (helo), controllando il record SPF (perché funzioni nel record DNS, viene utilizzato il record corrispondente sui server dei mittenti legali sull'host).

Tra i metodi di analisi del contenuto della lettera, i metodi più diffusi sono il controllo utilizzando vari algoritmi, come la ricerca di specifici parole chiave natura pubblicitaria o basata sul teorema di Bayes. L'algoritmo basato sul teorema di Bayes contiene elementi di teoria della probabilità, viene inizialmente addestrato dall'utente su lettere che, a suo avviso, sono spam e separa ulteriormente i messaggi contenenti spam per caratteristiche.

Quindi, diamo un'occhiata più da vicino a questi metodi di filtraggio della posta elettronica.

Liste nere o DNSBL (liste nere DNS)

Le blacklist includono gli indirizzi da cui viene inviato lo spam. Sono ampiamente utilizzati elenchi come "relè aperti" e "proxy aperti" e vari elenchi di indirizzi dinamici assegnati dai fornitori agli utenti finali. Grazie alla facilità di implementazione, l'utilizzo di queste blacklist avviene tramite il servizio DNS.

Greylisting o Greylisting

Greylisting si basa su tattiche di spamming. Di norma, lo spam viene inviato in brevissimo tempo in gran numero da qualsiasi server. Il compito della greylist è di ritardare deliberatamente la ricezione delle e-mail per qualche tempo. L'indirizzo e il tempo di inoltro vengono inseriti nel database della greylist. Se una computer remotoè un vero server di posta, quindi deve tenere la lettera in coda e ripetere l'inoltro entro cinque giorni. I bot spam, di norma, non tengono i messaggi in coda, quindi, dopo poco tempo, smettono di provare a inoltrare la lettera. È stato stabilito sperimentalmente che il tempo medio per l'invio di spam è di poco più di un'ora. Quando si invia nuovamente una lettera dallo stesso indirizzo, se è passata dal primo tentativo importo richiesto momento in cui la lettera viene accettata e l'indirizzo viene inserito nella white list locale per un periodo sufficientemente lungo.

Analisi di performance

I primi due metodi consentono di filtrare circa il 90% dello spam nella fase di consegna alla casella di posta. La posta già consegnata può essere contrassegnata analizzando il contenuto della lettera, ad esempio utilizzando il programma SpamAssassin. Questo prodotto consente, sulla base di algoritmi speciali, di aggiungere righe appropriate alle intestazioni dei messaggi e l'utente, in base ai filtri di posta nel client di posta, può filtrare la posta in cartelle desiderate programma di posta.

Conclusione

Naturalmente, ci sono altri modi per proteggersi dallo spam, il più efficace, purtroppo, su questo momento sono misure preventive, come non lasciare la propria casella di posta elettronica reale su siti web, forum e bacheche, utilizzando per tali esigenze indirizzi temporanei, che possono essere successivamente cancellati, se necessario, pubblicazione cassetta postale sul sito, al posto del testo, utilizzare un'immagine grafica e misure simili.

Puoi connetterti e configurare GreyListing attraverso il pannello ISPmanager nella sezione "Caratteristiche".

Puoi saperne di più sulla configurazione dei metodi anti-spam attraverso il pannello di controllo qui DNSBL e qui Greylisting.

Le seguenti tecnologie vengono utilizzate per proteggere i server di posta:

Esistono due metodi principali di protezione dallo spam: protezione dallo spam quando la posta viene ricevuta dal server e separazione dello spam dal resto della posta dopo la ricezione.

Liste nere. Le blacklist includono gli indirizzi IP da cui viene inviato lo spam.

Greylisting o greylisting. Il principio di funzionamento delle liste grigie si basa sulla tattica dell'invio di spam. Di norma, lo spam viene inviato in brevissimo tempo in grandi quantità da qualsiasi server. Il compito della greylist è di ritardare deliberatamente la ricezione delle e-mail per qualche tempo. L'indirizzo e il tempo di inoltro vengono inseriti nel database della greylist. Se il computer remoto è un vero server di posta, allora deve tenere la lettera in coda e ripetere l'inoltro entro cinque giorni. I bot spam, di regola, non tengono i messaggi in coda, quindi dopo poco tempo smettono di provare a inoltrare la lettera. Quando si invia nuovamente una lettera dallo stesso indirizzo, se è trascorso il tempo richiesto dal primo tentativo, la lettera viene accettata e l'indirizzo viene aggiunto alla white list locale per un periodo sufficientemente lungo.

DNSBL (lista nera DNS)– elenchi di host memorizzati utilizzando il sistema DNS. Server email accede al DNSBL e verifica la presenza dell'indirizzo IP da cui riceve il messaggio. Se l'indirizzo è in questo elenco, non viene accettato dal server e il messaggio corrispondente viene inviato al mittente

Limite di messaggi. Imposta un limite al numero di messaggi.

Programma Spamassassino(SA) consente di analizzare il contenuto di un messaggio già consegnato. SpamAssassin viene fornito con un ampio insieme di regole che determinano quali e-mail sono spam e quali no. La maggior parte delle regole si basa su espressioni regolari che corrispondono al corpo o all'intestazione del messaggio, ma SpamAssassin utilizza anche altre tecniche. La documentazione di SpamAssassin fa riferimento a queste regole come "test".

Ogni test ha un "costo". Se il messaggio supera il test, questo "costo" viene aggiunto al punteggio totale. Il costo può essere positivo o negativo, i valori positivi si chiamano spam, i valori negativi si chiamano ham. Il messaggio passa attraverso tutti i test, viene calcolato il punteggio totale. Più alto è il punteggio, più è probabile che il messaggio sia spam.

SpamAssassin ha una soglia configurabile al di sopra della quale l'e-mail verrà classificata come spam, solitamente la soglia è tale che l'e-mail deve soddisfare diversi criteri, non basta attivare un solo test per superare la soglia.

Le seguenti tecnologie vengono utilizzate per proteggere i siti Web dallo spam:

1. Captcha dell'immagine. Quelli. all'utente viene mostrato un testo arbitrario che l'utente deve inserire per eseguire qualsiasi azione.

2. Captcha di testo– l'abbonato deve inserire la risposta alla domanda proposta per confermare le sue azioni.

3. Captcha interattivo- una forma di protezione un po' comune, ma molto utile. Ad esempio, per confermare le azioni, all'utente verrà chiesto di risolvere un semplice puzzle, ad esempio assemblare un'immagine da tre o quattro parti.

Cari amici e utenti del nostro sito, sono di nuovo con voi, SpaceWolf, e oggi parleremo del problema urgente dello “SPAM”. Il modo per risolvere questo problema sarà sbarazzarsi di spam sul modulo feedback , commenti spam o spam sugli ordini online.

Vorrei subito notare i pro e i contro di questo metodo:

  1. Funziona bene contro i bot.
  2. Installazione rapida sotto forma di invio di messaggi
  3. Codice minimo (3 righe)
  4. Non richiede conoscenze particolari, fatta eccezione per la posizione dei file principali.
  5. Gli utenti che non hanno java non potranno superare la verifica e quindi inviare un messaggio.

Fondamentalmente tutto. Procediamo con l'installazione:

1) Aggiungi un campo nascosto aggiuntivo al tuo modulo (questo è un modulo di commento, un modulo di feedback, un modulo d'ordine del prodotto) con il nome nome="verifica" significato valore="" lasciare vuoto. Esempio:

2) Nella stessa maschera, ma solo nel pulsante (“invia”, “scrivi”, “Lascia feedback” o come lo chiami tu), aggiungi il seguente codice:

If ($_POST["check"] != "stopSpam") exit("Spam decected");

Protezione antispam: come funziona

Il principio è semplice come il codice stesso. È progettato per impedire ai bot spam di eseguire programmi JavaScript. Nel momento in cui un utente normale fa clic sul pulsante "ordina" nel nostro campo nascosto, la parola "stopSpam" si adatterà e, nel caso di un robot, questo campo rimarrà vuoto. Lascia che ti spieghi al momento perché rimarrà vuoto? Il robot compila tutti i campi tranne il nostro campo nascosto con un identificatore id="verifica" e variabile dai un'occhiata rimarrà vuoto, quindi la posta non verrà inviata. E quando l'utente clicca sul pulsante, il ns JavaScript, che abbiamo aggiunto al pulsante.

Ti consiglio di usare questo metodo insieme al captcha, l'effetto sarà migliore.

Bene, questo è tutto. Se l'articolo ti ha aiutato, scrivi commenti, ripubblica e non dimenticare di dire "Grazie" nei commenti.

Se qualcuno ha altri problemi o domande, lascialo nei commenti, saremo felici di trovare insieme una soluzione. Aspettiamo i vostri messaggi!