Der sendes 28 milliarder SPAM-mails om dagen. Det er en stor del af al e-mail-trafik, og næsten ingen e-mail-konto er forskånet for uønsket uønsket junkmail. Indtil videre er den eneste måde at beskytte din postkasse mod dem på at have et godt og velfungerende spamfilter. SpamAssassin er også et sådant spamfilter, men det, der gør det til et helt særligt stykke software, er dets bogstaveligt talt håndplukkede algoritme og dets store fleksibilitet.
En kort oversigt
Selv om et helt hold arbejder på softwaren i dag, blev grundstenen til SpamAssassin lagt af Justin Mason, som tidligere var ansvarlig for et lignende program kaldet filter.plx. I 2001 blev programdelene tilpasset og omskrevet og omdøbt til et nyt projekt "Spamassassin". Siden 2004 har det tilhørt Apache Software Foundation og er open source. Ud over open source er der også en licensering, der gør programmet til fri software, hvis private såvel som kommercielle brug, f.eks. som et modul i en anden betalt software, er helt gratis.
En stor fordel ved softwaren er dens store fleksibilitet med hensyn til anvendelsesniveauet, fordi SpamAssassin kan bruges enten som sit eget program, som et underprogram (modul) i et andet program, som et klientprogram i en mailer-dæmon eller som et kald til en MDA (Mail Delivery Agent) som Procmail. Vigtigt: Selv om der indgår forskellige instanser af softwaren i distributionskæden, betyder markeringen ikke, at softwaren ikke vil blive brugt. E-mail analyseres to gange, hvilket forhindrer overlapning af processer og reducerer ressourceudnyttelsen.
Sådan fungerer sorteringen
SpamAssassin fungerer efter et pointsystem. Hver indgående e-mail analyseres efter bestemte kriterier og tildeles point, der angiver, hvor sandsynligt det er, at den er Spam handlinger. En brugerjusterbar tærskel definerer det punkt, hvor e-mailen behandles som spam og sorteres fra. For at opnå en så præcis score som muligt har programmet en lang række forskellige metoder til rådighed, f.eks:
- DNS-baseret hvid- og sortlistning
- Kontrolsumsfiltre fra open source- og kommercielle leverandører som DCC eller Vipul's Razor
- Udtryksfilter baseret på Nøgleord eller nøglesætninger
- Hashcash-systemet (Proof-of-Work)
- DIM og SPF
- URL-lister som output fra trackere som uribl.com
Bayesiansk filter
Ud over de mere eller mindre statiske filtreringssystemer har SpamAssassin en Bayesiansk filtreringsalgoritme, der er i stand til at "lære" visse heuristikker, dvs. tilbagevendende, karakteristiske elementer, fra spammails, der allerede er blevet sendt, og dermed tilpasse sig brugerens adfærd. Systemet er baseret på Byssian-begrebet om sandsynlighed, men er ofte blevet kritiseret, fordi et uindlært filtreringssystem ofte giver falske positive resultater.
For at undgå dette anbefales det at foretage en mere detaljeret kontrol af de e-mails, der er klassificeret som spam, først. Bayes-filteret indeholder et værktøj, som kan kaldes via kommandolinjen sa-learn, hvormed enten individuelle e-mails eller hele postkasser kan gennemsøges for heuristik. Hvis denne proces er blevet udført et par gange, falder antallet af falske positive resultater betydeligt.
Nuværende udvikling
I forbindelse med de seneste opdateringer til version 3.3 og 3.4 har SpamAssassin fået en vigtig ny funktion, som formodes at have en effekt på ressourceforbruget. Selv om der tidligere er foretaget nogle optimeringer af ydeevnen, er det nye, at programmet nu opfører sig som en deterministisk endelig automat. Grundlæggende kan hardwaren bedre tilpasse sig til DEA'er, fordi de mulige tilstande altid kører deterministisk, dvs. forudbestemt. Et hensigtsmæssigt programmeret system - som f.eks. den nuværende serverhardware - kan således reservere og frigøre ressourcer på en tidskritisk måde.
Programstøtte
Som allerede nævnt er den høje fleksibilitet i programkoden et unikt salgsargument, men SpamAssassin har også en succesfuld API, som gør det muligt at udveksle data med mange andre programmer. I forbindelse med open source-projekterne omfatter disse de ofte anvendte e-mail-klienter Mozilla Thunderbird, KMail samt Novell Evolution eller eksotiske programmer som Citadel eller Claws Mail. I kommercielle produkter er SpamAssassin allerede integreret i programkoden. Dette er f.eks. tilfældet med Icewarp-serveren, McAfee SpamKiller, Mac OS X-serveren eller Sophos PureMessage.