sex + viagra + porn + drugs = SPAM!
Es tan común recibir SPAM que ciertos términos parecen sinónimo de ello. Quién no ha tenido al menos una dirección de e-mail donde el maldito SPAM les llena la casilla y cuesta separar los mails que nos interesan de los que nos molestan.
Porque al igual que todos estoy re podrido del SPAM (de todo tipo), en éste artículo describiré cómo combatirlo en los e-mails. Antes de empezar, dejo una pequeña definición.


Qué es SPAM?
Y si, alguno podría preguntarse a qué se denomina SPAM. email-SPAM (de ahora en más sólo SPAM) se denomina a todo e-mail no solicitado y que es enviado en masa (muchos receptores). Estos e-mails pueden tener distintas finalidades, como ser, propaganda, phishing, sólo molestar, saturar servidores de e-mail (el clásico Hotmail se Cierra!), esparcir ideologías políticas, religiosas, etc.
Otra forma bien conocida de SPAM es la vista en foros, blogs, fotologs, etc, donde dejan comentarios con sus propagandas.
Por supuesto existen formas de SPAM fuera de internet, como los ya clásicos y ULTRA-molestos mensajes de las compañías de celular con ofertas que nunca nos convienen o premios que nunca ganaremos.
También se puede considerar SPAM a los llamados telefónicos con ofertas de servicios, el reparto de revistas con propagandas, o cartas con propagandas.
Como ven, en la vida estamos saturados de SPAM, algunos quizás hasta sueñan con SPAM.


Cómo saben mi dirección?
Otra pregunta válida es, de dónde sacaron mi dirección de correo???... si se preguntan eso, piensen de nuevo...
Hay muchas formas en las que un spammer puede obtener una dirección. Entre las más comunes tenemos:
- sitios web: si se registraron en una página no muy santa y dejaron el mail, están jodidos. Si tienen un blog, fotolog, red social, página propia, etc, que puede ser accedida por cualquiera y dejaron el mail, están jodidos.
- foros: dejar el e-mail visible por visitantes de un foro es un error fatal.
- salas de chat, grupos de noticias, etc: sucede lo mismo ya mencionado.
- malware: si se infectaron con un virus, éste puede recolectar direcciones de mail que utilicen y las de toooodos los contactos que tengan. Es decir, aunque seamos extra precavidos, el spam nos puede llegar por culpa de un amigo que se infectó.
- servidores de mail mal configurados: si el servidor que utilizan está mal configurado, éste puede enviar SPAM a todas las direcciones que maneja.
- diccionarios: el spammer utiliza diccionarios para crear direcciones de e-mail potencialmente válidas y envía SPAM a ellas. Si tu nombre de usuario forma parte de un diccionario, caes dentro de esta categoría.
- otras: seguro hay otras formas que estoy olvidando citar.


Cómo me defiendo? (usuario final)
Como usuario final lo que podemos hacer es:
- elegir un servidor de e-mail de confianza que cuente con buenos mecanismos antis-spamming, anti-virus, y soporte continuo para solucionar problemas de configuración y vulnerabilidades.
- no dejar nuestra dirección de e-mail en sitios públicos (los mencionados sitios-web, blogs, foros, etc), esto incluye lugares que no estén en la red, como por ejemplo dejar el e-mail a un promotor de la calle.
- utilizar e-mails SPAM-only para el caso en que registrarnos en alguna página requiera dejar un e-mail a donde luego nos envían una confirmación que debemos contestar. Con SPAM-only me refiero a una cuenta de e-mail que no utilicemos nunca, sino que la tengamos sólo para utilizarla en estos casos.
- no contestar a e-mails que son SPAM, lo único que logran con esto es que el spammer sepa que TU dirección de e-mail es válida, colocándola entre los grandes candidatos a enviar más SPAM.
- ayudar a los administradores de los servidores reportando e-mails que son spam.
- instalar una aplicación anti-spam que cuente con técnicas de filtrado por checksum, soporte RDL, filtrado por reglas, filtros Bayesian, las cuales describiré a continuación.


Cómo me defiendo? (administrador del servidor de e-mail)
El administrador del servidor puede hacer varias cosas para limitar la propagación de SPAM. Tal vez la más conocida es utilizar un antispammer (programa dedicado que cuenta con varias técnicas anti-spamming). El problema está en la complejidad del antispammer y el trade-off "eliminar todo el spam" Vs "saturación de recursos" Vs "falsos positivos" (mails válidos rechazados como SPAM por falla en la lógica).
Entre los métodos para lidiar con el SPAM (algunas comúnmente encontrados en los anti-spams), contamos con los siguientes:


Filtrado por Checksum
Se mantiene una base de datos con checksums de spams conocidos y se revisan los mails entrantes buscando coincidencias, si el checksum se encuentra en el mensaje, éste se clasifica como spam. El checksum se calcula utilizando partes del e-mail que no varían. El método es bastante efectivo dado que muchos de los mensajes no varían o varían muy poco. Esta función es igual a la realizada por los antivirus.
Si bien el sistema es bastante efectivo, es bastante eludible dado que los spammers pueden insertar caracteres invisibles (osea, no mostrables) en el medio de los mensajes y así evadir el anti-spam.


