Un inocente fallo de seguridad hace temblar Twitter por unas horas

  • Una vieja y conocida técnica para explotar agujeros de seguridad ha permitido a un pequeño código malicioso circular por Twitter durante algunas horas sembrando la confusión entre sus usuarios

"Twitter tiene la plaga". "Twitter atacado". "Pequeño caos en Twitter". "Un hackeo en 140 caracteres". Son las descripciones de lo que sucedió durante algunas horas en Twitter, el popular servicio de microblogging, que tuvo un comportamiento errático debido a un código malicioso al que han bautizado como Rainbow y que se dedicó a interferir en los mensajes que la gente publica contando lo que está haciendo y los enlaces a la Web que recomienda.

Los efectos de Rainbow eran de lo más extraños: se trataba de un pequeño mensaje de menos de 140 caracteres que interfería con el funcionamiento normal del navegador. Los usuarios veían en vez de texto bloques negros o de colores, e inadvertidamente "retwitteaban" esos mensajes a su lista de amigos y conocidos. En ocasiones aparecían ventanas de diálogo en el navegador, páginas web que no se habían solicitado y cosas así. Al principio parecía una broma pero se extendió tan rápidamente que los técnicos de Twitter tuvieron que encontrar una solución y arreglar el servicio para evitar males mayores.

La forma en que este "gusano informático" se propagaba era técnicamente muy curiosa, pero en absoluto una novedad. Se basa en diversas tecnologías que incorporan los navegadores web en relación con los lenguajes de programación en que se escriben las páginas y los protocolos mediante los cuales se transfieren. Mediante una técnica ingeniosa, los hackers consiguieron que un texto se interpretara como si fuera código de programación y se ejecutara.

Salvando las distancias, pero para que los lectores menos técnicos puedan hacerse una idea, fue algo así como si además de mostrar el texto "FORMAT C:" en un mensaje cualquiera de una página web, los inventores de Rainbow hubieran conseguido que el ordenador ejecutara la orden "FORMAT C:" de autodestrucción total del disco duro. (Aunque en este caso no tuvieron tan mala idea).

En la creación de Rainbow se usaron diversas técnicas. Una función llamada "onMouseOver", por ejemplo, sirve para realizar una acción cuando se mueve el ratón por encima de un texto. Esto funciona gracias a JavaScript, uno de los lenguajes de programación que reconocen los navegadores web, y que aunque a veces provoca problemas de seguridad nadie desactiva porque si no el 95% de los servicios web simplemente no funcionarían. OnMouseOver es lo que hace que en algunas páginas web se desplieguen los menús al mover el ratón por ellos. Rainbow se activaba gracias a esta misma combinación, cuando el usuario pasaba el ratón por encima de los bloques de texto ocultos que se venían en la pantalla.

Por otro lado, estaba la técnica XSS para explotar los problemas de seguridad de JavaScript. Normalmente, para hacer JavaScript y otros lenguajes más seguros existen lo que se llaman "permisos de ejecución": los programas sólo pueden acceder a ciertos datos y, especialmente, sólo pueden funcionar si están en el mismo lugar en que se guardan las páginas originales (algo así como "el mismo directorio"). Si alguien intenta insertar un código nuevo en esas páginas haciendo una llamada a un servidor externo, lo normal es que no se ejecute. Los programadores de los diferentes servicios web además procuran que las páginas que muestran material subido por los usuarios (por ejemplo, comentarios) eliminen todo rastro de código que pueda provocar este tipo de problemas.

Al usar la técnica XSS (Cross-Side Scripting) los creadores del código malicioso consiguen introducir su código en el servidor de modo que se sirva como si fuera parte de la página, y por tanto saltándose las limitaciones de seguridad. Pueden hacerlo en JavaScript, como en este caso, o usando ActiveX, Java, Flash o incluso HTML, otros lenguajes habituales en la Web. En el caso de Rainbow el código iba incluido en los 140 caracteres de un tweet, una pequeña proeza de la brevedad. Debido a sus limitaciones, sólo funcionaba en las versiones de Twitter que se ven a través de navegadores web; quienes usan programas específicos para ver la red social desde el ordenador o sus teléfonos inteligentes no han sufrido el problema.

La primera encarnación del código de Rainbow se mostró a los seguidores de Twitter de algunas cuentas desde las que se originó el ataque; a partir de ahí se entró en una especie de efecto viral que lo propagó rápidamente: cualquiera que viera los extraños mensajes con bloques de colores y pasara el ratón por encima preguntándose qué era eso haría al instante un retweet del mismo mensaje en su propia cuenta, propagándola a cientos o miles de usuarios más. A veces aparecían otras ventanas con mensajes extraños o se llevaba al usuarios a sitios web seleccionados. Todo un lío.

Tal y como explican los responsables de Twitter, este pequeño agujero de seguridad que hacía que se pudiera insertar código como si fuera texto de un mensaje había sido detectado y corregido hace tiempo. Sin embargo algún tipo de actualización lo anuló recientemente y de ahí que los creadores de Rainbow pudieran aprovecharse del fallo. Tras comprobar la magnitud del problema simplemente aplicaron la solución que eliminaba esos códigos de los mensajes, anulándolos. Necesitaron unas cuatro horas nada más.

Este problema de seguridad en Twitter puede calificarse más bien de espectacular que otra cosa. No ha borrado ni robado datos, no ha podido hacer nada con las contraseñas de los usuarios: simplemente ha hecho perder el tiempo a la gente creando confusión y extrañeza cuando menos. Probablemente todo el mundo ha aprendido la lección y a partir de mañana Twitter sea un lugar más seguro.

Mostrar comentarios