На ден се изпращат 28 милиарда СПАМ имейла. Това е голяма част от целия имейл трафик и почти никой имейл акаунт не е пощаден от нежеланата нежелана поща. Засега единственият начин да защитите пощенската си кутия от тях е да имате добър и работещ филтър за спам. SpamAssassin също е такъв филтър за спам, но това, което го прави много специален софтуер, е буквално ръчно подбраният му алгоритъм и високата му гъвкавост.
Кратък преглед
Въпреки че днес по софтуера работи цял екип, основният камък на SpamAssassin е положен от Джъстин Мейсън, който преди това е отговарял за подобна програма, наречена filter.plx. През 2001 г. частите на програмата са адаптирани, пренаписани и преименувани на нов проект "Spamassassin". От 2004 г. принадлежи на Apache Software Foundation и е с отворен код. Освен отворения код, съществува и лицензиране, което прави програмата свободен софтуер, чието частно и търговско използване, например като модул на друг платен софтуер, е напълно свободно.
Основно предимство на софтуера е неговата висока гъвкавост по отношение на нивото на използване, тъй като SpamAssassin може да се използва като самостоятелно приложение, като подпрограма (модул) на друг софтуер, като клиентска програма на пощенски демон или като извикване на MDA (Mail Delivery Agent), например Procmail. Важно: Дори ако във веригата на разпространение са включени различни екземпляри на софтуера, флагът не означава, че софтуерът няма да бъде използван. Имейл анализира два пъти, което предотвратява дублирането на процеси и намалява използването на ресурсите.
Ето как работи сортирането
SpamAssassin работи по точкова система. Всяко входящо електронно писмо се анализира по определени критерии и му се присъждат точки, които показват колко вероятно е то да е Спам действия. Прагът, който може да се настройва от потребителя, определя момента, в който имейлът се третира като спам и се подрежда. За да се постигне възможно най-точен резултат, програмата разполага с цяла гама от различни методи, като например:
- Бели и черни списъци на базата на DNS
- Филтри за проверка на контролни суми от доставчици с отворен код и търговски доставчици като DCC или Vipul's Razor
- Филтър за изрази въз основа на Ключови думи или ключови фрази
- Системата Hashcash (доказателство за работа)
- DIM и SPF
- Списък на URL адреси, изведен от тракери като uribl.com
Байесов филтър
В допълнение към повече или по-малко статичните системи за филтриране, SpamAssassin разполага с алгоритъм за филтриране по метода на Байес, който е в състояние да "научи" определени евристики, т.е. повтарящи се, характерни елементи, от вече изпратени спам имейли и по този начин да се адаптира към поведението на потребителя. Системата е базирана на понятието за вероятност на Бийсиан, но често е критикувана, тъй като незаучената система за филтриране често предизвиква фалшиви положителни резултати.
За да се предотврати това, първо се препоръчва по-подробна проверка на електронните съобщения, класифицирани като спам. Филтърът на Бейс съдържа инструмент, който може да се извика чрез командния ред sa-learn, с чиято помощ могат да се търсят евристики за отделни имейли или за цели пощенски кутии. Ако този процес е извършен няколко пъти, появата на фалшиви положителни резултати намалява значително.
Текущо развитие
При последните актуализации на версии 3.3 и 3.4 SpamAssassin получи нова важна функция, която се очаква да повлияе на използването на ресурсите. Въпреки че и преди са правени някои оптимизации на производителността, новото е, че програмата вече се държи като детерминиран краен автомат. По принцип хардуерът може по-добре да се адаптира към DEA, тъй като възможните състояния винаги протичат детерминирано, т.е. предварително определени. По този начин една подходящо програмирана система - като например днешния сървърен хардуер - може да резервира и освобождава ресурси по критичен за времето начин.
Програмна подкрепа
Както вече споменахме, високата гъвкавост на програмния код е уникално предимство, но SpamAssassin има и успешен API, който позволява обмен на данни с много други програми. В случая с проектите с отворен код те включват често използваните клиенти за електронна поща Mozilla Thunderbird, KMail, както и Novell Evolution или екзотични продукти като Citadel или Claws Mail. В търговските продукти SpamAssassin вече е интегриран в програмния код. Такъв е случаят например със сървъра Icewarp, McAfee SpamKiller, сървъра за Mac OS X или Sophos PureMessage.