Una vieja idea revive

Recuerdo que a finales de 1998, cuándo las computadoras de escritorio habían roto la barrera de los $1000, comenzaron ha haber especulaciones de que sería buena idea para los ISP (Proveedores de Servicio de Internet), el ofrecer la computadora de manera gratuita a los usuarios, a cambio de la suscripción mensual. Cómo es lógico la idea nunca prosperó o al menos no se hizo popular. Sin emabargo hoy día veo en Engadget que un proveedor de Internet inalámbrico en el Reino Unido, esta ofreciendo una netbook Asus eeePC 900 16G, a los usuarios que firman su plan de Internet de £25 mensuales (U.S.$ 46), con un contrato de permanencia por dos años, que ofrece una descarga máxima de 3GB por mes (sin costo, uso adicional es facturado) y una velocidad máxima de 1.8 Mbps.

Me pregunto quién firmará ese tipo de contratos, si luego de los dos años se habría gastado $1104, es decir casi el triple de lo que le costaría comprar la máquina. Ciertamente es un buen negocio para el carrier (Orange), pero no creo que lo sea para sus usuarios.

Incluyo el banner promocional de Orange de su "oferta", ciertamente tratar de estafar usuarios parece ser una costumbre de todo carrier inalámbrico.
orange-eeepc

¿Se puede inferir la personalidad basado en el e-mail?

Cuándo leí la sumilla en Slashdot del documento publicado por los investigadores Back, Schmukle y Egloff, del departamento de Psicología de la Universidad de Leipzig, ciertamente me llamo poderozamente la atención. ¿Es que se puede saber a priori sólo basandonos en la dirección de correo electrónico la personalidad de un ser humano?, pues según el documento que puede ser descargado en PDF, al menos el e-mail nos puede indicar si la persona tiene algún desorden psicológico.

La metodología usada para la investigación es explicada en detalle en el documento y estuvo enfacada en el estudio de 599 direcciones de correo electrónico y sus respectivo propietarios, usando un grupo de 100 observadores independientes para catalogar los rasgos de personalidad de las personas en función de su correo electrónico. Realmente en lo personal me parece una muestra muy pequeña para que podamos considerar que el estudio es riguroso. Sin embargo deja claro que con estadísticas podemos hacer cualquier cosa.

Me pregunto si habran analizado la dirección de correo electrónico de Homero Simpson, que todos los que seguimos la serie sabemos que es chunkylover53@aol.com. Bromas aparte me parece oporuno que pueda existir una metodología que nos pueda ayudar a identificar si la persona que trata de ponerse en contacto con nosotros no esta loca, ya que muchas veces la única pieza de información cierta que tenemos de un nuevo contacto en el messenger o a través de los comentarios de un blog es justamente la dirección de correo electrónico.

En cuanto me de un tiempo pienso hacer una pequeña aplicación web, que usando los parámetros formulados en el estudio realizado en la Universidad de Leipzig pueda dar un resultado rápido sobre la personalidad del propietario de una dirección de correo electrónico. Como idea para una aplicación web que pretenda ser viral me parece bastante original.

Toda la verdad sobre la vulnerabilidad de los DNS

Desde hace un mes aproximadamente, se ha venido hablando en los foros y blog sobre la falla encontrada por Dan Kaminsky en el protocolo DNS, una falla que según los medios ha sido parchada con gran celeridad debido a la acción oportuna de Kaminsky de informar primero a todos los ISPs y entidades pertinentes para que el sistema sea parchado, antes de hacer público su descubrimiento; es más algunos lo pintan hasta comu un gran logro, lean la columna que escribió sobre el tema Dennis Fisher. Sin embargo el viernes pasado (8 de agosto), el investigador ruso Evgeniy Polyakov posteo en su blog, que había podido vulnerar exitosamente un servidor DNS que había sido parchado, la noticia fue recogida por el New York Times.

Entonces, ¿fue la falla fue más grave de lo que se pensaba?, ¿cuál es en realidad la falla?, ¿qué tan vulnerables son nuestros PCs a ésta falla?, y ¿cómo podrían usar dicha vulnerabilidad los cyberdelincuentes para sacar partido de ella?, son los puntos que trataremos de aclarar en el presente post.

En primer lugar debemos entender qué es y como funciona el servicio DNS en Internet, la mayoría creo que ya tiene claro que los servidores DNS son aquellos que transforman los nombres que usamos comunmente como www.google.com en un número IP, que es finalmente como la conexión es establecida, sin embargo lo que la mayoría no parece tener claro es que hay dos tipos de servidores DNS, uno es aquel que es dueño de una "zona" y otro es el servidor DNS de cacheo, son éstos últimos los que se ven afectados por éste tipo de ataques.

