Päivittäin lähetetään 28 miljardia roskapostia. Se on suuri osa kaikesta sähköpostiliikenteestä, ja tuskin yksikään sähköpostitili säästyy ei-toivotulta roskapostilta. Toistaiseksi ainoa tapa suojella postilaatikkoasi niiltä on hyvä ja toimiva roskapostisuodatin. SpamAssassin on myös tällainen roskapostisuodatin, mutta erityisen erikoisen siitä tekee sen kirjaimellisesti käsin valittu algoritmi ja sen suuri joustavuus.
Lyhyt katsaus
Vaikka ohjelmiston parissa työskentelee nykyään kokonainen tiimi, SpamAssassinin peruskiven loi Justin Mason, joka oli aiemmin vastuussa samankaltaisesta ohjelmasta nimeltä filter.plx. Vuonna 2001 ohjelman osia mukautettiin ja kirjoitettiin uudelleen ja nimettiin uudeksi projektiksi "Spamassassin". Vuodesta 2004 lähtien se on kuulunut Apache Software Foundationiin ja on avointa lähdekoodia. Avoimen lähdekoodin lisäksi on olemassa myös lisensointi, joka tekee ohjelmasta vapaan ohjelmiston, jonka yksityinen ja kaupallinen käyttö, esimerkiksi toisen maksullisen ohjelmiston moduulina, on täysin vapaata.
Ohjelmiston suurena etuna on sen suuri joustavuus käyttöasteen suhteen, koska SpamAssassinia voidaan käyttää joko omana sovelluksenaan, toisen ohjelmiston aliohjelmana (moduulina), postitusohjelman asiakasohjelmana tai kutsuna MDA:lle (Mail Delivery Agent), kuten Procmailille. Tärkeää: Vaikka jakeluketjuun sisältyisi eri ohjelmistokappaleita, lippu ei tarkoita, että ohjelmistoa ei käytetä. Sähköposti analysoidaan kahdesti, mikä estää prosessien päällekkäisyyden ja vähentää resurssien käyttöä.
Näin lajittelu toimii
SpamAssassin toimii pistejärjestelmän mukaan. Jokainen saapuva sähköposti analysoidaan tiettyjen kriteerien mukaan ja sille annetaan pisteitä, jotka osoittavat, kuinka todennäköistä on, että se on Roskaposti toimii. Käyttäjän säädettävissä oleva kynnysarvo määrittää, missä vaiheessa sähköpostia käsitellään roskapostina ja lajitellaan pois. Mahdollisimman tarkan pistemäärän saamiseksi ohjelmalla on käytössään useita eri menetelmiä, kuten:
- DNS-pohjainen valkoinen ja musta lista
- Avoimen lähdekoodin ja kaupallisten toimittajien, kuten DCC:n tai Vipul's Razorin, tarkistussummasuodattimet.
- Ilmaisu suodatin perustuu Avainsanat tai avainsanoja
- Hashcash-järjestelmä (Proof-of-Work)
- DIM ja SPF
- URL-luettelot, kuten uribl.com:n kaltaisten seurantalaitteiden tuottamat URL-osoitteet.
Bayesin suodatin
Enemmän tai vähemmän staattisten suodatusjärjestelmien lisäksi SpamAssassinissa on Bayesin suodatusalgoritmi, joka pystyy "oppimaan" tiettyjä heuristiikkoja eli toistuvia, erottuvia elementtejä jo lähetetyistä roskapostiviesteistä ja mukautumaan näin käyttäjän käyttäytymiseen. Järjestelmä perustuu Byssian todennäköisyyskäsitteeseen, mutta sitä on usein kritisoitu, koska oppimaton suodatusjärjestelmä aiheuttaa usein vääriä positiivisia tuloksia.
Tämän estämiseksi suositellaan ensin roskapostiksi luokiteltujen sähköpostiviestien tarkempaa tarkistamista. Bayes-suodatin sisältää työkalun, jota voidaan kutsua komentorivillä sa-learn, jonka avulla voidaan etsiä heuristiikkoja joko yksittäisistä sähköposteista tai kokonaisista postilaatikoista. Jos tämä prosessi on suoritettu muutaman kerran, väärien positiivisten tulosten määrä vähenee merkittävästi.
Nykyinen kehitys
Viimeisimmissä päivityksissä versioihin 3.3 ja 3.4 SpamAssassin on saanut merkittävän uuden ominaisuuden, jonka oletetaan vaikuttavan resurssien käyttöön. Vaikka suorituskykyä on optimoitu jo aiemmin, uutta on se, että ohjelma käyttäytyy nyt kuin deterministinen äärellinen automaatti. Periaatteessa laitteisto pystyy paremmin sopeutumaan DEA:han, koska mahdolliset tilat ovat aina deterministisiä eli ennalta määrättyjä. Asianmukaisesti ohjelmoitu järjestelmä - kuten nykyiset palvelinlaitteistot - voi siten varata ja vapauttaa resursseja aikakriittisellä tavalla.
Ohjelman tuki
Kuten jo mainittiin, ohjelmakoodin suuri joustavuus on ainutlaatuinen myyntivaltti, mutta SpamAssassinilla on myös onnistunut API, joka mahdollistaa tietojen vaihdon monien muiden ohjelmien kanssa. Avoimen lähdekoodin hankkeisiin kuuluvat usein käytetyt sähköpostiohjelmat Mozilla Thunderbird ja KMail sekä Novell Evolution ja eksoottiset ohjelmat kuten Citadel ja Claws Mail. Kaupallisissa tuotteissa SpamAssassin on jo integroitu ohjelmakoodiin. Näin on esimerkiksi Icewarp-palvelimen, McAfee SpamKillerin, Mac OS X -palvelimen tai Sophos PureMessagen kohdalla.