El spam es un problema, y serio, hoy dia. Segun la empresa Marshal, entre un 70 y un 90% de todo el correo de internet es spam, reduciendo la utilidad del correo, provocando perdida de tiempo, y dando riesgos de seguridad.
Una de las formas mas simples de reducir el spam es detener su origen, de donde surge. Los analisis posteriores, que se basan en p/ej contenido, son por un lado mas caros de implementar (requieren mas recursos) y han sido burlados de muchas maneras a lo largo del tiempo.
Que tipos de origenes ha tenido el spam a lo largo del tiempo?
- Servidores/rangos de IP propias: Muchos han establecido su negocio formal de spamming (hay una linea que separa promocion en linea de spam, me refiero a los que pasan esa linea), contratan servidores o rangos enteros de IP para hacer envios masivos de correo. Creo que es de las primeras formas organizadas de envio de spam. La solucion a este enfoque fueron listas negras, RBLs y similares. Si una IP individual se dedica a enviar correo basura, via varios mecanismos queda en alguna lista negra (chequeable por ejemplo, via consultas al DNS) y uno puede denegar el correo desde ese sitio. De las muchas que hay disponibles, he probado en este respecto a Spamcop y a lista SBL de Spamhaus.
- Servidores mal configurados, aplicaciones web inseguras, proxys/smtp abiertos: de ser muy abusados esas maquinas pueden terminar en listas negras. En la medida que esos problemas de configuracion o de seguridad son arreglados esos servidores dejan de estar disponibles para este envio. Esta fue la otra forma organizada de envio de spam desde principios de internet. Hay listas especificas para este tipo de maquinas, como por ejemplo la XBL de Spamhaus.
- Troyanos y Botnets: En vez de usar servidores individuales en pequeñas cantidades para ser bloqueados o no por listas negras, porque no ir a la mayoria de las maquinas en internet, las personales? Con un poco de ingenieria social, vulnerabilidades en sistemas operativos/browsers/plugins, spam o sitios hackeados, se han creado botnets de cientos de miles de maquinas, las cuales pueden ser usadas para enviar spam (o para capturar claves, direcciones de correo, tarjetas de credito, etc). Ya el numero de maquinas que potencialmente puede enviar spam crece varios ordenes, y ser muy dinamica, poner en lista negra una IP individual de un adsl hogareño se vuelve impractico. Las 2 soluciones mas importantes a este respecto son listas grises (esperan que la maquina remota se comporte como un servidor real, reintentando enviar mensaje luego si es rechazado) y poner en listas negras IPs donde no deben haber servidores de correo (como p/ej la PBL de Spamhaus)
- Servicios en linea de uso masivo: Hotmail, Gmail, Yahoo, etc. Hay una gran cantidad de servicios que dan direcciones de correo y permiten configurarse para enviar por smtp/imap/etc correos. Si uno crea una cuenta y empieza a enviar miles o millones de mensajes, lo mas probable es que esa cuenta sea detenida. Pero la tendencia actual es tener botnets que hacen 2 cosas: generan direcciones al azar en esos servicios de forma rapida y dinamica, y enviando desde esas direcciones via estos servicios en linea (que no pueden ser bloqueados basandose simplemente en el origen ya que mucho correo real viene de ahi). Hoy dia todos esos tipos de servicio usan una tecnica (llamada captcha) que muestra un texto distorsionado bajo el supuesto que no es automatizable o suficientemente rapida su decodificacion. Pero aparentemente eso ya no es tan valido, ya sea porque se han hecho programas para decodificar esos captchas como minimo para esos 3 servicios, o porque se le ha dado una vuelta al problema (via ingenieria social, disfrazar de juego el decir que tiene un captcha). Es de esperar que este tipo de servicios en linea pueda contrarrestar esto, ya sea mejorando la tecnica (p/ej en Asirra, en una muestra al azar de animales, decir cuales son gatos, algo mas dificil que determinar texto en un grafico, al menos para un programa) o bloquear acceso a lo que parezca que hace esta actividad.