Todos os dias são enviados 28 bilhões de e-mails SPAM. Essa é uma grande parte de todo o tráfego de e-mails e quase nenhuma conta de e-mail é poupada de e-mails de publicidade indesejados. Até agora, a única maneira de proteger sua caixa de correio deles é um filtro de spam bom e funcional. O SpamAssassin também é um filtro de spam, mas é principalmente seu algoritmo literalmente escolhido a dedo e sua alta flexibilidade que o torna uma peça de software muito especial.
Uma breve visão geral
Embora toda uma equipe esteja agora trabalhando no software, a pedra fundamental do SpamAssassin foi lançada por Justin Mason, que anteriormente era responsável por um programa similar chamado filter.plx. Em 2001 as partes do programa foram adaptadas e reescritas e renomeadas como o novo projeto "Spamassassin". Desde 2004 ela pertence à Apache Software Foundation e é de código aberto contínuo. Além da natureza de código aberto do programa, há também uma licença que torna o programa software livre, cujo uso privado e comercial, por exemplo, como módulo de outro software pago, é completamente livre.
Uma grande vantagem do software é sua alta flexibilidade com relação ao nível de utilização, pois o SpamAssassin pode ser utilizado como aplicação própria, como subprograma (módulo) de outro software, como programa cliente de um daemon mailer ou como chamada para um MDA (Mail Delivery Agent) como o Procmail. Importante: Mesmo que diferentes instâncias do software estejam incluídas na cadeia de distribuição, a bandeira não significa que o software não será utilizado. E-mail analisados duas vezes, o que evita a redundância de processos e reduz a utilização de recursos.
É assim que funciona o processo de triagem
O SpamAssassin funciona de acordo com um sistema de pontos. Cada e-mail recebido é analisado de acordo com determinados critérios e pontos atribuídos que indicam a probabilidade de que seja Spam atos. Um limite ajustável pelo usuário define o ponto em que o e-mail é tratado como spam e classificado. Para alcançar uma pontuação o mais precisa possível, o programa tem toda uma gama de métodos diferentes à sua disposição, como por exemplo:
- Lista branca e negra baseada em DNS
- Filtro Checksum de fonte aberta e fornecedores comerciais como DCC ou Vipul's Razor
- Filtro de expressão baseado em Palavras-chave ou frases-chave
- O Sistema Hashcash (Prova de Trabalho)
- DIM e SPF
- Listagens de URLs como saída por rastreadores como uribl.com
Filtro Bayesiano
Além dos sistemas de filtro mais ou menos estáticos, o SpamAssassin tem um algoritmo aplicado ao filtro Bayesian que é capaz de "aprender" certas heurísticas, ou seja, elementos recorrentes e distintos, a partir de e-mails de spam já enviados e assim se adaptar ao comportamento do usuário. O sistema é baseado no conceito byesiano de probabilidade, mas tem sido frequentemente criticado porque um sistema de filtro não-aprendido muitas vezes produz falsos positivos.
A fim de evitar isso, recomenda-se verificar primeiro os e-mails classificados como spam mais de perto. O filtro Bayesian contém uma ferramenta, acessível através da linha de comando sa-learn, que pode ser usada para pesquisar heurísticas em e-mails individuais ou em caixas de correio inteiras. Se este processo tiver sido realizado algumas vezes, o número de falsos positivos é significativamente reduzido.
Desenvolvimento atual
Durante as últimas atualizações das versões 3.3 e 3.4, o SpamAssassin recebeu uma nova característica importante que deve ter um grande impacto no uso de recursos. Embora otimizações de desempenho tenham sido feitas com antecedência, o programa agora se comporta como um autômato finito determinístico. Basicamente, o hardware pode se adaptar melhor aos DEAs porque os possíveis estados sempre funcionam deterministicamente, ou seja, pré-determinados. Um sistema devidamente programado - como o hardware do servidor atual - pode assim reservar e liberar recursos de forma crítica em termos de tempo.
Apoio a programas
Como já mencionado, a alta flexibilidade do código do programa é um ponto de venda único, mas o SpamAssassin também tem uma API de sucesso que permite a troca de dados com muitos outros programas. Entre os projetos de código aberto estão os clientes de e-mail frequentemente utilizados Mozilla Thunderbird, KMail, bem como Novell Evolution ou exotics como Citadel ou Claws Mail. Com os produtos comerciais, o SpamAssassin já está integrado no código do programa. Este é o caso do servidor Icewarp, McAfee SpamKiller, Mac OS X Server ou Sophos PureMessage.