SpamAssassin

SpamAssassin est un logiciel libre mené par la Apache Software Foundation, auteur du très célèbre serveur Web Apache HTTP Server. Le but de ce logiciel est de filtrer le trafic des courriels pour éradiquer les courriels reconnus comme pourriels ou courriels non sollicités.

SpamAssassin
Informations
Développé par Apache Software Foundation[1]
Première version [2]
Dernière version 3.4.4 ()[3]
Dépôt svn.apache.org/viewvc/spamassassin, svn.apache.org/repos/asf/spamassassin, git://git.apache.org/spamassassin.git, github.com/apache/spamassassin et svn.apache.org/repos/asf/spamassassin/trunk
État du projet En développement
Écrit en Perl et C
Système d'exploitation Type Unix
Type Anti-spam
Licence Licence Apache version 2.0
Site web spamassassin.apache.org

Face à l'augmentation importante du spam, ce logiciel connaît un engouement important et est adaptable sur de nombreux serveurs de courriels dont procmail, sendmail, Postfix, Exim, qmail ; il peut être installé sur la plupart des systèmes basés sur GNU/Linux, Windows et Mac OS X.

SpamAssassin est distribué gratuitement sous la licence Apache Software License, mais il est possible d'y contribuer financièrement pour encourager son développement.

Fonctionnement

SpamAssassin est un programme (en Perl) qui fait passer un certain nombre de tests au message. En fonction du résultat de ces tests, il attribue un score au message.

Si le score dépasse un certain seuil, le courriel est alors considéré comme du Spam. SpamAssassin modifie alors le titre du message (il l'encadre par ***** SPAM *****). De plus, SpamAssassin positionne deux nouveaux en-têtes au message : X-Spam-Status et X-Spam-Level.

Ces deux en-têtes permettent alors de créer des filtres dans votre client de messagerie pour orienter le message (par exemple vers la corbeille).

Tous les messages doivent donc passer par SpamAssassin pour être traités, avant d’arriver dans leur dossier définitif.

Voici un exemple des entêtes ajoutés à un message filtré par SpamAssassin :

X-Spam-Level: *********
X-Spam-Status: Yes, score=9.0 required=5.0 tests=BAYES_99,FROM_EXCESS_BASE64,
	FR_HOWTOUNSUBSCRIBE,FR_SPAMISLEGAL,FR_SPAMISLEGAL_2,HK_RANDOM_ENVFROM,
	HTML_IMAGE_RATIO_04,HTML_MESSAGE,UNPARSEABLE_RELAY autolearn=no version=3.3.1
X-Spam-Report: 
	* 3.5 BAYES_99 BODY: Bayes spam probability is 99 to 100%
	*      [score: 1.0000]
	* 0.0 HK_RANDOM_ENVFROM Envelope sender username looks random
	* 1.0 FR_SPAMISLEGAL_2 BODY: French: droit d acces de modification de
	* rectification
	* 2.0 FR_HOWTOUNSUBSCRIBE BODY: French: how to unsubscribe
	* 1.0 FR_SPAMISLEGAL BODY: French: Conformement ou En vertu....la loi
	* 0.6 HTML_IMAGE_RATIO_04 BODY: HTML has a low ratio of text to image area
	* 0.0 HTML_MESSAGE BODY: HTML included in message
	* 1.0 FROM_EXCESS_BASE64 From: base64 encoded unnecessarily
	* 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines

On remarque qu'il y a 9 étoiles dans l'entête X-Spam-Level qui correspondent bien à un score global de 9.0 (>=9 et <10) affiché en second argument de l'entête X-Spam-Status. Suivent sur cette même ligne, la limite requise, par défaut de 5.0, fixée pour qualifier ce message de Spam (Yes) ainsi que la liste des différents tests qui ont contribué à modifier ce score global. L'entête X-Spam_Report donne la quantification des différents scores ainsi qu'un message d'explication.

On remarque sur cet exemple que le score le plus important, 3.5, est rapporté par le test de Bayes. C'est en effet par l'apprentissage d'au moins 200 messages qualifiés manuellement par vous-même de spam et de 200 messages qualifiés de non-spam (ham) que cette probabilité sera calculée et qu'on lui affectera un score, ici de 3.5 mais qui pourra être négatif en fonction des mots utilisés dans le corps du message reçu. Cette base de connaissance devra évoluer avec le temps car les spammeurs réagissent également à ces règles et vous serez amenés, vous ou l'organisme qui gère vos courriers, à l'améliorer en soumettant les spams qui n'ont pas été détectés, tout comme ceux qui ont été faussement détectés à un programme d'apprentissage dénommé sa-learn qui réside sur le serveur de votre messagerie et non sur votre client de messagerie. Autrement dit, il ne vous sera pas si facile d'améliorer son efficacité si vous n'accédez pas à ce serveur et vous serez le plus souvent réduit à trier les spams en utilisant les options de filtrage de votre client de messagerie.

En pratique, il est souvent proposé de trier vos messages en deux classes, une première où sont regroupés les messages dont le score est par exemple supérieur à 12 qui iront directement à la poubelle et une seconde (dont les scores iront de 5 à 12) dont vous devrez extraire les faux négatifs.

En France, la législation autorise le spam sous certaines conditions d'inscription de mentions légales comme de la possibilité de désinscription d'une « campagne » publicitaire. Pour autant, vous avez également le droit de mettre ces prospectus à la poubelle, et d'effectuer ce tri de manière automatique. Ainsi, en ajoutant au fichier de filtrage anglais de Spamassassin des règles qui détectent la phrase légale « Conformément » ou « En vertu » de « la loi » et d'autres règles spécifiques au français de France[4] et en leur donnant des scores appropriés vous obtiendrez un filtrage bien plus approprié comme on peut le voir sur cet exemple.

Le filtrage le plus efficace restera néanmoins celui du filtrage bayésien car il est spécifique de votre profil de récipiendaire qui lui-même est, pour partie, construit par les spammeurs à partir de vos errances sur le Web et des adresses électroniques qui ont été vendues ou volées à votre insu.

Notes et références

Voir aussi

Articles connexes

Liens externes

  • Portail de la sécurité informatique
  • Portail des logiciels libres
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.