Cada día se envían 28 mil millones de correos SPAM. Eso es una gran parte de todo el tráfico de correo electrónico y casi ninguna cuenta de correo electrónico se salva de los correos de publicidad no deseada. Hasta ahora, la única forma de proteger tu buzón de ellos es un buen filtro de spam que funcione. SpamAssassin es otro de esos filtros de spam, pero es sobre todo su algoritmo, literalmente escogido a mano, y su alta flexibilidad lo que lo convierte en un software muy especial.
Un breve resumen
Aunque todo un equipo está trabajando ahora en el software, la piedra angular de SpamAssassin fue puesta por Justin Mason, quien anteriormente fue responsable de un programa similar llamado filter.plx. En 2001 las partes del programa fueron adaptadas y reescritas y renombradas como el nuevo proyecto "Spamassassin". Desde 2004 pertenece a la Fundación de Software Apache y sigue siendo de código abierto. Aparte de la naturaleza de código abierto del programa, también hay una licencia que hace que el programa sea software libre, cuyo uso privado y comercial, por ejemplo como módulo de otro software de pago, es completamente gratuito.
Una de las principales ventajas del software es su gran flexibilidad en cuanto al nivel de uso, ya que SpamAssassin puede utilizarse como aplicación propia, como subprograma (módulo) de otro software, como programa cliente de un demonio de correo o como llamada a un MDA (Mail Delivery Agent) como Procmail. Importante: Aunque se incluyan diferentes instancias del software en la cadena de distribución, el indicador no significa que el software no se vaya a utilizar. Correo electrónico analizado dos veces, lo que evita la redundancia de procesos y reduce la utilización de recursos.
Así es como funciona el proceso de clasificación
SpamAssassin funciona según un sistema de puntos. Cada correo electrónico entrante se analiza según determinados criterios y se le asignan puntos que indican la probabilidad de que sea Spam actos. Un umbral ajustable por el usuario define el punto en el que el correo electrónico se trata como spam y se clasifica. Para conseguir una puntuación lo más precisa posible, el programa dispone de toda una serie de métodos diferentes, como:
- La lista blanca y negra basada en el DNS
- Filtro de suma de control de proveedores de código abierto y comerciales como DCC o Vipul's Razor
- El filtro de expresión basado en Palabras clave o frases clave
- El sistema Hashcash (prueba de trabajo)
- DIM y SPF
- Los listados de URL como salida de rastreadores como uribl.com
Filtro bayesiano
Además de los sistemas de filtrado más o menos estáticos, SpamAssassin tiene un algoritmo aplicado al filtro bayesiano que es capaz de "aprender" ciertas heurísticas, es decir, elementos recurrentes y distintivos, de los correos electrónicos de spam ya enviados y así adaptarse al comportamiento del usuario. El sistema se basa en el concepto de probabilidad de los byesianos, pero a menudo ha sido criticado porque un sistema de filtros no aprendido suele producir falsos positivos.
Para evitarlo, se recomienda revisar primero los correos electrónicos clasificados como spam más de cerca. El filtro bayesiano contiene una herramienta, accesible a través de la línea de comandos sa-learn, que puede utilizarse para buscar heurística en correos electrónicos individuales o en buzones completos. Si este proceso se ha realizado unas cuantas veces, el número de falsos positivos se reduce significativamente.
Desarrollo actual
En el curso de las últimas actualizaciones de las versiones 3.3 y 3.4, SpamAssassin ha recibido una nueva e importante característica que debería tener un gran impacto en el uso de los recursos. Aunque se han hecho optimizaciones de rendimiento por adelantado, el programa ahora se comporta como un autómata finito determinista. Básicamente, el hardware puede adaptarse mejor a las DEA porque los posibles estados siempre se ejecutan de forma determinista, es decir, predeterminados. Un sistema programado apropiadamente - como el hardware de los servidores de hoy en día - puede así reservar y liberar recursos de manera crítica en el tiempo.
Apoyo a los programas
Como ya se ha mencionado, la alta flexibilidad del código del programa es un punto de venta único, pero SpamAssassin también tiene una exitosa API que permite el intercambio de datos con muchos otros programas. Entre los proyectos de código abierto se encuentran los clientes de correo electrónico frecuentemente utilizados Mozilla Thunderbird, KMail así como Novell Evolution o exóticos como Citadel o Claws Mail. Con los productos comerciales SpamAssassin ya está integrado en el código del programa. Este es el caso del servidor Icewarp, McAfee SpamKiller, Mac OS X Server o Sophos PureMessage.