Chaque jour, 28 milliards de courriers indésirables sont envoyés. Cela représente une grande partie de l'ensemble du trafic de courrier électronique et pratiquement aucun compte de courrier électronique n'est épargné par les courriers publicitaires indésirables. Jusqu'à présent, le seul moyen de protéger votre boîte aux lettres électronique contre ces messages est un bon filtre anti-pourriel qui fonctionne. SpamAssassin est également un filtre de ce type, mais c'est surtout son algorithme littéralement trié sur le volet et sa grande flexibilité qui en font un logiciel très particulier.
Un bref aperçu
Bien que toute une équipe travaille actuellement sur le logiciel, la première pierre de SpamAssassin a été posée par Justin Mason, qui était auparavant responsable d'un programme similaire appelé filter.plx. En 2001, les parties du programme ont été adaptées et réécrites et renommées sous le nom de nouveau projet "Spamassassin". Depuis 2004, il appartient à l'Apache Software Foundation et est toujours en open source. Outre la nature open-source du programme, il existe également une licence qui rend le programme libre, dont l'utilisation privée et commerciale, par exemple comme module d'un autre logiciel payant, est totalement gratuite.
Un grand avantage du logiciel est sa grande flexibilité en ce qui concerne le niveau d'utilisation, car SpamAssassin peut être utilisé soit comme application propre, soit comme sous-programme (module) d'un autre logiciel, soit comme programme client d'un démon de messagerie, soit comme appel d'un MDA (Mail Delivery Agent) comme Procmail. Important : même si différentes instances du logiciel sont intégrées dans la chaîne de distribution, aucun message n'est envoyé en raison du drapeau. Courrier électronique analysé deux fois, ce qui évite la redondance des processus et réduit l'utilisation des ressources.
Voici comment fonctionne le processus de tri
SpamAssassin fonctionne selon un système de points. Chaque e-mail entrant est analysé selon certains critères et se voit attribuer des points qui indiquent la probabilité qu'il s'agisse d'un spam. Spam est en cours. Un seuil (Threshold) réglable par l'utilisateur définit le point à partir duquel l'e-mail est traité comme spam et éliminé. Afin d'obtenir un score aussi précis que possible, le programme dispose de toute une série de méthodes différentes telles que
- Listes blanches et noires basées sur le DNS
- Filtre à somme de contrôle provenant de fournisseurs commerciaux et à code source ouvert tels que DCC ou Vipul's Razor
- Filtre d'expression basé sur Mots-clés ou des phrases clés
- Le système Hashcash (preuve de travail)
- DIM et SPF
- Listes d'URL telles que produites par des traqueurs comme uribl.com
Filtre bayésien
En plus des systèmes de filtrage plus ou moins statiques, SpamAssassin dispose d'un algorithme appliqué au filtre bayésien qui est capable d'"apprendre" certaines heuristiques, c'est-à-dire des éléments récurrents et distinctifs, à partir de spams déjà envoyés et donc de s'adapter au comportement de l'utilisateur. Le système est basé sur le concept de probabilité de Byesian, mais a souvent été critiqué parce qu'un système de filtrage non appris produit souvent des faux positifs.
Afin d'éviter cela, il est recommandé de vérifier d'abord plus attentivement les e-mails classés comme spam. Le filtre bayésien contient un outil, accessible via la ligne de commande sa-learn, qui peut être utilisé pour rechercher des heuristiques dans des courriers électroniques individuels ou des boîtes aux lettres entières. Si ce processus a été effectué plusieurs fois, le nombre de faux positifs est considérablement réduit.
Évolution actuelle
Au cours des dernières mises à jour des versions 3.3 et 3.4, SpamAssassin a reçu une nouvelle fonctionnalité majeure qui devrait avoir un impact important sur l'utilisation des ressources. Bien que les performances aient été optimisées au préalable, le programme se comporte désormais comme un automate fini déterministe. Fondamentalement, le matériel peut mieux s'adapter aux DEA car les états possibles sont toujours déterminés, c'est-à-dire prédéterminés. Un système correctement programmé - comme le matériel serveur actuel - peut ainsi réserver et libérer des ressources de manière critique.
Soutien aux programmes
Comme déjà mentionné, la grande flexibilité du code du programme est un argument de vente unique, mais SpamAssassin dispose également d'une API performante qui permet l'échange de données avec de nombreux autres programmes. Parmi les projets open source, on trouve les clients de messagerie électronique fréquemment utilisés Mozilla Thunderbird, KMail ainsi que Novell Evolution ou des logiciels exotiques comme Citadel ou Claws Mail. Avec les produits commerciaux, SpamAssassin est déjà intégré dans le code du programme. C'est le cas du serveur Icewarp, de McAfee SpamKiller, de Mac OS X Server ou de Sophos PureMessage.