Questo è il comando spamoracle che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
spamoracle - uno strumento di classificazione dello spam
SINOSSI
spamoracolo [-config conf] [-f banca dati] marchio [ cassetta postale ... ]
spamoracolo [-config conf] [-f banca dati] aggiungere [-v] -spam casella di posta indesiderata ... -bene buona scatola ...
spamoracolo [-config conf] [-f banca dati] test [-min probabilmente] [-Max probabilmente] [ cassetta postale ... ]
spamoracolo [-config conf] [-f banca dati] stat [ cassetta postale ... ]
spamoracolo [-config conf] [-f banca dati] stratagemma regexp ...
spamoracolo [-config conf] [-f banca dati] di riserva > file di backup
spamoracolo [-config conf] [-f banca dati] ripristinare < file di backup
spamoracolo [-config conf] [-f banca dati] parole [ cassetta postale ... ]
DESCRIZIONE
SpamOracle è uno strumento che aiuta a rilevare e filtrare lo "spam" (e-mail commerciali non richieste
posta). Si procede con l'analisi statistica delle parole che compaiono nell'e-mail,
confrontando le frequenze delle parole con quelle trovate in un corpus di note fornito dall'utente
spam ed e-mail legittime note. L'algoritmo di classificazione si basa su quello di Bayes
formula, ed è descritto nell'articolo di Paul Graham, A piano da carne in scatola,
http://www.paulgraham.com/spam.html.
Questo programma è progettato per funzionare insieme a procmail(1). Il risultato di
l'analisi viene emessa come intestazione del messaggio aggiuntiva X-Spam: seguito da sì, no or Sconosciuto,
più ulteriori dettagli. Una regola procmail può quindi verificarlo X-Spam: intestazione e consegna
l'e-mail alla casella di posta appropriata.
Inoltre, SpamOracle analizza anche gli allegati MIME, estraendo informazioni rilevanti
come il tipo MIME, la codifica dei caratteri e il nome del file allegato e riassumendoli in una
aggiuntivo X-Allegati: intestazione. Ciò consente a procmail di rifiutare facilmente le e-mail
contenenti allegati sospetti, ad esempio eseguibili Windows che spesso indicano un virus.
REQUISITI E LIMITAZIONI
Per usare SpamOracle, la tua posta deve essere consegnata a una macchina Unix su cui hai una shell
account. Questa macchina deve avere procmail(1) (vedi http://www.procmail.org/) installato.
~ / .forward il file deve essere impostato per eseguire tutta la posta in arrivo tramite procmail(1). Se
il tuo server di posta supporta i protocolli POP o IMAP, puoi anche usare recuperare la posta(1) a
prendi la tua posta dal server e falla consegnare al tuo computer locale.
Fornire il corpus di messaggi da cui "apprende" SpamOracle, un archivio di circa 1000
delle tue e-mail è necessario. L'archivio deve essere suddiviso manualmente o semiautomaticamente in
spam conosciuti e messaggi buoni conosciuti. Messaggi classificati erroneamente nel corpus (ad es. spam
erroneamente memorizzato tra i messaggi buoni) diminuirà l'efficienza del
classificazione. L'archivio deve essere in formato mailbox Unix, o in "un messaggio per file"
formato (alla MH). Altri formati, come Babyl di Emacs, non sono supportati.
La nozione di "parola" utilizzata da SpamOracle è inclinata verso le lingue dell'Europa occidentale,
cioè i set di caratteri ISO Latin-1 e Latin-9. Supporto preliminare per codifica JIS
Il giapponese può essere selezionato in fase di compilazione. SpamOracle non funzionerà bene se ricevi
molti messaggi di posta elettronica legittimi scritti in altri set di caratteri, come i set cinesi o coreani.
INIZIALIZZAZIONE
Per costruire il database delle frequenze delle parole dal corpus, fare:
rm ~/.spamoracle.db
spamoracolo aggiungere -v -bene buone mail -spam posta indesiderata
Per impostazione predefinita, il database è memorizzato nel file .spamoracle.db nella tua home directory.
Questo può essere sovrascritto con il -f opzione: spamoracolo -f miodatabase aggiungere ... . -v opzione
stampa le informazioni sullo stato di avanzamento durante l'elaborazione del corpus.
Ciò presuppone che i messaggi validi e non spam dal corpus siano memorizzati nel file
buone maile i messaggi di spam noti nel file posta indesiderata. Puoi anche recuperare il corpus
messaggi da più file e/o elaborarli tramite diverse invocazioni di SpamOracle:
spamoracolo aggiungere -bene buone mail1 ... goodmailN
spamoracolo aggiungere -spam spammail1 ... spammailP
TEST IL DATABASE
Per verificare che il database sia stato creato correttamente e familiarizzare con il
analisi statistica eseguita da SpamOracle, invoca la modalità "test" sulle caselle di posta che
hai appena usato per costruire il corpus:
spamoracolo test buone mail | Scopri di più
spamoracolo test posta indesiderata | Scopri di più
Per ogni messaggio nelle caselle di posta indicate, vedrai un riepilogo come questo:
A partire da: BBO <[email protected]>
Oggetto: Vedi Questo Fuori
Punto: 1.00 -- 15
Caratteristiche: rifarsi: 98 $$$$:98 surf: 98 aspide:95 clic:93 cavo:92
istantaneamente:90 https:88 internet:87 www:86 U4:85 non è: 14 mese: 81
com:75 navigare:75
allegati: cset="GB2312" type="application/octet-stream"
nome = "Guangwen4.zip"
File: posta in arrivo/314
Le prime due righe sono solo le A partire da: e Oggetto: campi del messaggio originale.
. Punto: La riga riassume il risultato dell'analisi. Il primo numero (tra 0.0 e
1.0) è la probabilità che il messaggio sia effettivamente spam --- o, equivalentemente, il grado
di somiglianza del messaggio con i messaggi di spam nel corpus. Il secondo numero (an
intero compreso tra 0 e 15) è il numero di parole "interessanti" trovate nel messaggio.
Le parole "interessanti" sono quelle che compaiono almeno 5 volte nel corpus. Nell'esempio,
abbiamo 15 parole interessanti (il massimo) e un punteggio di 1.00, che indica uno spam con
alta certezza.
. Caratteristiche: riga fornisce una spiegazione del punteggio. Elenca i 15 più interessanti
parole trovate nel messaggio, cioè le 15 parole interessanti la cui probabilità di
denotando uno spam è più lontano dal neutro 0.5. Ogni parola è data con la sua
punteggio individuale, scritto come percentuale (tra 01 e 99) piuttosto che come probabilità
in modo da risparmiare spazio. Qui, vediamo una serie di parole molto "spam" come $ $ $ $ or
clicca, con probabilità rispettivamente 0.98 e 0.93, e poche parole "innocenti" come
non è (probabilità 0.14). Il U4 la parola con probabilità 0.85 è in realtà una pseudo-parola
che rappresenta una parola di 4 lettere tutta in maiuscolo, qualcosa a cui gli spammer sono affezionati.
. allegati: line riassume alcune informazioni sugli allegati MIME per questo messaggio.
Qui abbiamo un allegato di tipo flusso di applicazione/octect, nome del file Guangwen4.zip,
e set di caratteri GB2312 (una codifica per il cinese).
. File: riga mostra il file che viene testato.
Normalmente, durante l'esecuzione spamoracolo test buone mail, la maggior parte dei messaggi dovrebbe uscire con un valore basso
punteggio (0.2 o meno) e durante la corsa spamoracolo test posta indesiderata, la maggior parte dei messaggi dovrebbe arrivare
fuori con un punteggio alto (0.8 o più). In caso contrario, il tuo corpus non è molto buono, o non va bene
classificati in spam e non spam. Per vedere rapidamente i valori anomali, puoi ridurre il
intervallo di punteggi per i quali vengono visualizzati i riepiloghi dei messaggi, come segue:
spamoracolo test -min 0.2 buone mail | Scopri di più
# Spettacoli esclusivamente buono mail con Punto >= 0.2
spamoracolo test -Max 0.8 posta indesiderata | Scopri di più
# Spettacoli esclusivamente carne in scatola mail con Punto <= 0.8
Ora, per un test più impegnativo, prendi una casella di posta che contiene e-mail non filtrate, ad es
misto di spam e e-mail legittime ed eseguirlo tramite SpamOracle:
spamoracolo test la mia casella di posta | meno
Lasciati stupire da come l'oracolo riconosce lo spam dagli altri! Se il risultato non è quello
meraviglioso per te, tieni presente che alcuni spam sono troppo brevi per essere riconosciuti (non
parole abbastanza significative). Inoltre, forse il tuo corpus era troppo piccolo o non andava bene
classificato...
MARCATURA E FILTRO IN ARRIVO E-MAIL
Una volta creato il database, sei pronto per eseguire le e-mail in arrivo tramite SpamOracle. Il
command spamoracolo marchio legge un messaggio di posta elettronica dallo standard input e lo copia nello standard
output, con due intestazioni inserite: X-Spam: e X-Allegati:. X-Spam: l'intestazione ne ha uno
i seguenti formati:
X-Spam: sì; Punto; dettagli
or
X-Spam: No; Punto; dettagli
or
X-Spam: sconosciuto; Punto; dettagli
. Punto e dettagli sono come descritti per spamoracolo test.
. sì/no/Sconosciuto tag sintetizza i risultati dell'analisi: sì significa che il punteggio
è >= 0.8 e sono state trovate almeno 5 parole interessanti; no significa che il punteggio è <= 0.2
e sono state trovate almeno 5 parole interessanti; Sconosciuto viene restituito diversamente. Il Sconosciuto
Il caso si verifica generalmente per messaggi molto brevi, dove non c'erano abbastanza parole interessanti
trovato.
. X-Allegati: l'intestazione contiene le stesse informazioni del allegati: uscita di
spamoracolo test, ovvero un riepilogo degli allegati del messaggio.
Per elaborare automaticamente la posta in arrivo tramite SpamOracle e agire in base ai risultati
dell'analisi, basta inserire nel file le seguenti "ricette" ~/.procmailrc:
:0fw
| /usr/local/bin/spamoracle marchio
:0
* ^X-Spam: sì;
casella di posta indesiderata
Il significato di questi comandi criptici è:
- Esegui ogni posta attraverso il spamoracolo marchio comando. (Se spamoracle non è stato installato in
/ Usr / local / bin, regola il percorso secondo necessità.) Questo aggiunge due intestazioni al messaggio: X-
spam: e X-Allegati:, descrivendo i risultati dell'analisi dello spam e dell'allegato
analisi.
- Se abbiamo un X-Spam: sì intestazione, consegna il messaggio al file casella di posta indesiderata piuttosto che a
la tua normale casella di posta. Probabilmente leggerai casella di posta indesiderata una volta ogni tanto, ma meno spesso
rispetto alla tua normale casella di posta. Gli utenti audaci possono mettere / Dev / null invece di casella di posta indesiderata solo per
butta via il messaggio, ma per favore non farlo finché non avrai usato SpamOracle per un po'
e sono contento dei risultati. Tasso di falsi positivi di SpamOracle (cioè messaggi legittimi
classificato come spam) è basso (0.1%) ma non nullo. Quindi, meglio salvare i presunti spam
da qualche parte e scansionarli rapidamente di tanto in tanto.
Se desideri goderti un po' di filtraggio basato sugli allegati, ecco alcune regole di procmail
per quello:
:0
* ^X-Attachments:.*name=".*\.(pif|scr|exe|bat|com)"
casella di posta indesiderata
:0
* ^X-Attachments:.*type="audio/(x-wav|x-midi)
casella di posta indesiderata
:0
* ^(Content-type:.*|X-Attachments:.*cset="|^Subject:.*=\?)(ks_c|gb2312|iso-2|euc-|big5|windows-1251)
casella di posta indesiderata
La prima regola tratta come spam ogni messaggio di posta che ha un eseguibile Windows come allegato.
Queste e-mail vengono generalmente inviate da virus. La seconda regola fa lo stesso con gli allegati
di tipo x-wav o x-midi. Normalmente non ricevo mai musica via e-mail, tuttavia un po' popolare
i virus della posta elettronica sembrano affezionati a questi tipi di allegati. La terza regola considera spam ogni
posta che utilizza codifiche di caratteri corrispondenti a coreano, cinese, giapponese e
Cirillico.
IN AGGIORNAMENTO IL DATABASE
In qualsiasi momento, puoi aggiungere altri spam noti o messaggi legittimi noti al database tramite
usando il spamoracolo aggiungere comando.
Ad esempio, se trovi un messaggio di spam che non è stato classificato come tale, esaminalo
spamoracolo aggiungere -spam, in modo che SpamOracle possa imparare dal suo errore. (Senza ulteriori
argomenti, questo comando leggerà un singolo messaggio dallo standard input e lo registrerà come
spam.) Sotto cane bastardo(1) ad esempio, basta evidenziare il messaggio di spam e digitare
|spamoracolo aggiungere -spam
Allo stesso modo, se trovi un messaggio legittimo mentre controlli la tua casella di posta indesiderata, eseguilo
spamoracolo aggiungere -bene.
Un'altra opzione è raccogliere spam più noti o messaggi buoni più noti nella casella di posta
file, e di tanto in tanto fare spamoracolo aggiungere -bene nuove_buone_mail or spamoracolo aggiungere -spam
nuove_mail_spam.
INTERROGAZIONE IL DATABASE
Per la tua edificazione e divertimento, il contenuto del database può essere interrogato da
espressioni regolari. Il spamoracolo stratagemma regexp comando elenca tutte le parole nel database
quella partita regexp (un'espressione regolare in stile Emacs), insieme al loro numero di
occorrenze nella posta spam e nella posta buona. Ad esempio:
spamoracolo stratagemma '.*' # mostrare attraverso le sue creazioni contro tutti i parole -- big elenco!
spamoracolo stratagemma 'sesso.*'
spamoracolo stratagemma 'linux.*'
DATABASE BACKUP
Il database utilizzato da SpamOracle è memorizzato in un formato binario compatto che non è umanamente
leggibile. Inoltre, questo formato è soggetto a modifiche nelle versioni successive di SpamOracle. Per
facilitare i backup e gli aggiornamenti, il contenuto del database può anche essere manipolato in a
portatile, formato di testo.
. spamoracolo di riserva il comando esegue il dump del contenuto del database sullo standard output, in a
formato testuale e portatile.
. spamoracolo ripristinare comando legge un tale dump dall'input standard e ricostruisce il
database con questi dati.
La procedura consigliata per l'aggiornamento a una versione più recente di SpamOracle è:
# i Before , il aggiornamento:
spamoracolo di riserva > file di backup
# Upgrade Spam Oracle
# Ripristinare , il banca dati
spamoracolo ripristinare < file di backup
CONFIGURAZIONE FILTRO PARAMETRI
Molti dei parametri che regolano la classificazione dei messaggi possono essere configurati tramite a
file di configurazione. Per impostazione predefinita, la configurazione viene letta dal file .spamoracle.conf
nella home directory dell'utente. È possibile specificare un file di configurazione diverso su
riga di comando usando il -config opzione: spamoracolo -config miofileconfig ...
Viene descritto l'elenco dei parametri configurabili e il formato del file di configurazione
in spamoracle.conf(5).
Tutti i parametri hanno valori predefiniti ragionevoli, ma puoi provare a migliorare la qualità di
classificazione ulteriormente modificandoli. Per determinare l'impatto delle modifiche, utilizzare
sia la test or stat comandi a spamoracolo. spamoracolo stat comando stampa un uno-
riepilogo riga di quanti messaggi spam, non spam e sconosciuti sono stati trovati nelle cassette postali
dati come argomenti.
TECNICO DETTAGLI
La nozione di "parola" di SpamOracle è una sequenza da 3 a 12 dei seguenti caratteri: lettere,
virgolette singole e trattini (-). Se è stato compilato il supporto per le lingue europee non inglesi
in, i caratteri delle parole includono anche le lettere accentate pertinenti per le lingue in
domanda. Tutte le parole sono mappate in minuscolo e le lettere accentate sono mappate su
lettere corrispondenti non accentate.
Anche una sequenza da 3 a 12 dei seguenti caratteri costituisce una parola: cifre, punti,
virgole e segni di dollaro, euro e percentuale.
Inoltre, una sequenza di tre o più lettere maiuscole genera una pseudo-parola Un where n
è la lunghezza della corsa. Allo stesso modo, una sequenza di tre o più caratteri non ASCII (codice >=
128) genera una pseudo-parola Wn where n è la lunghezza della corsa.
Ad esempio, il seguente testo:
ESTATE in English is scritto "ete" in Francese
viene elaborato nelle seguenti parole, supponendo che il supporto francese sia stato selezionato al momento della compilazione
tempo:
U5 estate Inglese scritto ete francese W3
e se il supporto francese non è stato selezionato:
U5 estate Inglese scritto francese W3
Per vedere le parole estratte da un messaggio, emettere il spamoracolo parole comando.
Legge un singolo messaggio dall'input standard o tutti i messaggi dalla casella di posta
file dati come argomenti, scompone i messaggi in parole e stampa le parole.
CASUALE NOTE
Il file del database può essere compresso con gzip(1) per risparmiare spazio su disco, a spese di
più lento spamoracolo operazioni. Se il file di database specificato con -f l'opzione ha il
estensione .gz, spamoracolo lo decomprimerà automaticamente all'avvio e lo ricomprimerà
dopo gli aggiornamenti.
Se la tua posta è archiviata in formato MH, potresti incorrere in errori di "riga di comando troppo lunga" mentre
cercando di elaborare molti file di piccole dimensioni con il spamoracolo aggiungere comando, ad esempio quando si esegue
spamoracolo aggiungere -bene archivi/*/* -spam spam/*
Invece, fai qualcosa come:
Find archivio -Type f -Stampa | xargs spamoracolo aggiungere -bene
Find carne in scatola -Type f -Stampa | xargs spamoracolo aggiungere -spam
Usa spamoracle online utilizzando i servizi onworks.net