Archivo de la etiqueta: Content Security Policy

Clickjacking

Se denomina clickjacking, cuya traducción aproximada sería secuestro de clic, a una serie de técnicas, generalmente utilizadas en aplicaciones web, que buscan que el usuario pulse enlaces (y por ello ejecute código) de forma inconsciente. El término fue acuñado en 2008 si bien se puede conocer este tipo de ataques con el termino, más genérico, IU redressing (pudiendose traducir como redirecionamiento de interfaz de usuario).

Ejemplo clickjacking

Ejemplo clickjacking. Fuente imagen: Un informatico en el lado del mal

La idea bajo este ataque es conseguir que el usuario realice una acción no intencionada (ejecutar un script, instalar malware en su equipo, visitar una página web, etc.) sin ser consciente de ello. Para conseguir este resultado se suelen utilizar propiedades del lenguaje HTML de forma malintencionada.

Un ejemplo típico de este tipo de ataques sería la visita de un usuario a una página web que contenga un vídeo. Generalmente para reproducir un vídeo es necesario pulsar el botón de Play para que comience, así pues el usuario hace clic sobre el botón para poder ver el vídeo. Si un atacante malicioso ha colocado sobre el botón una imagen o un iframe transparente con un enlace a otro sitio el usuario en realidad habrá pulsado dicho enlace y no el inicio de la reproducción del vídeo.

Algunas páginas pueden engañar al usuario al crear su propio puntero de ratón, en vez de utilizar el propio del sistema. Así puede mostrar un puntero desplazado respecto al real y hacer que el usuario pulse el enlace no deseado. Esta variante recibe el nombre de cursorjacking (secuestro del cursor).

El éxito de esta técnica tiene una tasa de éxito es muy variable ya que depende en gran medida de la configuración del navegador del usuario y del tamaño de pantalla. Tampoco suele ser un técnica muy efectiva para forzar la instalación de software malicioso ya que los navegadores modernos incluyen incorporan medidas de seguridad, precisamente, para evitar eso (tiempos de espera, avisos de confirmación ,etc.). Debido a estas limitaciones la técnica de clickjaking se ha centrado más en conseguir que los usuarios hagan uso de otros servicios web, siendo los más comunes (por tenerlos en login automático en nuestros navegadores):

  • Seguir a alguien en Twitter de tal manera que esa cuenta gana popularidad y el usuario puede recibir spam en su timeline (1000 seguidores en twitter valen menos de 5€).
  • Darle a Me Gusta de Facebook o compartir publicaciones de una página desconocida para conseguir el mismo efecto. Estas técnicas han sido denominadas como Likejacking (1000 Me gusta en Facebook puede salirte por menos de 10€).
  • Cambiar la configuración de redes sociales para que sea pública y así el atacante puede obtener más información de la víctima.
  • Forzar la visita a una página web no deseada ya sea con el objetivo de vender algún producto o servicio o bien para que la página visitada incremente su popularidad en los buscadores.

Estos problemas de vulnerabilidades pueden no parecer críticos a simple vista pero si una web es vulnerable a un clickjacking de terceros no sería de extrañar que también estuviese afectada por alguna vulnerabilidad XSS.

Defensas frente a clickjacking

Los usuarios pueden utilizar el plugin NoScript que protege frente a este tipo de ataques. Otra solución sería configurar manualmente una plantilla de navegación por la que todos los iframes que se creen tengan un fondo opaco para evitar la aparición de una ventana transparente sobre una página web legítima.

Los administradores de sitios web pueden activar algunas opciones por defecto de X-Frame-Options o de la Content Security Policy para forzar que todos los iframes en su web  tengan fondo opaco y sólo apunten a su propia página y no redirijan tráfico a terceros.