DNS Black/Blackholes Lists (DNSBL), también conocidas como Real-Time Black Lists (RBL)
Se utilizan black lists con IPs o DNSs de spammers conocidos de forma que si un e-mail recibido proviene de una dirección conocida como spammer, entonces el e-mail trata como spam.
El sistema funciona de la siguiente manera. Se monta un servidor de DNS que sirve como servidor de black list. Dicho servidor debe tener asignada una dirección de DNS que puede ser interna o pública, dependiendo desde donde se acceda (por ej: dnsbl.mired.com). Cuando un servidor de mail recibe un e-mail, este extrae la dirección del emisor (por ej: 192.168.12.133), la revierte (133.12.168.192), le agrega la dirección DNS del servidor DNSBL (133.12.168.192.dnsbl.mired.com) y hace una resolución de DNS utilizando la dirección obtenida. Si la dirección existe (el servidor contesta con alguna dirección IP del rango 127.0.0.0/8), quiere decir que el emisor es un spammer (está listado en la black list). Opcionalmente el servidor de mail puede consultar la razón por la que dicho emisor está en la black list (consultando el registro TXT).
Existen servidores que permiten consultar sus black-lists en busca de spammers. En general estos servicios permiten hasta un cierto número de consultas gratis y si necesitamos de un volumen mayor, tenemos que pagar por el servicio. Algunos de los servicios más conocidos, que además cuentan con consultas on-line, son:
Spamhaus
SORBS
Spamcop
Spamrats

Es interesante el caso de mxtoolbox que realiza la búsqueda sobre 147 DNSBL y nos devuelve el resultado obtenido en cada uno.

Por otra parte, si queremos montar nuestro propio servidor RBL en Linux, podemos seguir los pasos citados en http://www.blue-quartz.com/rbl/

En la página nemx.com citan las características de los RBL y explican brevemente cada una. El informe es algo viejo (algunos de los links en el ya no sirven), pero la descripción general se sigue aplicando.
En http://www.rfc-ignorant.org/how_to_domain.php describen cómo agregar servidores DNSBL en los servidores de mail más conocidos (postfix, exim, sendmail, qmail, etc)

Las black lists se generan utilizando spamtraps, direcciones de e-mail ocultas que sólo los spammers pueden encontrar (como por ejemplo, ocultas en el código HTML, no visibles para el usuario). Todo e-mail que llegue a este mail, es SPAM. Los Spamtraps pueden considerarse honeytokens debido a su naturaleza. También se utiliza el feedback de usuarios que reportan spam. La direcciones que son reportadas por varios usuarios como SPAM son grandes candidatas a ser agregadas en la black list.

Para limitar el número de falsos positivos, las black lists suelen utilizarse con white lists, o listas de direcciones conocidas como buenas. Si un e-mail proviene de una dirección listada en una white list, entonces se deja pasar.

En wiki pueden encontrar una definición más completa sobre los DNSBL


Verificación DNS inversa (registro PTR)
Tal vez uno de los métodos más efectivos, y de los más usados, es hacer una resolución inversa de DNS. Una resolución inversa de DNS es tomar una IP y consultar al servidor DNS por el DNS asociado. De esta forma si la dirección mail.mired.com resuelve a 192.168.1.1, entonces al intentar una resolución inversa de 192.168.1.1 debería resolver a mail.mired.com.
Dado que la mayoría de los spammers no suelen tener registrada la resolución inversa de la IP que utilizan para enviar SPAM, si por cada e-mail recibido requerimos que la dirección IP mapee a la dirección DNS de donde dice venir, evitaremos un altísimo número de e-mails SPAM.


Filtrado basado en reglas
Se utilizan reglas basadas en listas de palabras o expresiones regulares que no están permitidas en los mensajes, para tratar como SPAM los e-mails que las cumplan. De esta forma se puede rechazar e-mails que contengan las palabras viagra, sexo, porno, etc.
El problema con estas reglas son los falsos positivos, el tiempo que lleva el análisis y que los spammers cambian continuamente las frases y la forma de deletrear las palabras, además de incluir caracteres no visibles para el usuario, pero sí para el filtro. Variaciones como sex0, s3xo, 5exo, sexo (visible como sexo si el mail está formateado en HTML) pueden ser difíciles de detectar. La cantidad de combinaciones posibles es gigantesca e incluirlas todas en la revisión consume demasiados recursos.
Por otra parte, muchos mensajes vienen en formato de imagen jpg, png, etc, de forma que estos filtros no los detectarían.

Otra forma de filtro es el filtrado de headers. La mayoría de los spammers cambian los headers de los mensajes para que parezcan provenir de otros autores, para que parezcan más reales. Estas modificaciones son fácilmente detectables y los mails pueden marcarse como spam.


