Twitter

A estas alturas, muchos de ustedes sabrán (y pudieron comprobar en tiempo real) que el pasado martes a eso del mediodía Twitter era colapsado por un bug en su propia página web que permitía, explotando una vulnerabilidad XSS en la gestión del evento “onmouseover”, la ejecución de código javascript a través de tweets diseñados para ese objetivo. El código inyectado en el tweet sería del tipo:

onmouseover=javascript:<Código Javascript>

El ataque provocaba desde un pop-up “inofensivo” con un comando javascript tipo “onmouseover=”javascript:alert(‘Hola!’);” que generaba una ventana emergente con el mensaje “Hola” a todos los followers en cuyo “timeline” estuviera el tweet manipulado, hasta la aparición de cuadros en negro donde debería estar el texto del tweet, pasando por letras gigantes ocupando toda la pantalla, o la redirección del perfil del usuario a cualquier otra web. Por ejemplo, un tweet del tipo:

javascript:window.location=’https://www.securityartwork’;

provocaría que cada vez que un usuario pasase el ratón por encima del enlace, el navegador le llevaría a la página de este blog. Imaginen ahora el potencial de é¡este agujero para los spammers, o incluso peor, para la redirección a webs con malware.

Pero si esto ya es serio, la cosa no queda en eso; ¿qué ocurriría si el atacante en su inyección de código javascript metiera en su tweet manipulado algo así como javascript:(document.cookies)? Pues que se haría con las cookies de cada usuario que pasara el ratón por encima del tweet manipulado, lo que podría llevar a cabo una suplantación de nuestra identidad con todo lo que eso conllevaría. En Security By Default nos cuentan como llevaron a cabo el experimento de capturar la cookie de su propio usuario de Twitter, cerrar sesión, y volver a iniciarla con éxito utilizando la cookie capturada. Lo lógico sería pensar que una vez cerrada la sesión de Twitter y volviendo a iniciar otra se generara una nueva cookie invalidando la anterior pero por lo visto no sucede así. Por tanto, lo mas recomendable sería el acceso a Twitter vía aplicaciones, evitando la utilización de la vía web.

Diversas personalidades conocidas se han visto afectadas con este asunto, y como anécdota decir que la esposa del ex premier britanico Gordon Brown, Sarah, vió como su perfil dirigía cada visita a una pagina pornográfica japonesa. Estos tweets “malintencionados” se esparcieron a través de un gusano (y la colaboración de muchos usuarios), y miles de usuarios fueron víctimas de este “ataque”.

En mi opinión, Twitter ha actuado de manera bastante rápida (por la cuenta que les traía) y en apenas horas publicó un parche contra dicho bug que en principio solucionaba el problema. En definitiva, creo que gestionaron bastante bien el incidente, sin embargo pienso que deberían haberse realizado un control más exhaustivo sobre lo que se puede o no postear en un tweet. Parece bastante tonto pensar que todo este lío lo ha provocado un comando javascript insertado dentro de un tweet, y hace pensar que Twitter tiene en cuenta la seguridad mucho menos de lo que debería.

En lo que va de año (más o menos) se han detectado varios agujeros de seguridad en Twitter, desde la entrega de mensajes directos a destinatarios erróneos, el XSS descubierto por David Naylor, el bug que permitía forzar que un usuario siguiera a otros, y en abril de 2009 circuló en Twitter un gusano denominado “Mikey” que escribía tweets de manera automática en los “timelines” de los usuarios. Por no hablar de los bugs en los acortadores de urls (véase este y este).

