28 miljarder skräppostmeddelanden skickas varje dag. Det är en stor del av all e-posttrafik och knappt något e-postkonto är skyddat från oönskad skräppost. Hittills är det enda sättet att skydda din brevlåda från dem att ha ett bra och fungerande skräppostfilter. SpamAssassin är också ett sådant skräppostfilter, men det som gör det till en mycket speciell programvara är dess bokstavligen handplockade algoritm och dess höga flexibilitet.
En kortfattad översikt
Även om ett helt team arbetar med programvaran idag, lades grundstenen till SpamAssassin av Justin Mason, som tidigare ansvarade för ett liknande program kallat filter.plx. År 2001 anpassades och skrevs delar av programmet om och fick ett nytt namn som ett nytt projekt "Spamassassin". Sedan 2004 tillhör den Apache Software Foundation och är öppen källkod. Förutom öppen källkod finns det också en licens som gör programmet till fri programvara, vars privata och kommersiella användning, t.ex. som en modul i en annan betald programvara, är helt fri.
En stor fördel med programmet är dess stora flexibilitet när det gäller användningsnivå, eftersom SpamAssassin kan användas antingen som ett eget program, som ett underprogram (modul) till ett annat program, som ett klientprogram till en mailer-daemon eller som ett anrop till en MDA (Mail Delivery Agent) som Procmail. Viktigt: Även om olika instanser av programvaran ingår i distributionskedjan betyder flaggan inte att programvaran inte kommer att användas. E-post analyseras två gånger, vilket förhindrar överflödiga processer och minskar resursutnyttjandet.
Så här fungerar sorteringen
SpamAssassin fungerar enligt ett poängsystem. Varje inkommande e-postmeddelande analyseras enligt vissa kriterier och tilldelas poäng som anger hur sannolikt det är att det är Spam handlingar. Ett tröskelvärde som kan justeras av användaren definierar när e-postmeddelandet behandlas som skräppost och sorteras bort. För att uppnå ett så korrekt resultat som möjligt har programmet en rad olika metoder till sitt förfogande, till exempel:
- DNS-baserad vit- och svartlistning
- Kontrollsummafilter från öppen källkod och kommersiella leverantörer som DCC eller Vipul's Razor.
- Uttrycksfilter baserat på Nyckelord eller nyckelfraser
- Hashcash-systemet (Proof-of-Work)
- DIM och SPF
- URL-listor som produceras av spårare som uribl.com.
Bayesianskt filter
Utöver de mer eller mindre statiska filtreringssystemen har SpamAssassin en Bayesiansk filtreringsalgoritm som kan "lära sig" vissa heuristiker, dvs. återkommande, utmärkande element, från skräppost som redan har skickats och på så sätt anpassa sig till användarens beteende. Systemet bygger på Byssians begrepp om sannolikhet, men har ofta kritiserats eftersom ett olärt filtreringssystem ofta ger falska positiva resultat.
För att förhindra detta rekommenderas en mer detaljerad kontroll av de e-postmeddelanden som klassificeras som skräppost. Bayes-filtret innehåller ett verktyg, som kan anropas via kommandoraden sa-learn, med vars hjälp antingen enskilda e-postmeddelanden eller hela brevlådor kan skannas för heuristik. Om denna process har genomförts några gånger minskar antalet falska positiva resultat avsevärt.
Nuvarande utveckling
I samband med de senaste uppdateringarna till versionerna 3.3 och 3.4 har SpamAssassin fått en ny viktig funktion som förväntas påverka resursanvändningen. Även om det har gjorts vissa optimeringar av prestanda tidigare är det nya att programmet nu beter sig som en deterministisk ändlig automat. Hårdvaran kan i princip bättre anpassa sig till DEA eftersom de möjliga tillstånden alltid är deterministiska, dvs. förutbestämda. Ett lämpligt programmerat system - t.ex. dagens serverhårdvara - kan således reservera och frigöra resurser på ett tidskritiskt sätt.
Programstöd
Som redan nämnts är den höga flexibiliteten i programkoden ett unikt försäljningsargument, men SpamAssassin har också ett framgångsrikt API som möjliggör datautbyte med många andra program. När det gäller projekt med öppen källkod är det bland annat de ofta använda e-postklienterna Mozilla Thunderbird, KMail, Novell Evolution eller exotiska program som Citadel eller Claws Mail. I kommersiella produkter är SpamAssassin redan integrerat i programkoden. Detta gäller till exempel Icewarp-servern, McAfee SpamKiller, Mac OS X-servern eller Sophos PureMessage.