Spam o Non_Spam, ésa es la cuestión.

Desde que el email se convirtió en el medio de comunicación corporativo por excelencia, no solo por encima del fax sino incluso del teléfono,  y como el servicio de Internet más utilizado (Facebook o Twitter le siguen de lejos), la preocupación de las empresas ha sido cómo evitar que nuestra Bandeja de Entrada se vea saturada por correos basura que igual nos dan un préstamo, nos venden ropa, relojes o métodos milagrosos para aumentar nuestro… vigor.

La solución: los motores antiSPAM

Para evitar este uso no deseado del email, los servidores de correo corporativo han ido incorporando mecanismos para filtrar los correos no deseados, tanto porque incluyen contenido improcedente, como para proteger a la empresa frente amenazas reales como phishing (suplantación de identidad) o enlaces potencialmente peligrosos dirigidos a la ejecución de código remoto en nuestros ordenadores.

¿Cómo funcionan?

En primer lugar, hay que decir que se trata de un sistema de aprendizaje progresivo bayesiano, es decir, el sistema aprende tanto de su experiencia como de lo que los usuarios le van indicando. Por defecto, Mdaemon, nuestro servidor de correo favorito, realiza este aprendizaje todas las noches a las 00:00h., y consiste básicamente en el análisis exhaustivo que el sistema realiza de dos carpetas especiales llamadas Spam y Non_Spam, dentro de la carpeta compartida @Bayesian Learning.

El proceso paso a paso

Cuando se recibe un email desde el exterior, antes de entregarlo al destinatario el sistema le aplica un sistema de puntuación «acumulado» en función de distintas consideraciones internas de tipo «basura»: el remitente del mensaje, el asunto, los adjuntos, el tipo de contenido, la existencia de elementos de tamaño superior a cierto valor, alguna palabra «tabú» dentro del mensaje, etc. Es decir, un mensaje recibido de «bruja@pitonisa.es» en el que aparece una imagen grande dentro del propio mensaje (no como enlace) y en el que figura la palabra «tarot» podría ser puntuada por el sistema con el valor siguiente:
5 (por el remitente «bruja@pitonisa.es«) + 6 (por contener una imagen grande) + 7 (por aparecer la palabra «tarot») = 18.

Identificación correcta

En función de la configuración del sistema, el servidor de correo interpreta un mensaje como SPAM comparando el valor de la suma (18) con un límite definido como umbral para el correo basura. Este valor es configurable. Para este ejemplo supondremos que está definido en 13. De este modo, al superar el umbral, el email es considerado SPAM, por lo que el sistema lo etiqueta como tal y lo entrega al destinatario, añadiendo un texto del tipo:
[***SPAM*** Score/Req:18.0/13.0]
En este caso, el usuario no debe de hacer nada, ya que el sistema está clasificando de forma correcta el mensaje. Si quiere puede borrarlo, evidentemente.

Falso negativo

Sin embargo, como los remitentes de SPAM conocen estos mecanismos, nuestra bruja@pitonisa.es sabe que la palabra «tarot» es tabú en muchos sistemas antiSPAM, por lo que a partir de ahora enviará los mensajes con la palabra «t4rot», «tar0t», «7aro7» o cualquier combinación similar, con la intención de «saltarse» los filtros antiSPAM. Aquí es cuando entra en funcionamiento el sistema de aprendizaje con la ayuda del usuario: el mensaje será clasificado por el servidor con una puntuación de
5 (por el remitente) + 6 (por contener una imagen grande) = 11
(al no aparecer la palabra «tarot», ésta no puntúa),
Dado que el valor no supera el umbral 13, es entregado al sistema sin la identificación de SPAM. Lo que el usuario debe hacer, por lo tanto, es marcar el mensaje como SPAM (en Mdaemon seleccionando el mensaje y pulsando el icono con el pulgar hacia abajo o bien arrastrándolo a la carpeta «@-Bayesian Learning / SPAM«). A esto se le llamaría un «falso negativo«, dado que el sistema no ha reconocido como SPAM un mensaje que sí lo era.

Falso positivo

La situación contraria también es posible: un amigo os ha enviado un mensaje con una imagen grande en el interior y con la palabra «tarot» en el cuerpo del mismo. El mensaje es legítimo, pero aplicando la regla de identificación el sistema interpreta:
6 (por contener una imagen grande) + 7 (por aparecer la palabra «tarot») = 13.
El correo por lo tanto alcanza el umbral de SPAM, por lo que es etiquetado como tal [***SPAM*** Score: 13.0/13.0] y es entregado al destinatario. Esto es lo que se llama «falso positivo», dado que un email «bueno» es considerado como «malo». En este caso, lo que el usuario debe hacer es llevar una copia de este mensaje a la carpeta «@-Bayesian Learning /Non_SPAM«.

El sistema de aprendizaje

Tal y como he indicado al principio, todas las noches el sistema «reconsidera» las puntuaciones internas que se aplican a cada elemento «basura» en función de los mensajes de que dispone en «SPAM» y «Non_SPAM». Estos recálculos son muy prudentes, es decir, modifican ligeramente el comportamiento del sistema, de forma que son necesarias bastantes notificaciones para que la puntuación vaya ajustándose al elemento realmente «importante» (las palabras «t4rot», o «tar0t», por ejemplo), y se aumente su peso en la clasificación de SPAM.

Para ir acabando

Por lo tanto, y resumiendo:

– en las carpetas SPAM y Non_SPAM deben depositarse los mensajes que han sido entregados al usuario bien como «falsos negativos» o como «falsos positivos» respectivamente. En cualquier caso, no deben eliminarse manualmente de estas carpetas, ya que el sistema utilizará su contenido a las 00:00h. para mejorar su identificación de SPAM, tras lo cual son eliminados automáticamente.
– el proceso de identificación no es inmediato: cuanto más información se proporcione al sistema (falsos positivos y falsos negativos), más efectivo será en un menor plazo de tiempo.
– Mdaemon incorpora otros mecanismos para aceptar o rechazar correos de forma automática: listas blancas, negras, remitentes conocidos, etc. Cada uno de ellos tiene una aplicación concreta que permitirá estrechar el cerco a los correos no deseados hasta acabar con ellos (o casi).

 

Mdaemon v14 es el servidor de email corporativo que comercializamos en ESCAPE networks, y es, de lejos, el más avanzado del mercado, con una relación calidad/precio que deja a sus competidores directos bastante mal parados en cuanto a funcionalidad. Puedes acceder a más información en nuestra página web.