Todo lo que ha sucedido con Twitter me recuerda a un artículo de BSecure sobre la gestión de las redes sociales en el ámbito corporativo que leí hace apenas unos días y en el que, entre otras cosas, indicaba que las redes sociales proporcionaban a las empresas una posibilidad de incrementar su negocio y por tanto sus beneficios. Esto es importante sobre todo para las PYMEs, que invierten menos dinero en marketing profesional, pero disponen de este modo de una vía (relativamente) barata de hacerse conocer y mantener un canal directo con los clientes. Sin embargo, ¿cómo puede dañar un uso mal intencionado de estas redes en una empresa? Las consecuencias pueden ser nefastas: daño de la imagen a la empresa, pérdida de credibilidad, atentado contra la confidencialidad y privacidad de la información, sin dejar de lado las pérdidas económicas que supone una infección de malware, o posibles ataques de ingeniería social. En mi opinión, las redes sociales son una herramienta poderosa en el ámbito profesional de cara a compartir información, contactos, marketing, y en definitiva para la generación de negocio, y por tanto aconsejo hacer un buen uso de ellas siendo conscientes de que:

  • Estás expuesto a los riesgos que conlleva pertenecer a una comunidad virtual, y podría darse el caso de que dicha presencia tuviese un impacto negativo para tu empresa, ya sea por no poder o saber gestionar adecuadamente diversos riesgos reputacionales, o ofrecer una mayor visibilidad sobre el funcionamiento interno y las posibles incidencias a las que tu organización se ve expuesta. Por esta razón es recomendable no descuidar el tema de la Seguridad de la Información; no se trata de esperar a ser atacado para tomar medidas, sino de que si en la red social tratas con información sensible o importante como puede ser tu propia imagen corporativa, trates de protegerla al máximo, como protegerías cualquier elemento de tu empresa. En Internet se pueden encontrar numerosos consejos y recomendaciones o bien acudir a alguna empresa especializada en Seguridad de la Información para que estudien tu caso y te aconsejen.
  • No esperes que porque tal o cual red social sea muy conocida y la usen cientos de millones de usuarios se trata de sistemas invulnerables o “blindados” contra ciertos ataques de seguridad lógica. Está claro que las redes sociales deberían ser conscientes del fenómeno que están viviendo y ser las primeras en desarrollar sistemas y procedimientos de seguridad fiables y eficaces, pero visto lo visto sabemos que no es así, por lo que es necesario estar al día de lo que conlleva el gran desarrollo tecnológico, y las consecuencias de formar parte activa en éste.
  • Por último, también puede uno olvidarse de las redes sociales establecidas, ser creativo e innovar montando su “propia red social” :), o creando cualquier otro mecanismo que proporcione la misma funcionalidad pero de otra manera.

Fuentes:

