Inicio / Alerta Temprana / Avisos Seguridad / Ataque de Clickjacking

Ataque de Clickjacking

Fecha de publicación: 
23/10/2008
Importancia: 
3 - Media
Recursos afectados: 
  • Adobe Flash Player versión 9.0.124.0.
  • Navegadores, a excepción de navegadores en modo texto (Links, Lynx, w3m...)
Descripción: 

Consiste en un nuevo método de ataque que se realiza a través del navegador, tratando de engañar al usuario mediante una capa transparente colocada delante de un enlace o cuadro de diálogo. Su objetivo es hacer que el usuario pulse un enlace sin percatarse de ello.

Impacto: 

El clickjacking es sólo una técnica nueva para engañar al usuario y que haga click en un enlace sin darse cuenta. El impacto por tanto es similar al que se puede obtener con un ataque CSRF (Cross-Site Request Forgery):

  • Realizar acciones no deseadas en páginas en las que estemos autenticados, como por ejemplo modificar parámetros de configuraciones de privacidad/seguridad de un perfil de MySpaceo enviar información privada al atacante.
  • Creación de sitios de phishing más creíbles utilizando la página del banco auténtica como fondo.
  • Obtención de beneficio económico mediante fraude en publicidad basada en número de clicks.
  • Fraude en votaciones.

Es posible que existan otras posibles vías de explotación ya que los detalles completos de la vulnerabilidad aún no han sido publicados.

Solución: 

Hay que tener en cuenta que estas medidas pueden restringir funcionalidades de la páginas web visitadas afectando a la experiencia de navegación. Debido a que muchos de sus componentes (Javascripts, plugins, …) dejarán de ejecutarse. Se debe permitir sólo el acceso y ejecución completa de todos los componentes en páginas que sean de tipo confiable.

Para usuarios de Firefox

Es recomendable incluir el complemento NoScript en su última versión, en la cual incorpora una nueva característica llamada ClearClick, cuya finalidad está centrada en impedir que el usuario se convierta en víctima del ClickJacking. Ayuda a interaccionar con dichos elementos permitiendo evaluar el enlace de destino, viendo el texto o la imagen con el enlace real, y el enlace que se estaba anteponiendo (ClickJacking), pudiendo bloquear incluso el ataque de forma permanente para ese sitio.

Usuarios de Opera

Deshabilitar todas las opciones en Herramientas -> Avanzado -> Contenidos.

Escribir "opera:config" en la barra de direcciones. Buscar "Extensions" y deshabilitar "iFrames".

Usuarios de navegadores en modo texto (Links, Lynx, w3m...)

No afectados por la vulnerabilidad.

Usuario de otros navegadores

Deshabilitar scripts, plugins y JavaScript en el navegador. Aunque no se necesita para llevar a cabo el ataque, sí lo favorece notablemente.

Para todos los usuarios de Adobe Flash.

Para prevenir ser víctima de Clickjacking, también se puede cambiar la configuración de Adobe Flash de la siguiente manera:

Se accede a las Global Privacy Settings del Adobe Flash Player Settings Manager en la siguiente URL:

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager02.html

Seleccionar la opción Always deny.

Confirmar.

Otra opción es deshabilitar la característica de modificación de Hardware, manualmente en el archivo mms.cfg, cambiando el valor “AVHardwareDisable” de 0 a 1.

Con esto el administrador del complemento flash no volverá a preguntar si se quiere habilitar la cámara web y el micrófono sino que denegará su uso, a menos que se esté visitando un sitio de confianza (lista blanca). De este modo se presupones que cualquier página que solicite el cambio de configuración de Adobe Flash intenta realizar un ataque de ClickJacking.

Para desarrolladores de páginas web

Dotar a la página de código que evite que la página sea renderizada dentro de un iframe (http://www.quirksmode.org/js/framebust.html). Nota: esta práctica puede no ser recomendable desde un punto de vista de accesibilidad/compatibilidad.

Detalle: 

La técnica de ataque hace uso principalmente de DHTML y CSS para colocar una capa transparente por delante de lo que el usuario ve. Esta capa puede ser un iframe apuntando a un sitio externo o un objeto Flash o Silverlight embebido. De esta forma, cuando el usuario crea que interactúa con el fondo visible, en realidad lo estará haciendo con la capa frontal transparente.

 

El uso de javascript no es imprescindible, pero facilita la realización de estos ataques y aumentar su efectividad, por ejemplo haciendo que el control o enlace que queremos que el usuario pulse se desplace dinámicamente para colocarse siempre debajo del puntero del ratón del usuario.>

 

Esta técnica está relacionada con una vulnerabilidad de Adobe Flash (CVE-2008-4503) debido a que su plugin para los navegadores permite que el usuario cambie sin enterarse las preferencias de seguridad y privacidad si se coloca un objeto de este tipo en la capa frontal transparente, modificando por ejemplo las preferencias de acceso a la cámara web o al micrófono del usuario.

Es importante resaltar que el clickjacking es sólo una nueva técnica para facilitar ataques del tipo CSRF permitiendo engañar al usuario más fácilmente para que haga click. Además aumenta la efectividad de estos ataques evitando contramedidas para CSRF como los tokens aleatorios.

Afecta a todos los navegadores excepto los basados en texto, ya que éstos no implementan las funcionalidades de CSS necesarias para ocultar la capa.