
El clickjacking (clasificado como un ataque de manipulación de la interfaz de usuario o manipulación de la interfaz de usuario ) es una técnica maliciosa que engaña a un usuario para que haga clic en algo diferente de lo que percibe, revelando así potencialmente información confidencial o permitiendo que otros tomen el control de su computadora mientras hace clic en objetos aparentemente inofensivos, incluidas páginas web . [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
El clickjacking es un ejemplo del problema del agente confundido , en el que se engaña a una computadora para que haga un mal uso de su autoridad. [ 6 ]
Historia
En 2002, se observó que era posible cargar una capa transparente sobre una página web y que la entrada del usuario afectara a dicha capa sin que este lo notara. [ 7 ] Sin embargo, las correcciones comenzaron a llegar poco a poco alrededor de 2004, [ 8 ] y el problema general fue ignorado en gran medida como un problema importante hasta 2008. [ 7 ]
En 2008, Jeremiah Grossman y Robert Hansen (de SecTheory) descubrieron que Adobe Flash Player podía ser víctima de clickjacking, lo que permitía a un atacante acceder al ordenador de un usuario sin su conocimiento. [ 7 ] Grossman y Hansen acuñaron el término "clickjacking", [ 9 ] [ 10 ] una combinación de las palabras "click" y "hijacking". [ 7 ]
A medida que se descubrieron más ataques de naturaleza similar, el enfoque del término "reparación de la interfaz de usuario" se cambió para describir la categoría de estos ataques, en lugar de solo el clickjacking en sí. [ 7 ]
Descripción
Una forma de clickjacking aprovecha las vulnerabilidades presentes en las aplicaciones o páginas web para permitir que el atacante manipule el ordenador del usuario en su propio beneficio.
Por ejemplo, una página web con clickjacking engaña al usuario para que realice acciones no deseadas haciendo clic en enlaces ocultos. En este tipo de páginas, los atacantes cargan otra página superpuesta a la original en una capa transparente para inducir al usuario a realizar acciones cuyos resultados no serán los esperados. Los usuarios, sin sospechar nada, creen que están haciendo clic en botones visibles, cuando en realidad están realizando acciones en la página oculta, haciendo clic en los botones de la página que se encuentra debajo de la capa. Esta página oculta puede ser una página de autenticación; por lo tanto, los atacantes pueden engañar a los usuarios para que realicen acciones que nunca pretendieron. No hay forma de rastrear estas acciones hasta los atacantes posteriormente, ya que los usuarios se habrían autenticado legítimamente en la página oculta.
Categorías de Clickjacking
- Clásico: funciona principalmente a través de un navegador web [ 7 ]
- Likejacking: utilizalas capacidades de redes sociales de Facebook [ 11 ] [ 12 ]
- Anidado: clickjacking adaptado para afectar a Google+ [ 13 ]
- Cursorjacking: manipula la apariencia y la ubicación del cursor [ 7 ]
- MouseJacking : inyectar entrada de teclado o ratón a través de un enlace RF remoto [ 14 ]
- Sin navegador: no utiliza un navegador [ 7 ]
- Cookiejacking : adquiere cookies de los navegadores [ 7 ] [ 15 ]
- Filejacking: capaz de configurar el dispositivo afectado como un servidor de archivos [ 7 ] [ 16 ] [ 17 ]
- Ataque al administrador de contraseñas: clickjacking que utiliza una vulnerabilidad en la función de autocompletar de los navegadores [ 7 ].
Clásico
El clickjacking clásico se refiere a una situación en la que un atacante utiliza capas ocultas en las páginas web para manipular las acciones que realiza el cursor del usuario, lo que resulta en engañar al usuario sobre en qué se está haciendo clic realmente. [ 18 ]
Un usuario podría recibir un correo electrónico con un enlace a un vídeo sobre una noticia, pero otra página web, por ejemplo, la página de un producto en Amazon , puede estar oculta encima o debajo del botón de reproducción del vídeo. El usuario intenta reproducir el vídeo, pero en realidad compra el producto en Amazon. El atacante solo puede enviar un clic, por lo que se basa en que el visitante haya iniciado sesión en Amazon y tenga activada la compra con un clic.
Si bien la implementación técnica de estos ataques puede ser compleja debido a las incompatibilidades entre navegadores, varias herramientas como BeEF o Metasploit Project ofrecen una explotación casi totalmente automatizada de clientes en sitios web vulnerables. El clickjacking puede verse facilitado por otros ataques web, como el XSS , o bien puede facilitarlos . [ 19 ] [ 20 ]
Me gusta el secuestro
El likejacking es una técnica maliciosa que consiste en engañar a los usuarios que visitan un sitio web para que le den " Me gusta " a una página de Facebook u otras publicaciones/cuentas de redes sociales que no tenían intención de darles "Me gusta". [ 21 ] El término "likejacking" surgió de un comentario publicado por Corey Ballou en el artículo Cómo darle "Me gusta" a cualquier cosa en la web (de forma segura) , [ 22 ] que es una de las primeras publicaciones documentadas que explica la posibilidad de actividad maliciosa relacionada con el botón "Me gusta" de Facebook. [ 23 ]
Según un artículo de IEEE Spectrum , se desarrolló una solución para el secuestro de likes en uno de los hackatones de Facebook . [ 24 ] Existe un bookmarklet "Me gusta" que evita la posibilidad de secuestro de likes presente en el botón "Me gusta" de Facebook . [ 25 ]
Anidado
El clickjacking anidado, a diferencia del clickjacking clásico, funciona insertando un marco web malicioso entre dos marcos de la página web original e inofensiva : el de la página enmarcada y el que se muestra en la ventana superior. Esto se debe a una vulnerabilidad en el encabezado HTTP X-Frame-Options, donde, cuando este elemento tiene el valor SAMEORIGIN, el navegador web solo verifica las dos capas mencionadas. El hecho de que se puedan agregar marcos adicionales entre estos dos sin ser detectados significa que los atacantes pueden aprovechar esta vulnerabilidad.
En el pasado, con Google+ y la versión defectuosa de X-Frame-Options, los atacantes podían insertar marcos a su elección utilizando la vulnerabilidad presente en el motor de búsqueda de imágenes de Google . Entre los marcos de visualización de imágenes, que también estaban presentes en Google+, estos marcos controlados por el atacante podían cargarse sin restricciones, lo que permitía a los atacantes engañar a cualquier persona que accediera a la página de visualización de imágenes. [ 13 ]
secuestro de cursor
CursorJacking es una técnica de modificación de la interfaz de usuario para cambiar la posición del cursor respecto a la que percibe el usuario, descubierta en 2010 por Eddy Bordi, investigador de vulnerability.fr. [ 26 ] Marcus Niemietz lo demostró con un icono de cursor personalizado, y en 2012 Mario Heiderich lo hizo ocultando el cursor. [ 27 ]
Jordi Chancel, investigador de Alternativ-Testing.fr, descubrió una vulnerabilidad de CursorJacking que utiliza código Flash, HTML y JavaScript en Mozilla Firefox para sistemas Mac OS X (corregida en Firefox 30.0) y que puede conducir a la ejecución de código arbitrario y al espionaje de la cámara web. [ 28 ]
Jordi Chancel descubrió una segunda vulnerabilidad de CursorJacking en Mozilla Firefox para sistemas Mac OS X (corregida en Firefox 37.0), que utiliza nuevamente código Flash , HTML y JavaScript , lo que puede conducir al espionaje a través de una cámara web y a la ejecución de un complemento malicioso, permitiendo la ejecución de malware en el ordenador del usuario afectado. [ 29 ]
MouseJack
A diferencia de otras técnicas de clickjacking que manipulan la interfaz de usuario, MouseJack es una vulnerabilidad de interfaz de usuario basada en hardware inalámbrico reportada por primera vez por Marc Newlin de Bastille.net en 2016 que permite inyectar la entrada de teclado externo en dongles vulnerables. [ 30 ] Logitech proporcionó parches de firmware, pero otros fabricantes no respondieron a esta vulnerabilidad. [ 31 ]
Sin navegador
En el clickjacking sin navegador, los atacantes aprovechan las vulnerabilidades de los programas para replicar el clickjacking clásico en ellos, sin necesidad de utilizar un navegador web.
Este método de clickjacking es frecuente principalmente en dispositivos móviles, sobre todo en dispositivos Android , debido al funcionamiento de las notificaciones emergentes . Dado que estas notificaciones presentan un pequeño retraso entre el momento en que se solicitan y el momento en que se muestran en pantalla, los atacantes pueden aprovechar ese lapso para crear un botón ficticio oculto bajo la notificación que aún puede pulsarse. [ 7 ]
CookieJacking
El CookieJacking es una forma de clickjacking en la que se roban cookies de los navegadores web de la víctima . Esto se logra engañando al usuario para que arrastre un objeto que parece inofensivo, pero que en realidad le hace seleccionar todo el contenido de la cookie objetivo. A partir de ahí, el atacante puede obtener la cookie y todos los datos que contiene. [ 15 ]
FileJacking
En el ataque de secuestro de archivos (fileJacking), los atacantes utilizan la capacidad del navegador web para navegar por el ordenador y acceder a sus archivos con el fin de obtener datos personales. Lo hacen engañando al usuario para que establezca un servidor de archivos activo (a través de la ventana de selección de archivos y carpetas que utilizan los navegadores). De esta forma, los atacantes pueden acceder a los archivos de los ordenadores de sus víctimas y sustraerlos. [ 16 ]
Ataque al gestor de contraseñas
Un estudio de 2014 realizado por investigadores de la Universidad Carnegie Mellon reveló que, si bien los navegadores se niegan a autocompletar si el protocolo de la página de inicio de sesión actual difiere del protocolo utilizado al guardar la contraseña, algunos gestores de contraseñas completan de forma insegura las contraseñas guardadas con HTTPS para la versión HTTP. La mayoría de los gestores no ofrecen protección contra ataques basados en iFrame y redirecciones , y exponen contraseñas adicionales cuando se ha utilizado la sincronización de contraseñas entre varios dispositivos. [ 17 ]
Prevención
Lado del cliente
NoScript
La protección contra clickjacking (incluido likejacking) se puede agregar a las versiones de escritorio y móviles de Mozilla Firefox [ 32 ] instalando el complemento NoScript : su función ClearClick, lanzada el 8 de octubre de 2008, impide que los usuarios hagan clic en elementos de página invisibles o "rediseñados" de documentos o applets incrustados. [ 33 ] Según el "Manual de seguridad del navegador" de Google de 2008, ClearClick de NoScript es un "producto disponible gratuitamente que ofrece un grado razonable de protección" contra Clickjacking. [ 34 ] La protección contra el ataque más reciente de cursorjacking se agregó a NoScript 2.2.8 RC1. [ 27 ]
NoClickjack
El complemento para navegador web "NoClickjack" ( extensión ) añade protección contra clickjacking del lado del cliente para usuarios de Google Chrome , Mozilla Firefox , Opera y Microsoft Edge, sin interferir con el funcionamiento de los iFrames legítimos. NoClickjack se basa en tecnología desarrollada para GuardedID. El complemento NoClickjack es gratuito.
Identificación protegida
GuardedID (un producto comercial) incluye protección contra clickjacking del lado del cliente para usuarios de Internet Explorer sin interferir con el funcionamiento de los iFrames legítimos. [ 35 ] La protección contra clickjacking de GuardedID obliga a que todos los marcos se vuelvan visibles. GuardedID se asocia con el complemento NoClickjack para agregar protección para Google Chrome , Mozilla Firefox , Opera y Microsoft Edge .
Gacela
Gazelle es un navegador web seguro del proyecto de Microsoft Research basado en IE, que utiliza un modelo de seguridad similar al de un sistema operativo y tiene sus propias defensas limitadas contra el clickjacking. [ 36 ] En Gazelle, una ventana de origen diferente solo puede dibujar contenido dinámico sobre el espacio de pantalla de otra ventana si el contenido que dibuja es opaco.
Observador de intersecciones v2
La API Intersection Observer v2 [ 37 ] introduce el concepto de rastrear la "visibilidad" real de un elemento objetivo tal como la definiría un ser humano. [ 38 ] Esto permite que un widget con marco detecte cuándo está siendo cubierto. Esta función está habilitada de forma predeterminada desde Google Chrome 74, lanzado en abril de 2019. [ 39 ] La API también está implementada por otros navegadores basados en Chromium , como Microsoft Edge y Opera.
Lado del servidor
Framekiller
Los propietarios de sitios web pueden proteger a sus usuarios contra la manipulación de la interfaz de usuario (clickjacking basado en marcos) en el lado del servidor incluyendo un fragmento de JavaScript framekiller en aquellas páginas que no desean que se incluyan dentro de marcos de diferentes fuentes. [ 34 ]
Este tipo de protección basada en JavaScript no siempre es fiable. Esto es especialmente cierto en Internet Explorer, [ 34 ] donde este tipo de contramedida puede eludirse "por diseño" al incluir la página objetivo dentro de un elemento. [ 40 ]<IFRAMESECURITY=restricted>
Opciones de marco X
Introducido en 2009 en Internet Explorer 8 fue un nuevo encabezado HTTP X-Frame-Optionsque ofrecía una protección parcial contra clickjacking [ 41 ] [ 42 ] y fue adoptado por otros navegadores ( Safari , [ 43 ] Firefox , [ 44 ] Chrome , [ 45 ] y Opera [ 46 ] ) poco después. El encabezado, cuando lo establece el propietario del sitio web, declara su política de enmarcado preferida: los valores de DENY, , o impedirán cualquier enmarcado, enmarcado por sitios externos o permitirán el enmarcado solo por el sitio especificado, respectivamente. Además de eso, algunos sitios publicitarios devuelven un valor no estándar con la intención de permitir enmarcar su contenido en cualquier página (equivalente a no establecer X-Frame-Options en absoluto).ALLOW-FROM originSAMEORIGINALLOWALL
En 2013, el encabezado X-Frame-Options se publicó oficialmente como RFC 7034, [ 47 ] pero no es un estándar de Internet. El documento se proporciona únicamente con fines informativos. La Recomendación de Nivel 2 de la Política de Seguridad de Contenido del W3C proporciona una directiva de seguridad alternativa, frame-ancestors, que pretende reemplazar el encabezado X-Frame-Options. [ 48 ]
Un encabezado de seguridad como X-Frame-Options no protegerá a los usuarios contra ataques de clickjacking que no utilicen un marco. [ 49 ]
Política de seguridad de contenido
La frame-ancestorsdirectiva de Política de Seguridad de Contenido (introducida en la versión 1.1) permite o prohíbe la incrustación de contenido de páginas potencialmente maliciosas mediante iframe, object, etc. Esta directiva reemplaza a la directiva X-Frame-Options. Si una página se sirve con ambas cabeceras, el navegador debería priorizar la política frame-ancestors, [ 50 ] aunque este requisito fue ignorado por versiones anteriores de algunos navegadores. [ 51 ]
Ejemplos frame-ancestorsde políticas:
# No se permite la incrustación. Todos los iframes, etc., estarán en blanco o contendrán una página de error específica del navegador. Política de seguridad de contenido: ancestros de marco 'ninguno'
# Permitir únicamente la inserción de contenido propio . Política de seguridad de contenido: ancestros de marco 'self'
# Permitir que orígenes específicos incrusten este contenido Política de seguridad de contenido: ancestros de marcos www.example.com www.wikipedia.org
Véase también
Referencias
- ↑ Robert McMillan (17 de septiembre de 2008). "A petición de Adobe, los hackers descartan hablar de 'clickjacking'" . PC World. Archivado del original el 17 de julio de 2015. Consultado el 8 de octubre de 2008 .
- ↑ Megha Dhawan (29 de septiembre de 2008). "Cuidado, los secuestradores de clics andan al acecho" . The Times of India . Archivado del original el 24 de julio de 2009. Consultado el 8 de octubre de 2008 .
- ↑ Dan Goodin (7 de octubre de 2008). "Un juego en línea convierte la PC en un zombi de vigilancia encubierta" . The Register . Consultado el 8 de octubre de 2008 .
- ↑ Fredrick Lane (8 de octubre de 2008). "Los internautas se enfrentan a una nueva y peligrosa amenaza: el 'clickjacking'"." . newsfactor.com. Archivado del original el 13 de octubre de 2008. Consultado el 8 de octubre de 2008 .
- ↑ Shahriar, Hossain; Devendran, Vamshee Krishna (4 de julio de 2014). "Clasificación de ataques de clickjacking y técnicas de detección" . Information Security Journal: A Global Perspective . 23 ( 4–6 ): 137–147 . doi : 10.1080/19393555.2014.931489 . ISSN 1939-3555 . S2CID 43912852 .
- ↑ ¡ El ayudante del sheriff confundido vuelve a la carga!, Tyler Close, octubre de 2008
- 1 2 3 4 5 6 7 8 9 10 11 12 Niemietz, Marcus (2012). "Ataques de reparación de interfaz de usuario en dispositivos Android" (PDF) . Black Hat .
- ↑ "162020 - Ventana emergente de diálogo XPInstall/seguridad cuando el usuario está a punto de hacer clic (comentario 44)" . Rastreador de errores de Mozilla/Firefox .
- ↑ No conoces (click)jack Robert Lemos, octubre de 2008
- ↑ JAstine, Berry. "Número de ayuda de Facebook 1-888-996-3777" . Consultado el 7 de junio de 2016 .
- ↑ "Un gusano viral de clickjacking 'Me gusta' afecta a usuarios de Facebook" . Naked Security . 31 de mayo de 2010. Consultado el 23 de octubre de 2018 .
- ↑ "Gusano de Facebook – "Likejacking" " . Naked Security . 31 de mayo de 2010 . Consultado el 23 de octubre de 2018 .
- 1 2 Lekies, Sebastian (2012). "Sobre la fragilidad y las limitaciones de los esquemas de protección contra el clickjacking proporcionados por los navegadores actuales" (PDF) . USENIX .
- ↑ "Trucos para ratones inalámbricos y protección de seguridad de red" . MOUSEJACK . Consultado el 3 de enero de 2020 .
- 1 2 Valotta, Rosario (2011). "Cookiejacking" . tentacoloViola – sites.google.com . Archivado del original el 7 de agosto de 2019. Recuperado el 23 de octubre de 2018 .
- 1 2 "Filejacking: Cómo crear un servidor de archivos desde tu navegador (con HTML5, por supuesto)" . blog.kotowicz.net . Consultado el 23 de octubre de 2018 .
- 1 2 "Administradores de contraseñas: ataques y defensas" (PDF) . Consultado el 26 de julio de 2015 .
- ↑ Sahani, Rishabh; Randhawa, Sukhchandan (1 de diciembre de 2021). "Clickjacking: Cuidado con los clics" . Wireless Personal Communications . 121 (4): 2845– 2855. doi : 10.1007/s11277-021-08852-y . ISSN 0929-6212 . S2CID 239691334 .
- ↑ "El clickjacking se encuentra con el XSS: un estado del arte" . Exploit DB. 26 de diciembre de 2008. Recuperado el 31 de marzo de 2015 .
- ↑ Krzysztof Kotowicz. "Explotando el XSS inexplotable con clickjacking" . Consultado el 31 de marzo de 2015 .
- ↑ Cohen, Richard (31 de mayo de 2010). "Facebook Work – "Likejacking"" . Sophos . Archivado del original el 4 de junio de 2010 . Consultado el 5 de junio de 2010 .
- ↑ Ballou, Corey (2 de junio de 2010) .El término "Likejacking" se populariza . jqueryin.com. Archivado del original el 5 de junio de 2010. Consultado el 8 de junio de 2010 .
- ^ Pérez, Sarah (2 de junio de 2010). "El fenómeno del "likejacking" se populariza en Facebook . ReadWriteWeb. Archivado del original el 16 de agosto de 2011. Consultado el 5 de junio de 2010 .
- ↑Kushner, David (June 2011). "Facebook Philosophy: Move Fast and Break Things". IEEE. Archived from the original on 7 June 2011. Retrieved 15 July 2011.
- ↑Perez, Sarah (23 April 2010). "How to "Like" Anything on the Web (Safely)". ReadWriteWeb. Archived from the original on 30 April 2013. Retrieved 24 August 2011.
- ↑Podlipensky, Paul. "Cursor Spoofing and Cursorjacking". Podlipensky.com. Paul Podlipensky. Archived from the original on 22 November 2017. Retrieved 22 November 2017.
- 12Krzysztof Kotowicz (18 January 2012). "Cursorjacking Again". Retrieved 31 January 2012.
- ↑"Mozilla Foundation Security Advisory 2014-50". Mozilla. Retrieved 17 August 2014.
- ↑"Mozilla Foundation Security Advisory 2015-35". Mozilla. Retrieved 25 October 2015.
- ↑"What is MouseJack!". Bastille. Retrieved 3 January 2020.
- ↑"CERT VU#981271 Multiple wireless keyboard/mouse devices use an unsafe proprietary wireless protocol". kb.cert.org. Retrieved 3 January 2020.
- ↑Giorgio Maone (24 June 2011). "NoScript Anywhere". hackademix.net. Retrieved 30 June 2011.
- ↑Giorgio Maone (8 October 2008). "Hello ClearClick, Goodbye Clickjacking". hackademix.net. Retrieved 27 October 2008.
- 123Michal Zalevski (10 December 2008). "Browser Security Handbook, Part 2, UI Redressing". Google Inc. Retrieved 27 October 2008.
- ↑Robert Hansen (4 February 2009). "Clickjacking and GuardedID ha.ckers.org web application security lab". Retrieved 30 November 2011.
{{cite web}}: CS1 maint: deprecated archival service (link) - ↑ Wang, Helen J .; Grier, Chris; Moschchuk, Alexander; King, Samuel T.; Choudhury, Piali; Venter, Herman (agosto de 2009). "La construcción del sistema operativo multiprincipal del navegador web Gazelle" (PDF) . 18.º Simposio de Seguridad de Usenix, Montreal, Canadá . Consultado el 26 de enero de 2010 .
- ↑ "Intersection Observer – Borrador del editor del W3C" .
- ↑ "La confianza es buena, la observación es mejor" .
- ↑ "Desanonimización mediante Clickjacking en 2019" .
- ↑ Giorgio Maone (27 de octubre de 2008). "Hey IE8, I Can Has Some Clickjacking Protection" . hackademix.net . Consultado el 27 de octubre de 2008 .
- ↑ Eric Lawrence (27 de enero de 2009). "Seguridad de IE8 Parte VII: Defensas contra ClickJacking" . Recuperado el 30 de diciembre de 2010 .
- ↑ Eric Lawrence (30 de marzo de 2010). "Combatiendo el ClickJacking con X-Frame-Options" . Recuperado el 30 de diciembre de 2010 .
- ↑ Ryan Naraine (8 de junio de 2009). "Parche jumbo de Apple Safari: más de 50 vulnerabilidades corregidas" . Archivado del original el 12 de junio de 2009. Consultado el 10 de junio de 2009 .
- ↑ https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header Archivado el 7 de octubre de 2010 en Wayback Machine El encabezado de respuesta X-Frame-Options — MDC
- ↑ Adam Barth (26 de enero de 2010). "Seguridad en profundidad: nuevas características de seguridad" . Consultado el 26 de enero de 2010 .
- ↑ "Soporte para especificaciones web en Opera Presto 2.6" . 12 de octubre de 2010. Archivado del original el 14 de enero de 2012. Consultado el 22 de enero de 2012 .
- ↑ "HTTP Header Field X-Frame-Options" . IETF. 2013.
- ↑ "Política de seguridad de contenido de nivel 2" . W3C. 2016.
- ↑ "Blog de lcamtuf: Opciones de X-Frame, o resolver el problema equivocado" . 10 de diciembre de 2011.
- ↑ "Política de seguridad de contenido de nivel 2" . w3.org . 2 de julio de 2014. Archivado del original el 18 de mayo de 2025. Consultado el 29 de enero de 2015 .
- ↑ "Guía rápida de defensa contra el clickjacking" . Archivado del original el 28 de junio de 2025. Consultado el 11 de julio de 2025 .
- Piratería informática (seguridad informática)
- Cultura informática
- vulnerabilidades de seguridad web
- Ingeniería social (seguridad)
- Vulnerabilidades de seguridad web del lado del cliente