¿Qué es y para que sirve un servidor DNS de cacheo?, para poner las cosas claras, lo que la mayoría de nosotros usamos ya sea a través de nuestro ISP o uno configurado por nosotros mismos en nuestra LAN, es un servidor DNS de cacheo, es decir un servidor de nombres de dominio que pregunta a los servidores DNS dueños de una zona, por el IP de un nombre que estamos buscando, una vez obtiene ese valor, lo almacena en una memoria cache, por un tiempo estipulado por el servidor DNS dueño del dominio en un parámetro llamado TTL (Time To Live), usualmente horas (hay casos en que pueden ser días), antes de intentar volver a pedir el IP de un nombre de dominio nuevamente.

El mecanismo de ataque es el siguiente:

  1. Se envía una solicitud de un nombre específico  al servidor que sera víctima del ataque.
  2. Inmediatamente después se envían una serie de tramas UDP fraguadas, con la intención de hacerse pasar por la respuesta del verdadero servidor dueño del dominio.
  3. Verifica que la respuesta falsa ha sido aceptada por el servidor.
  4. El servidor atacado devolverá la IP inyectada por el atacante cada vez que se le pregunte por el nombre.

El ataque es posible porque el intercambio DNS es hecho usando el protocolo UDP, que no verifica el establecimiento de una sesión. Para complicar aún más las cosas no se puede tomar ninguna contra medida porque los paquetes UDP se hacen pasar como enviados por el verdadero servidor, sólo analizando la trama no hay forma de saber si viene del servidor legítimo.

Por otro lado no es práctico pasar las solicitudes DNS del protocolo UDP a TCP, porque sobrecargarían a los servidores raíz, así que la solución que se ha intentando es randomizar el puerto con el cuál se hace la solicitud al servidor dueño del dominio, aunque según ha demostrado Evgeniy Polyakov, con suficiente tiempo y ancho de banda, igual es posible corromper los registros de cualquier servidor DNS, incluso si esta parchado.

¿Cuál sería la solución entonces?, puesto que para lanzar un ataque exitoso se requiere que el equipo desde donde lancemos el ataque tenga una latencia menor a la que tendrían los paquetes enviados desde el servidor dueño del dominio, se necitan entonces dos cosas, primero bastante ancho de banda, y una cantidad de saltos menor al servidor que se trata de suplantar. Entonces la mejor forma de estar a salvo de éste tipo de ataques es implementar un servidor DNS dentro de nuestra LAN, de esa forma un ataque sólo sería posible si se realiza desde dentro de nuestra LAN, además de que le haríamos las cosas mucho más difíciles a los hackers porque en vez de infectar un sólo servidor DNS de cacheo en un ISP y afectar a miles o millones de usuarios, deberían de infectar miles de servidores, lo cuál consumiría su ancho de banda. Aunque no he visto que nadie formule ese tipo de soluciones.

¿Cómo un hacker aprovecharía esta vulnerabilidad para atacar a sus víctimas?, de por sí la única forma posible de capitalizar éstos ataques sería a través del fishing, por ejemplo inyectando resgistros como update.tubanco.com, y solicitando a la víctima que actualice su información, desde la perspectiva de los usuarios, incluso si hicieran un ping a update.tubanco.com, obtendrian el IP del servidor impostor, así que un cliente promedio podría caer fácilmente en el engaño.

Los que deseen saber si los servidores de nombres de dominio que estan usando son vulnerables a éste tipo de ataques (es decir no esta parchados), pueden saberlo usando el test que provee Kaminsky en su blog.

Aquellos que ésten interesados en probar un exploit de prueba de concepto, lo pueden hacer descargandolo desde milw0rm, hay versiones en C, Python y para el toolkit metasploit. Aunque les recomendaría que instalen un DNS de cacheo en su LAN para que el experimiento sea exitoso, porque usar líneas con 128 o 256 Kbps de subida como es el caso de la mayoría de líneas ADSL, no garantiza el éxito de la experiencia.

Espero que toda ésta información les haya resultado de utilidad, y despejado sus dudas sobre el "apocalipsis" que podría resultar de la corrupción de los DNS, como veran corromper un sólo registro de un servidor DNS de un ISP principal consume tantos recursos y ancho de banda, que éste tipo de ataques es poco práctico, a menos que se encuentre una forma de llevarlo acabo coordinadamente por redes zombie, pero eso no es para nada una tarea fácil, hay formas más rentables de crackear una red.

Google demandada por estafa