Comments

  1. Maite, muchas gracias por la disección del bug.

    Efectivamente resulta curioso que un proyecto como Twitter caiga en estas cosas.
    Todos nos imaginamos a una empresa de este tipo con un departamento de programadores con un bagaje en seguridad sorprendente pero por lo visto la realidad parece ser otra. Da la sensación de que aún se invierte poco en seguridad, lo que quiere decir que aún no se le ve la utilidad. Cambiará la cosa?

    Aún así, cómo tú bien dices, parece que la reacción fue rápida. Me hubiera gustado verles por un agujerito. Pobres. Que marrón.

    Santi

  2. Efectivamente Santi, resulta curioso que ocurran cosas asi en grandes empresas ,Twitter creo que tiene unos 145 millones de usuarios, y como bien dices todos nos creemos que empresas asi tienen un equipo de seguridad de lo mas efectivo, pero parece ser que no, que no todo es asi y aun se invierte demasiado poco en seguridad, ¿que tendrá que ocurrir mas para tomar conciencia de esto?…

  3. Lo que es curioso es que critiques un departamento de seguridad que desconoces. Primero tendrias que preguntarte cuantos ataques se realizan a Twitter de forma diaria y como casi todos son frenados. La linea de defensa es mas pequeña que la de ataque. No todos son tan expertos en seguridad como tú que usastes la interfaz Web y fueron capaces de pillar tu document.cookie según veo en tu timeline. Como puedes ver, ya puedes estar en el csirtcv tweeteando desde el trabajo y que alguien consiga acceso a tu equipo. Siempre existira la estupidez humana.

  4. Ernesto, no critico para nada a nadie,y no es mi intención.Mis disculpas si he dado esa impresion en mi comentario anterior, de hecho lo voy a eliminar porque no quiero crear esa impresion de critica. Solo expongo que como tu bien dices, tanto Twitter como cualquier otra red social están expuestos a millones de ataques y ole por esos departamentos de seguridad que trabajan cada día para frenarlos pero desde mi humilde punto de vista animo a invertir mas en seguridad porque seguramente se puede hacer mejor, de hecho elogio el modo en que se gestiono el incidente pero seguro que todo puede mejorar, todos podemos mejorar en nuestros trabajos y por supuesto todos somos vulnerables, y cometemos errores de los que hay que aprender. Y cuando digo invertir mas en seguridad no quiere decir que los que se dediquen a ello no lo hagan bien sino que a lo mejor se necesita mas infraestructura, mas medios, etc. Y no lo digo por Twitter, lo digo en general .

    Y no me considero experta en seguridad. De hecho no me considero experta en nada.

    Un saludo y gracias por la aportación Ernesto.

  5. Ernesto, lo primero de todo es que no hace falta conocer o desconocer un departamento de seguridad para criticarlo; sugerir que, por ejemplo, es necesario conocer el departamento de seguridad de Microsoft para afirmar que Internet Explorer 6 es inseguro roza el absurdo.

    Volviendo a Twitter, mientras que la respuesta dada fue ejemplar en tiempo y forma, la cuestión es que la base del ataque no era técnicamente, a pesar de lo tardío de su descubrimiento, nada excepcional. Llama la atención no sólo que nadie lo probase antes, sino que la empresa no hubiese tenido en cuenta la potencial inserción de javascript en tweets. Ataques como ese están a la orden del día en cualquier web, pero cabe pensar que la exposición de Twitter a los usuarios haría que tuviesen más en cuenta este tipo de aspectos. Llámalo como quieras, y enfádate tanto como quieras, pero filtrar ese tipo de cosas son de manual.

    Por supuesto que Twitter se ve expuesta probablemente a muchos ataques, pero basar la defensa en la carga de trabajo del departamento de seguridad me parece algo poco serio. Si Twitter no puede hacer frente a las amenazas de Internet (cosa que no creo que sea cierto), debería cerrar la paraeta o advertir de ello.

    Por otro lado, sin intención de defender a nadie, que aquí todo el mundo es mayorcito, algunos usuarios (entre los que me encuentro) tenemos la maldita manía de mover el ratón compulsivamente por la pantalla, seleccionando y deseleccionando texto mientras lo leemos o pasamos a otro texto. Personalmente, eso lo hago tanto en Internet como en informes y textos diversos. No me cabe duda de que, de haber estado conectado al Twitter, muy probablemente habría sido víctima del mismo ataque.

    Por supuesto, las descalificaciones personales están fuera de lugar, así que te ruego que te abstengas de entrar en ellas si quieres continuar hablando.

  6. http://Ernesto%20Moreno says

    Manuel, la realidad es que estamos hablando de Twitter no de Microsoft ni IE6 que ademas tiene ya unos cuantos años, mas que twitter. Bajate la 7/8/9 y me comentas lo mismo, y te volvere a decir que la linea de defensa es menor que la de ataque y demasiadas protecciones tiene que no valoras. Realmente las Amenazas de internet no son solo por parte de Twitter y su departamento de seguridad, sino tambien ayuda la estupidez Humana. Si vienes a un sector a hablar de seguridad, creo que poner medios para un XSS como ha sido el caso de Maite es algo bastante basico.

    No estamos hablando de un 0day de Adobe Reader/Flash que se ha saltado la proteccion ASLR/DEP de su Internet Explorer. Hablamos de un Post que grita lo lamentable de la situacion por parte de Twitter ya sea un por deficiente departamento de seguridad o por invertir pocos recursos. Y ahora es cuando debes pensar que para hablar de algo debes conocerlo. ¿Cuantos puestos de seguridad oferta Twitter?¿Cuantas personas lo forman?¿Cuanta inversion tiene?. Yo personalmente lo desconozco y no me paro a criticarlo o pedirle una mejora, primero lo averiguaria y luego publicaria el articulo.

    Si no lo dices por Twitter Maite y lo dices por mas medios en general, no pongas en el titulo Twitter. Habla sobre un bug y sobre como se ha solucionado y da tu opinion personal sobre lo que conoces, no sobre lo que ni siquiera pones datos. En el momento que has decidio criticar (pese que ahora lo borres del articulo) como se gestiona la seguridad de Twitter, te has creido/pensado más experta que las soluciones que aportan ellos mismos.

    No es un ataque directo Maite, pero venderte como que trabajas en el Centro de Seguridad TIC de la Comunidad Valenciana y no considerarte experta en nada o caer en un simple XSS (bastante claro ademas), tal vez deberiamos hablar de si existe gente cualificada en los departamentos de seguridad como el de la comunidad valenciana.¿no crees?.

    Manuel, las descalificaciones personales son insultos. Yo no insulto la inteligencia de nadie, si el articulo fuese objetivo mi critica seria objetiva, pero como es personal de Maite, critico directamente la subjetividad del asunto con un argumento totalmente valido que es la Estupidez Humana, que no es decirle estupida a Maite es decir que ya puede poner/hablar de medidas de seguridad pero si ni ella toma medidas apaga y vamonos. Maite te invito a usar un Cliente de Twitter para tu PC para evitar el robo de sesiones, así mismo que pongas medidas en tu navegador como NoScript, etc. De igual forma te invito a que si has editado el articulo lo hagas saber por Twitter al igual que cuando lanzastes la noticia.

  7. Ernesto, si te parece empezamos por el principio. Y eso es que, como editor del blog, puedo garantizar que no se ha modificado el artículo, porque los permisos para ello los tengo yo y no Maite.

    En segundo lugar, en ningún lugar del post de habla de la deficiente seguridad de Twitter en el tono que sugieres, sino que se plantean dudas bastante razonables, vistos los bugs descubiertos últimamente en Twitter, sobre la importancia que Twitter le concede a la seguridad. Como suele decirse, blanco y en botella…

    En tercer lugar, insisto en que el argumento de la cantidad de recursos para justificar o no la seguridad de una organización es totalmente carente de sentido. Me importa poco cuánto personal de seguridad tiene Twitter como empresa, cuánta gente contrata o cuantos puestos ofertan; la importancia de su departamento de seguridad dentro de la organización me da lo mismo que su departamento de finanzas o desarrollo, es decir nada en absoluto. Exactamente de la misma forma que me da lo mismo cuántos puestos de seguridad oferta mi banco, google, o facebook. Probablemente no aceptarías esa excusa si pierdes tu dinero de tu cuenta corriente, simplemente porque el banco en cuestión ha decidido no invertir en personal de seguridad. Justificar una vulnerabilidad en la falta de personal de seguridad de una organización es cualquier cosa menos lógico, y pretender que hay que “cortarse” a la hora de criticar un bug por ello es algo poco sensato, por ser suave con las palabras. Ni que decir tiene que aplicar eso en general limitaría al mínimo cualquier posible crítica a Google, Adobe, Microsoft y demás, porque tengo serias dudas de que conozcas el personal de seguridad de estas organizaciones, su especialización, experiencia y demás factores implicados. Resumiendo, que lo que dices no tiene ningún sentido.

    Maite ha hecho un artículo muy razonado del bug de Twitter, ha alabado la respuesta de esta red social, y ha puesto de manifiesto las últimas incidencias de Twitter en materia de seguridad, te guste o no. No hay mucho más que decir en eso.

    Respecto a la estupidez humana, te recuerdo que el ataque XSS contra Twitter aprovechaba una vulnerabilidad del servidor, no del cliente. Quizá yo y Maite deberíamos utilizar un cliente de escritorio para acceder a Twitter, pero si Twitter ofrece dicho servicio a través de un interfaz web, debe poner las medidas para asegurar que dicho interfaz es seguro, cuando además, si no estoy equivocado, Twitter no distribuye ningún cliente de escritorio (correcto, ¿verdad?). Pareces sugerir que la responsabilidad de protegerse del ataque reside en Maite, no en Twitter. Falso. Cierto es que el usuario puede poner medidas, pero la vulnerabilidad está donde está, y no se le puede dar más vueltas al asunto. La estupidez humana no juega absolutamente ningún papel en esto.

    Pero vamos a ir un poco más lejos. Al parecer, tal y como ha demostrado Security by Default, cerrar el navegador y volverlo a abrir no asegura que la sesión de Twitter se cierre. Si eso no es un problema de seguridad, entonces no sé lo que es.

    Otro punto al que haces referencia es a la diferencia de antiguedad entre Twitter y MSIE6, aspecto en el que por supuesto te doy la razón. Pero como comprenderás, justificar la seguridad en torno a factores temporales no se sostiene por su propio pie. Es como si las nuevas funcionalidades de Gmail fuesen inmunes a la crítica en materia de seguridad por la simple razón de que son nuevas. Twitter no lleva sólo un tiempo ya funcionando, sino que da servicio a más de 100 millones de personas. Si eso no es una masa significativa de usuarios, no sé lo que lo es.

    Voy a ir acabando, que es tarde. El primer punto es que la entrada no ha sido editada, a pesar de las diferentes sugerencias de que así ha sido. El segundo punto es que la vulnerabilidad que el ataque aprovechaba se encontraba en los desarrollos de Twitter, y no en los de los clientes. El tercer punto es que si Twitter no puede ofrecer una interfaz segura, será mejor que saque un cliente de escritorio. Y por último, el número de personas que Twitter dedica a la seguridad es totalmente irrelevante; si son pocas, es un claro indicativo de la importancia que le dan a la seguridad, y si son muchas, espero que esto les sirva para mejorar.

    Entiendo que Maite diga que no se considera una experta; más allá de que intentaba ser conciliadora, y tiene un sincero sentido de la modestia, todo depende del significado que quieras darle a la palabra “experto”, designación muy degradada por estos tiempos; yo diría que Wietse Venema o Bruce Schneier son expertos en seguridad, pero de ahí para abajo el tema es más complicado de discutir. Luego, entrar en temas de cualificación tanto suya como del Centro de Respuesta a Incidentes de la Comunidad Valenciana CSIRT-CV es mear fuera del tiesto, algo que si me permites llevas haciendo desde el primer comentario.

    Ninguno de los argumentos que expones tienen, sinceramente, el menor sentido, aunque me resulta francamente curioso que emplees tanta energía en defender lo indefendible. Buenas noches, en cualquier caso.

  8. Yo creo que la visión de Maite al respecto es bastante acertada, incluso creo que existe lenidad a la hora de juzgar Twitter. Obviamente nadie está libre de cometer pero en el caso de Twitter han sido demasiados y en aspectos que chocan bastante. Hasta donde yo sé Twitter no es una empresa que dedique demasiado esfuerzo / interés a la seguridad (hace relativamente poco se pusieron en la tarea de contratar un responsable de seguridad). Sobre el asunto del ‘no me considero experta’ creo que es un ejercicio de humildad que debería ser aplaudido. Todos, absolutamente todos, estamos en disposición de aprender y cometer errores, pero no tantos en disposición de admitirlo :)

  9. http://Ernesto%20Moreno says

    Cito anteriormente a Maite : — Mis disculpas si he dado esa impresion en mi comentario anterior, de hecho lo voy a eliminar porque no quiero crear esa impresion de critica. –. Manuel, a esto me referia con editar el articulo.

    Y vuelvo a citar a Maite — pienso que deberían haberse realizado un control más exhaustivo sobre lo que se puede o no postear en un tweet. Parece bastante tonto pensar que todo este lío lo ha provocado un comando javascript insertado dentro de un tweet, y hace pensar que Twitter tiene en cuenta la seguridad mucho menos de lo que debería.– Manuel, a esto me referia cuando se critica a un departamento de seguridad.

    Twitter pone sus medidas de seguridad, y tu como usuario tienes tu responsabilidad. Te recuerdo que Twitter es un servicio gratuito hasta el momento y si te has leido (permiteme la duda) el acuerdo de uso, ellos se guardan el derecho de si le pasa algo o no a tu cuenta. El bug claro que es de Twitter, al igual que el de las cookies pero me gustaria que me hablases un poco mas de la linea que existe entre seguridad y usabilidad, en que estado debe quedarse para ti en Twitter. Si prefieres perder funcionalidades en base a ganar seguridad y si te parece bien pagar por un servicio seguro que te garantice en cierto modo tu seguridad.

    Nadie te obliga a usar Twitter, ni Gmail , ni Nada. Te agradeceria que no metieses mas empresas a modo comparacion que poco tienen que ver en el servicio que ofrecen.En tal caso no hablo de Google, Microsoft, etc ya que desconozco su departamento de seguridad. Lo que si se es que en Google tambien se encuentran fallos relativamente sencillos, como usar otras codificaciones como UTF-7 para XSS, etc.Incluso en Microsoft, en sus diversas webs se han encontrado fallos hace bastante poco de inyecciones SQL, XSS, etc. No por eso son criticables y como te decia no venian al caso.

    En cuanto a lo de ser o no experta es una forma de decirle a Maite que no hay expertos ni nadie es perfecto, con un fallo sencillo que cualquier persona veria a simple vista y filtraria tomando las medidas adecuadas de cara a sus competencias como usuario. ¿No te has parado tampoco a pensar que Firefox/Safari/IE/Opera deben tomar sus medidas ante XSS? Y que tal vez no sea solo culpa de Twitter, si no de tu navegador y de tus no medidas como usuario. Mencionar al CSIRT-CV es porque ella trabaja ayi y lo dice abiertamente por lo que me resulta interesante que una persona que se encarga en cierto modo de la seguridad y habla de ella, critique como cito anteriormente la seguridad de Twitter y se coma un XSS en claro.

    Los argumentos que expongo son todos sacados del articulo, tal vez no te lo has leido y deberias repasarlo. No implico ningun tipo de energia en defender nada indefendible, me gustaria ver numeros y argumentos más lejos de un par de enlaces a otros sitios que no dejan en ningun caso claros sus pobres argumentos. Tambien me gustaria ver a Maite responder directamente que es la persona a la que yo he mencionado y ha redactado el articulo.

    Como ultimo, te dire que clientes de Twitter hay cientos para diferentes plataformas. Twitter cede gratuitamente una API para eso, y si no te convence usar la interfaz Web puedes usar uno de los tantos que existen.Es más te recomiendo usar un cliente, principalmente porque podras invertir mas tiempo en buscar fuentes para tus articulos antes que estar refrescando el timeline.

  10. Ernesto, gracias por tu punto de vista. Simplemente aclararte que Maite me consultó acerca de eliminar un comentario que podía ser interpretado como ofensivo, y tras comentarlo con ella, decidimos dejar las cosas como estaban. Por tanto, no hubo ninguna modificación.

    Queda claro que no estamos de acuerdo, pero vamos a dejarlo aquí y que cada cual saque sus propias conclusiones.

Trackbacks

  1. […] Twitter (…) Pero si esto ya es serio, la cosa no queda en eso; ¿qué ocurriría si el atacante en su inyección de código javascript metiera en su tweet manipulado algo así como javascript:(document.cookies)? Pues que se haría con las cookies de cada usuario que pasara el ratón por encima del tweet manipulado, lo que podría llevar a cabo una suplantación de nuestra identidad con todo lo que eso conllevaría… […]