Filtros Bayesian (también conocidos como filtros de estadística de contenido)
Los filtros Bayesian se basan en estadísticas y aprenden a detectar spam a partir del entrenamiento del usuario. Para cada e-mail recibido, el usuario debe indicarle al sistema si es spam o no. A partir de las palabras incluidas en los mensajes, el filtro crea bases de datos conteniendo palabras que suelen estar en e-mails válidos y palabras que suelen estar en e-mails que son spam.
Cuando el filtro tiene una buena base de datos formada puede distinguir correctamente cuáles palabras pertenecen a cada categoría y decidir si clasificar un e-mail como spam o no. La desición la realiza mediante el análisis de probabilidad computado para todas las palabras incluídas en cada e-mail. Si el total supera un umbral, el e-mail se califica como spam.

Todo esto tiene un fundamento matemático y pueden leer más sobre ello en http://en.wikipedia.org/wiki/Bayesian_spam_filtering
También pueden encontrar una brebe introducción a los filtros Bayesian en http://www.spam-site.com/bayesian-spam-filter.shtml


Verificación SMTP por llamado inverso
Como la mayoría de los spammers utilizan una dirección "From" inválida, una forma de detectar spam es haciendo que nuestro servidor intente conectarse al servidor de mail desde donde supuestamente viene el e-mail. Si la dirección es inválida, se detectará en el intento de conexión y el mensaje puede marcarse como spam.


Forzar el cumplimiento de estándares RFC
Dado que la mayoría de los spammers utilizan soft mal configurado, o sobre el cual no tienen control para enviar los e-mails, muchos de los emisores no cumplen con estándares RFC. Una forma de evitar spam es bloqueando todo e-mail que no es enviado siguiendo dichos estándares. Algunas de las restricciones impuestas son greeting delay, greylists, HELO/EHLO checking, Invalid pipelining, Nolisting, Quit detection.


SPAM en números
En http://barracudacentral.org/ ofrecen gráficas sobre spamming, como el origen, el tipo de contenido y la cantidad de spam recibida en los últimos días. También mantienen una lista negra que se puede consultar para saber si un IP está listado y podemos reportar contenidos de spam. Además ofrece datos de otros malwares.
Como se puede observar, cada dos días se bloquean casi 2 mil millones de e-mails con spam!. Sólo el 6% de los e-mails son aceptados como buenos. El mayor productor de SPAM es USA, seguido por nuestros vecinos brasileros y en 3er lugar los rusos.
A continuación les dejo los gráficos con la distribución del spam en categorías, y también una tabla con los e-mails procesados en los últimos dos días:




Referencias
Pueden encontrar las técnicas anti-spamming con un poco más de detalle en http://en.wikipedia.org/wiki/Anti-spam_techniques_(e-mail) y en http://stason.org/articles/technology/email/junk-mail/index.html en donde incluyen algunas más. En http://www.spam-site.com/anti-spam-techniques.shtml y http://wiki.asrg.sp.am/wiki/Taxonomy_of_anti-spam_techniques también ofrecen una breve introducción a las técnicas más conocidas.
Por supuesto, también es interesante el artículo de wiki sobre SPAM: http://en.wikipedia.org/wiki/E-mail_spam
Por último, dejo la dirección de donde obtuve la imagen para éste artículo: http://www.knowtebook.com/anti-spam-guide-fuer-webmaster-549.htm

3 comentarios:

JaviZ dijo...

Muy buen post, Felicitancias por tan buen trabajo!

d3m4s1@d0v1v0 dijo...

"Five individuals pleaded guilty today in federal court in Detroit for their roles in a wide-ranging international stock fraud scheme involving the illegal use of bulk commercial e-mails, or 'spamming'... Alan M. Ralsky, 64, of West Bloomfield, Mich., and Scott K. Bradley, 38, also of West Bloomfield, both pleaded guilty to conspiracy to commit wire fraud, mail fraud and to violate the CAN-SPAM Act. ... Ralsky and Bradley also pleaded guilty to wire fraud, money laundering, and violating the CAN-SPAM Act. Under the terms of his plea agreement, Ralsky acknowledges he is facing up to 87 months in prison and a $1 million fine..."

Fuente: http://it.slashdot.org/story/09/06/23/0034241/Spammer-Alan-Ralsky-Pleads-Guilty?from=rss

d3m4s1@d0v1v0 dijo...

"An anonymous reader lets us know about the dire straits the SORBS anti-spam blacklist finds itself in. According to a notice posted on the top page, long-time host the University of Queensland has "decided not to honor their agreement with... SORBS and terminate the hosting contract." The post, signed "Michelle Sullivan (Previously known as Matthew Sullivan)," says that the project needs either to "find alternative hosting for a 42RU rack in the Brisbane area of Queensland Australia" or to find a buyer. Offers are solicited for the assets of SORBS as an ongoing anti-spam service — it's now handling over 30 billion DNS queries per day. An update to the post says "A number of offers have already been made, we are evaluating each on their own merits." Failing a successful resolution, SORBS will cease operations on July 20, 2009 at 12 noon Brisbane time. Such a shutdown could slow or disrupt anti-spam efforts for large numbers of mail hosts worldwide."

Fuente: http://it.slashdot.org/story/09/06/24/0013215/The-Imminent-Demise-of-SORBS?from=rss

Publicar un comentario