C'è un modo per ottenere spamassassin per segnare più pesantemente le prime righe di un corpo di messaggio?


9

Un sacco di spam passa attraverso il filtro sul server di posta che eseguo con il trucco relativamente semplice di iniziare con poche righe di perdita di peso (incredibilmente ovvia) o altro testo di truffa nella parte superiore, seguito da un più ampio corpus di testo dalla documentazione di programmazione - o, il più malvagio di tutti, il testo raschiato da Stack Exchange . Nella migliore delle ipotesi, Spamassassin lo considera BAYES_50 e accade che il resto dei messaggi sia costruito con sufficiente attenzione da non colpire altri trigger. (Ad esempio, le intestazioni sono minime e corrette.) Spesso, gli estratti inclusi si allineano abbastanza strettamente con i miei legittimi interessi che il messaggio complessivo è segnato come BAYES_00, perché i token molto spammy sono semplicemente sopraffatti da succose pepite di problem solving sysadmin.

La parte superiore è così evidentemente spammosa (e in effetti tende ad essere molto simile a quella ricevuta in precedenza e addestrata come messaggi spam) che sono un po 'stupito che stia passando, ma chiaramente lo è. Sembra un passaggio separato che ha segnato le prime 25 (circa) righe del messaggio e ha pesato che avrebbe risolto pesantemente il problema. C'è un modo per fare questo?


Diverse persone hanno suggerito di scrivere espressioni regolari personalizzate. Non voglio entrare in questo, poiché questa è una battaglia persa costante. È ciò che le persone hanno fatto prima che lo smistamento dello spam bayesiano venisse diffuso, ed era generalmente terribile. Nessun essere umano può tenere il passo . Non è molto più efficace che premere semplicemente la chiave di eliminazione per ogni messaggio di spam e molto più lavoro da parte mia.

Il filtro antispam bayesiano funziona. Funziona anche su questo spam, se divido la parte " above the fold " e analizzo solo quella parte, con l'esca / la pula rimossa. La domanda è: come posso convincere Spamassassin a farlo?


Il filtro bayesiano è abilitato?
Kondybas,

@kondybas Sì. E questo è parte del problema, poiché il testo di riempimento supera la parte di spam per pura quantità.
Mattdm,

Quale MTA hai usato?
Kondybas,

Quanto allenamento bayesiano hai fatto su questi spam? Mi aspetterei che l'algoritmo bayesiano lo risolva in breve tempo.
MC0e,

@ mc0e Non può. Non è così magicamente intelligente. Un sistema di apprendimento automatico più sofisticato potrebbe probabilmente farlo, ma penso che anche "un semplice trucco" che sto chiedendo qui lo farebbe.
Mattdm,

Risposte:


1

Sono un (piccolo) vivido combattente anti-spam. E a causa di molti problemi che si incontrano, ho finito per fare le cose sporche da solo, anni fa.

Ora, questa non è una risposta alla tua domanda particolare, ma al tuo problema particolare. Quindi, per favore, non sottovalutare per questo.

Come ho risolto questo problema è stato modificare lo script sa_filter-post.pl, utilizzato dal server XMail, che chiama spamc sul file e-mail e fa alcune cose minori lì, per elaborare non l'intero file, ma parti specifiche di esso, in base a alcune regole specifiche (codificate da me). si, regex, ma finora funzionano per me (ho un sacco di altri script prima e dopo questo in modo che possano avere un ruolo)

Ad esempio, ho una regex che pesca i numeri di telefono. Lo spammer lo ha lasciato per intero, in modo che esca direttamente per elaborare solo i 400 caratteri medi del file (sono arrivato a 400 per tentativi ed errori, è iniziato da 200). Nota che è piuttosto difficile scegliere il mezzo di ciò che vedi, rispetto a ciò che è nel file.

Ce n'è un altro che ha la stessa struttura della tabella html con i "prodotti", un'intestazione fittizia e un piè di pagina non utilizzabile, quindi li rimuovo, rimuovo la colonna dei commenti "prodotti" e poi li trasmetto a spamc.

E così via, ottieni l'immagine.

Ma non tutte le regole sono perfette, quindi faccio un po 'di magia qui assegnando un punteggio privato a ciascuna regola, che codifico e sintonizzo su o giù quando necessario, in base a come si comporta la regola (e qualche volta finisco per eliminare le regole tutte insieme ). Quindi modifico il punteggio SA con il punteggio privato. Il motivo per cui l'ho fatto è stato perché per qualche motivo SA ha dato solo punteggi come 4. Qualcosa per riempire chiaramente lo spam su regole che avevo anche forti sentimenti per colpirli nel modo giusto. Quindi ho dato loro un piccolo impulso per andare avanti con la 5.0, insieme ad alcuni script di post-elaborazione che prendono in considerazione alcune altre variabili (fonte di e-mail, destinazione dell'email, struttura dell'intestazione, ecc.), Uccide più o meno lo spam su.

Ora mi rendo conto che questo non è quello che speravi, ma nel mio caso mi dà un sacco di potere su ciò che viene scannerizzato, è solo che ho bisogno di impostare le cose manualmente e poi di tanto in tanto fare un piccolo tocco- aumenta i valori / regex.

Ma nel tuo caso le cose sono molto più facili in quanto tutto ciò che devi fare è utilizzare un semplice script bash che verrà chiamato dal tuo MX invece di spamc e fare in modo che lo script usi il comando head per ottenere il primo qualunque numero di byte desideri e passare quel file temporaneo a spamc.

Il contenuto dello script dipenderà un po 'dal tuo server di posta, ma non dovrebbe essere difficile da capire.

(Nota che ho parlato solo di gran parte della mia configurazione in modo da poter vedere le possibilità di questa opzione)

PS: Personalmente non ho mai ricevuto questo tipo di email di spam (con contenuti correlati alla programmazione), quindi mi chiedo se non hai fatto incazzare qualcuno e ora sei preso di mira. Ciò spiegherebbe le e-mail appositamente predisposte. Il motivo per cui penso a questa possibilità è che anni fa, quando ero molto attivo su vari forum e gruppi IT, facevo incazzare alcune persone e ogni tanto usavo ottenere vari tipi di attacchi sul mio server, incluso lo spamming via e-mail . Ma allora gli idioti non erano così intelligenti :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.