Elke dag worden er 28 miljard SPAM-mails verstuurd. Dat is een groot deel van het hele e-mailverkeer en er wordt nauwelijks een e-mailaccount gespaard van ongewenste reclamemails. Tot nu toe is de enige manier om uw mailbox tegen hen te beschermen een goed en werkend spamfilter. SpamAssassin is ook zo'n spamfilter, maar het is vooral het letterlijk met de hand gekozen algoritme en de hoge flexibiliteit die het tot een heel bijzonder stukje software maken.
Een kort overzicht
Hoewel er nu een heel team aan de software werkt, werd de eerste steen voor SpamAssassin gelegd door Justin Mason, die eerder verantwoordelijk was voor een soortgelijk programma genaamd filter.plx. In 2001 werden de programmaonderdelen aangepast en herschreven en hernoemd tot het nieuwe project "Spamassassin". Sinds 2004 is het eigendom van de Apache Software Foundation en wordt het open source voortgezet. Naast het open-source karakter van het programma is er ook een licentie die het programma vrij maakt, waarvan het privé en commercieel gebruik, bijvoorbeeld als module van andere betaalde software, volledig gratis is.
Een groot voordeel van de software is de hoge flexibiliteit met betrekking tot het gebruiksniveau, omdat SpamAssassin kan worden gebruikt als een eigen applicatie, als een subprogramma (module) van een andere software, als een clientprogramma van een mailer daemon of als een aanroep naar een MDA (Mail Delivery Agent) zoals Procmail. Belangrijk: Zelfs als verschillende instanties van de software in de distributieketen zijn opgenomen, betekent de vlag niet dat de software niet zal worden gebruikt. E-mail tweemaal geanalyseerd, waardoor procesoverlapping wordt voorkomen en het gebruik van middelen wordt beperkt.
Zo werkt het sorteerproces
SpamAssassin werkt volgens een puntensysteem. Elke inkomende e-mail wordt geanalyseerd volgens bepaalde criteria en krijgt punten die aangeven hoe waarschijnlijk het is dat het is Spam handelingen. Een door de gebruiker instelbare drempelwaarde bepaalt het punt waarop de e-mail als spam wordt behandeld en uitgesorteerd. Om tot een zo nauwkeurig mogelijke score te komen, beschikt het programma over een hele reeks verschillende methoden, zoals:
- DNS-gebaseerde white- en blacklisting
- Checksum filter van open source en commerciële aanbieders zoals DCC of Vipul's Razor
- Expressiefilter op basis van Trefwoorden of sleutelzinnen
- Het Hashcash Systeem (Bewijs van Werk)
- DIM en SPF
- URL-lijsten als uitvoer door trackers zoals uribl.com
Bayesiaanse filter
Naast de min of meer statische filtersystemen heeft SpamAssassin een algoritme toegepast op het Bayesiaanse filter dat in staat is om bepaalde heuristieken, d.w.z. terugkerende, onderscheidende elementen, te "leren" van reeds verzonden spam e-mails en zich zo aan te passen aan het gedrag van de gebruiker. Het systeem is gebaseerd op het Byesische concept van waarschijnlijkheid, maar is vaak bekritiseerd omdat een niet aangeleerd filtersysteem vaak vals-positieven oplevert.
Om dit te voorkomen, is het aan te raden om eerst de e-mails die als spam zijn geclassificeerd, beter te controleren. Het Bayesiaanse filter bevat een tool, toegankelijk via de sa-learn commandoregel, die gebruikt kan worden om naar heuristiek te zoeken in individuele e-mails of in hele mailboxen. Als dit proces een paar keer is uitgevoerd, wordt het aantal fout-positieven aanzienlijk verminderd.
Huidige ontwikkeling
In de loop van de laatste updates van versie 3.3 en 3.4 heeft SpamAssassin een belangrijke nieuwe functie gekregen die een grote invloed zou moeten hebben op het gebruik van hulpbronnen. Hoewel er vooraf al prestatie-optimalisaties zijn gemaakt, gedraagt het programma zich nu als een deterministische eindige-automaat. In principe kan de hardware zich beter aanpassen aan DEA's omdat de mogelijke toestanden altijd deterministisch, dat wil zeggen vooraf bepaald, lopen. Een goed geprogrammeerd systeem kan - net als de huidige serverhardware - op die manier op een tijdkritische manier resources reserveren en vrijmaken.
Steun voor programma's
Zoals gezegd is de hoge flexibiliteit van de programmacode een unique selling point, maar SpamAssassin heeft ook een succesvolle API die de uitwisseling van gegevens met vele andere programma's mogelijk maakt. Onder de open source projecten zijn dit de veelgebruikte e-mailclients Mozilla Thunderbird, KMail en Novell Evolution of exoten zoals Citadel of Claws Mail. Bij de commerciële producten is SpamAssassin al geïntegreerd in de programmacode. Dit is het geval met de Icewarp-server, McAfee SpamKiller, Mac OS X Server of Sophos PureMessage.