He leído la noticia en InformationWeek, que hay una demanda grupal (class-action) contra Google por parte de los anunciantes que usan el servicio AdWords, la razón es que Google despliega los anuncios no solamente en los resultados de su buscador sino que los muestra incluso en páginas web de terceros que sólo muestran anuncios, pues algunos usuarios sólo compran nombres de dominio en la eventualidad de luego revenderlos por un mayor valor (especulación con nombres de dominios) y mientras tanto suelen poner páginas temporales (parking page) que contienen sólo publicidad en un intento de conseguir algún tipo de ingreso.

La demanda que fue presentada en el distrito judicial de San José (California), fue iniciada por la empresa del abogado Hal K. Levitte (http://levitteinternational.com/), que tras una campaña publicitaria en AdWords de $887.67 descubrio que debido al producto de Google AdSense for Domains, $136.11 fueron gastados en esta modalidad, sin que por ese dinero su empresa haya obtenido un nuevo contacto comercial.

La principal queja de Levitte es que los anuncios en esas páginas que no ofrecen ningun contenido tienen clicks de muy baja calidad que no se convierten en una oportunidad de negocio y para ello ofrecio las siguientes estadísticas: su anuncio apareció en 202,528 páginas web, sólo recibió 668 clicks, de los cuáles ninguno produjo una conversión (posibilidad de negocio real). Además Levitte alega que ésto no sólo es un caso aislado sino que muchos anunciantes sufren de esta falta de conversión y por ello inició la demanda grupal.

En lo personal creo que poner anuncios en páginas web sin contenido no es ético, por lo siguientes motivos:

  1. Los presupuestos de publicidad son repartidos por igual entre aquellos que hacen un esfuerzo real por poner contenido en la red ya sea en su blog, fotoblog, videoblog, forum o páginas web estática y aquellos que simplemente compran un nombre de dominio para especular con él y no hacen ningun esfuerzo por aportar contenido.
  2. Dado que se puede hacer dinero con sólo poseer el nombre de dominio, y los nombres de dominio son tan baratos ($10 por un dominio .com, .net o .org). Los especuladores pueden comprar los nombres de dominio por cientos o miles, pues saben que obtendran un retorno a su inversión debido a productos como AdSense for Domains y esperan pacientemente a que alguien necesite el nombre de dominio que ellos han registrado para venderlo luego por miles de dólares. Es por ello que muchas veces el dominio que estabas buscando ya ha sido tomado por alguien más y cuando vas ha ver que hay alli, sólo encuentras una página con anuncios.

Como vemos el servicio de AdSense for Domains, nos perjudica a todos. No solamente a los anunciantes sino también a los usuarios de AdSense para contenido, pues recibimos menos dinero por los clicks debido a los especuladores de nombres de dominio reciben dinero tambien por los clicks en sus páginas sin contenido. Por supuesto el único que siempre gana es Google porque igual les cobra a los anunciantes.

Esperemos que ésta acción legal obligue a Google a descontinuar su servicio AdSense for Domains, porque afecta tanto a los anunciantes como a los generadores de contenido.

El mapa de Internet

Todo aquel que alguna vez se ha interesado por el protocolo base de Internet sabe lo que significan las siglas IP (Internet Protocol), y seguramente también es conciente que debido a las limitaciones del protocolo IP solo exiten 4294967296 (232) direcciones posibles, aunque no todas se pueden usar. Y la gran mayoría habrá oido hablar del problema de que los IPs se acabaran y por lo tanto en algún momento oyeron hablar ya sea de ICANN o IANA, que son las entidades engargadas de asignar los nombres de dominio y las IPs respectivamente.

Pero algunas vez vieron un mapa de Internet que representara de forma correcta la asignación de bloques IPs (yo nunca había visto uno antes), pues he encontrado uno en: http://xkcd.com/195/

Aunque no es muy actual, data del 2006 nos da una idea de como se esta usando el espacio de direcciones IP en Internet. En el gráfico podemos ver que los espacios en verde representan las zonas no asignadas aún (osea libres). El autor del gráfico ha trazado una matriz de 16×16 para representar cada una de las 256 principales subnets de Internet, es decir cada lote representa 224 (16777216) IPs.

Una conclusión importante que podemos extraer viendo el gráfico es que toda Latinoamérica y el Caribe sólo supera en extensión a Afirca, lo cuál nos muestra sin ninguna duda que papel representamos en éste mundo globalizado y de rápido cambio tecnológico. Como siempre dicen en los velorios: "no somos nada".

Aquí les pongo una versión reducida del mapa de Internet:
Mapa de Internet