26 de mayo de 2008

Origenes del spam

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.

24 de mayo de 2008

Formas de publicar y colaborar en internet

Hace unos años descubri TikiWiki, un ambiente para publicar en internet, que tenia un fuerte componente de colaboracion en las vias que permitia publicar. Ya que las formas que permite son de las mas usadas hoy dia, me basare un poco en el la lista de formas, aunque puedo referirme a distintas implementaciones de ellas por otros sitios/programas.

El enfoque que le quiero dar en esto tocaria un poco el ciclo de vida de lo publicado, como es accedido, como se colabora con el, y ventajas que da. Puede servir para elegir entre las distintas alternativas, o ver que partes faltan en el puzzle para hacer las cosas mas comodas o con mas sentido.

Wiki: Es editar de forma colaborativa un texto individual. La informacion se accede principalmente por el nombre del texto, como definiendo una palabra o frase en un diccionario/enciclopedia (eso lo hace especialmente adecuado en el caso de la Wikipedia). Los aportes del mismo autor o terceros van en el mismo tiempo, agregandole, borrandole o modificandole cosas, quedando en la historia asociada a ese texto en particular cuales fueron esos cambios. Otra forma de colaboracion con esto son comentarios o notas sobre un texto en particular, que pueden ir o en una pagina de discusion asociada (en formato wiki tambien) o como comentarios. Dado su acceso por nombre, provee mecanismos que facilitan el enlazar otras entradas del wiki dentro de un texto, y crear nuevas entradas previamente referenciadas.

Blog: Usualmente el texto es editado por una o varias personas autorizadas. Tambien, usualmente, es para describir algo que paso o se le ocurrio a quien escribe en el log cerca del momento de la escritura dentro de la tematica de ese blog. El acceso es mas bien cronologico, asociado mas al momento en el cual fue creado mas que al topico en particular que se refiere (puede verse en la URL de este misma pagina) . Los aportes son principalmente en forma de comentarios.

Foros: Hay muchas variedades, pero para centrar ideas, que sean foros basados en hilos (threads). Uno postea el primer mensaje de un hilo, y otras personas pueden responder a el y ser respondidas a su vez.

Tikiwiki tiene muchisimas formas mas de publicar contenido (puede verse aca un resumen), pero por un lado estoy supersimplificando en las hipotesis, y lo hare de forma mas extrema en las conclusiones.Para mi las principales componentes (con sus combinaciones) en esto serian:

  • Definicion: Puede verse como contenido atemporal, como un dato. Puede permanecer igual por largos periodos de tiempo o no, pero esta en el mismo lugar y habla fundamentalmente de lo mismo.
  • Coleccion: Agrupacion no necesariamente cronologica de datos individuales/definiciones. Una persona o lo relativo a ella puede verse como una coleccion, un mapa tambien, lo mismo que una base de datos o la Wikipedia como un todo.
  • Flujo: Es mas que una informacion individual, un flujo de informacion a lo largo del tiempo, algo que recibe cosas nuevas todo el tiempo, y donde las cosas viejas van perdiendo visibilidad.
  • Discusion: Charla, comentarios, intercambio de ideas, pero usualmente no esta planteado como algo definitivo.
Puede hacerse algo mas simple y mas completo que propuestas actuales con estos 4 componentes? Hay algun componente importante que no este cubierto con esta distincion? Supongo que la pregunta que me interesa mas a mi, hay algo que combine todos estos componentes de forma simple, intuitiva y que explote todas las posibles combinaciones al maximo?

Mis ideas han derivado un tanto a lo largo del tiempo (puede verse mis ideas pasadas alrededor del proyecto Tikiwiki aqui, en ingles) pero aun estan lejos de una conclusion definitiva al respecto. Espero que cuando vea algo que combine todo esto de forma correcta (si, la definicion de correcto es muy subjetiva) lo reconozca.

4 de mayo de 2008

Trucos de la percepcion

Ah, la percepcion. Uno se encuentra en determinado contexto, algo que nos da nuestra cultura, nuestra historia, nuestro conocimiento, y interpreta la realidad dentro de ese entorno.Que pasa si digo que en realidad en la siguiente imagen enlazada hay en realidad 9 delfines? (si lo que vieron de primera fue realmente 9 delfines, estee... si, es lo que hay)

Ya sabemos que la percepción a veces nos engaña, las ilusiones ópticas son un ejemplo conocido de eso (hay una buena colección acá) y las hay de origen fisiologico (como cuando se colocan cosas de colores muy brillantes u opuestos) y las de origen cultural (interpretar formas conocidas en algo ambiguo).

Pero lo que no sabia era el rol del lenguaje en la percepción. Como percibimos el arcoiris? Aparentemente, los bebés lo perciben distinto a los adultos, y la razon de eso es el lenguaje. Nosotros asignamos nombres a rangos de colores (rojo, naranja, amarillo, etc) y cuando vemos el arcoiris, identificamos esos rangos y "vemos" las franjas. La gente cuyo idioma nativo no tiene palabras separadas para azul y verde, por ejemplo, lo percibe de forma diferente. Y esto no se limita a la vista. Tengo la idea que en el idioma chino no hay sonidos equivalentes a nuestras erre o ele, por lo cual es relativamente comun pronunciarlas mal o no distinguirlas cuando se escuchan.

Cuanto nuestra primera educación cambia el como percibimos al mundo? Uno de mis cuentos de ciencia ficción preferidos fue "Mimsy were the borogoves" de Lewis Padgett (cuento brutalmente masacrado en la pelicula "Mimsy, mas alla de la imaginacion" estrenada el año pasado), donde unos niños obtenian juguetes educativos de un futuro lejano y su percepción del mundo cambiaba lo suficiente como para hacer lo que consideraríamos magia. No creo que sea nada tan dramático como eso ("magia" seria un arma evolutiva muy poderosa como para no aparecer en el mundo moderno de alguna forma) pero si puede cambiar lo que consideramos inteligencia, relacionamiento con otros, o habilidades (musical, estetica, determinacion de patrones, etc).

(01/06/08) Hay un articulo (en ingles) que toca alguno de estos conceptos y enlaza a mas informacion relevante en este articulo de Scientific American.