Last.fm

Shoutbox

Llámame

  • *porque el derecho de autor y la cultura son asuntos de todos, no de algunos
  • Visita El Show de Juanelo

El "clickjacking": una falla de diseño que aún no ha sido revelada completamente pero promete ser más grave de lo conocido

Navegadores Web que utilizan interfaz gráfica Hace un rato, mientras revisaba el correo electrónico, me puse a leer noticias como es de habitual hasta que llegué a FayerWayer en donde leí una noticia sobre una vulnerabilidad llamada Clickjacking. Según lo expuesto en dicho blog, se trataría de una vulnerabilidad que afecta a casi todos los navegadores Web y que consiste en que una página puede ser capaz de hacer que el agente de usuario "pinche" cualquier enlace o botón sin que el usuario se percate. Además se dice que el problema es grave, y que la solución debería abordar a la forma en que funcionan los navegadores Web. Como la noticia no mostraba mayores detalles, me pareció un simple rumor y decidí investigar por mi cuenta. Me encontré con algunos resultados bien interesantes para compartir con ustedes.

¿Qué alcance tiene todo esto?

Mediante clickjacking es posible realizar muchas acciones maliciosas. Daré algunos ejemplos:

  • Cambiar la contraseña de una cuenta de correo electrónico sin que el usuario se entere.
  • Realizar acciones sobre cuentas bancarias sin autorización.
  • Enviar correo electrónico sin consentimiento del usuario.

En resumen, es posible tener acceso a cualquier acción perteneciente a un sitio Web, y el punto vulnerable reside en que cualquier servicio Web en el que se tenga iniciada o recordada una sesión puede ser blanco de este tipo de ataques.

¿En qué se basa el Clickjacking para cumplir su propósito?

Esta técnica se basa en lo siguiente para cumplir su objetivo:

  • La posibilidad de inclusión de Frames e IFrames ocultos o transparentes en páginas Web.
  • Las sesiones iniciadas en el navegador Web son capaces de persistir entre diferentes instancias —ventanas o pestañas. Un Frame o IFrame también es considerado una instancia nueva del navegador Web, por lo tanto las sesiones autentificadas también son efectivas dentro de dicho ámbito.

Un marco —ya sea Frame o IFrame— sirve para cargar una página Web dentro de otra con todas las funcionalidades que el motor de navegación provee. Cuando se crearon los marcos, este comportamiento era aprovechado para proveer funcionalidades mejoradas a las páginas Web, pero posteriormente aparecieron tecnologías más eficientes y los marcos cayeron en desuso. Pero como aún los IFrames son utilizados por muchos sitios Web, siguen teniendo soporte en la actualidad.

La forma conocida de realizar Clickjacking es utilizando un IFrame transparente de forma que se sobreponga al contenido de la página maliciosa sin que el usuario lo note, y de esta forma los clicks realizados en la página maliciosa son capturados por el IFrame que contiene una página perteneciente a un sitio Web distinto con una sesión autentificada.

Otros métodos teóricos de implementación de Clickjacking pueden ser la lectura y modificación del contenido de un IFrame que contiene una página perteneciente a un dominio externo o las consultas a orígenes de datos externos —XMLHttpRequest o técnicas como AJAX— pero muchos navegadores Web impiden que este tipo de solicitudes se realicen entre fuentes de datos pertenecientes a dominios distintos del origen.

Formas de prevención

Lo más idóneo para prevenir lo que se conoce hasta la fecha como Clickjacking sería restringir a los IFrames cualquier tipo de acceso a ubicaciones fuera del dominio perteneciente a la página madre que lo aloja. Es una solución simple, pero que de ser aplicada dejaría a muchos sitios Web sin operar correctamente.

En muchos de los artículos que he leído se habla de una supuesta gravedad del problema que va mucho más allá de eso, pero mientras la falla de diseño no abarque más allá de lo que he podido investigar hasta ahora, no puedo decir nada más, ya que los equipos de investigación no han divulgado mayor información y según dicho criterio, el asunto podría ser aún más grave de lo expuesto por los medios. Por último, la gravedad real del asunto es hasta el momento relativa, ya que en algunos casos existen soluciones destinadas a prevenir una alta tasa de escenarios que faciliten la explotación del fallo, pero los escenarios aún no cubiertos por estas soluciones siguen siendo especulaciones hasta la fecha.

Referencias

Martes 30 de Septiembre de 2008, 06:24:26
Categorías: Tecnología
Comentar...

Actualmente hay 4 comentarios, ¡falta el tuyo!

daniela

daniela, 30 Sep 2008 @15:03:21 dice: #1

hay cosas nuevas acá cierto... xD

sobre clickjacking no tenía idea, estuve leyendo los links y como parece que es complicado arreglarlo, creo que seguiré con otro motivo de paranoia sconf:
bueno, leeré un poco más :p y gracias por la información muy completa
saludos

La Nada

La Nada, 01 Oct 2008 @20:55:31 dice: #2

holas...
sabes que no se mucho sobre la pc ..pero si lo has explicado muy bien y me parece muy interesate eso!!! no tenia idea de que se pudiera!!! oohhh... conciderare la forma de prevención que mencionaste ... mira que si no fuera por el articulo yo ni enterada de que pudieran abrir mi correo sin que yo supiera jeje... uff
bueno... me alegro que volvieras a publicar en tu blog... ya hacia falta ehh
cuidate

ciao =)

amarok

amarok, 02 Oct 2008 @20:03:11 dice: #3

Excelente explicación. Estaba super curioso por saber de qué iba todo esto. Igual los navegadores podrían prevenir la carga de iframes de origenes distintos, del mismo modo que previenen las XSS. Luego los sitios simplemente tendrían que adaptarse a aquello, es "por un bien mayor".
Eliminar del todo el soporte de iframes es demasiado talibán e innecesario... Por otra parte, qué pasa si, como usuario, no mantienes sesiones autentificadas mientras navegas por otros sitios? o simplemente navegas por sesiones autentificadas y otros sitios en browsers distintos? Estás a salvo, o se me escapa algo?

Mr_Trukit0

Mr_Trukit0, 03 Oct 2008 @17:55:04 dice: #4

amarok dijo:

Igual los navegadores podrían prevenir la carga de iframes de origenes distintos, del mismo modo que previenen las XSS. Luego los sitios simplemente tendrían que adaptarse a aquello, es "por un bien mayor".


Sería excelente idea.

amarok dijo:

Eliminar del todo el soporte de iframes es demasiado talibán e innecesario...


En la especificación XHTML 1.1 (que es la que uso en este blog) el IFrame no está permitido, y para incrustar documentos (X)HTML en una página se utiliza Object, o bien se puede añadir un módulo a la declaración del DTD.

amarok dijo:

Por otra parte, qué pasa si, como usuario, no mantienes sesiones autentificadas mientras navegas por otros sitios? o simplemente navegas por sesiones autentificadas y otros sitios en browsers distintos? Estás a salvo, o se me escapa algo?


Estás a salvo (según lo que se conoce hasta hoy en día sobre el Clickjacking). Pero los usuarios comunes no sabrán cómo protegerse ante ello.

Deja tu comentario

Puedes utilizar emotíconos y bbCode; también si posees un avatar en Gravatar.com podrás utilizarlo en tus comentarios. Haz clic aquí para más ayuda.

(*): Campos obligatorios