Clickjacking (clasificada como una interfaz de usuario ataque reparación , ataque reparación de interfaz de usuario , la interfaz de usuario corregir ) es una técnica maliciosa de engañar a un usuario para que haga clic en algo diferente de lo que percibe el usuario, por tanto, potencialmente reveladoras confidencial la información o permitir que otros tomen el control de su ordenador mientras hace clic en objetos aparentemente inocuos, incluidas las páginas web . [1] [2] [3] [4]
El secuestro de clics es un ejemplo del confuso problema del asistente , en el que se engaña a una computadora para que haga un mal uso de su autoridad. [5]
Historia
En 2002, se había observado que era posible cargar una capa transparente sobre una página web y hacer que la entrada del usuario afectara a la capa transparente sin que el usuario se diera cuenta. Sin embargo, esto se ignoró principalmente como un problema importante hasta 2008. [6]
En 2008, Jeremiah Grossman y Robert Hansen habían descubierto que Adobe Flash Player podía ser secuestrado, lo que permitía a un atacante acceder a la computadora sin el conocimiento del usuario. [6]
El término "clickjacking" fue acuñado por Jeremiah Grossman y Robert Hansen, [7] [8] una combinación de las palabras "clic" y "secuestro". [6]
A medida que se descubrieron más ataques de naturaleza similar, se cambió el enfoque del término "reparación de la interfaz de usuario" para describir la categoría de estos ataques, en lugar de simplemente hacer clickjacking. [6]
Descripción
Una forma de clickjacking aprovecha las vulnerabilidades que están presentes en las aplicaciones o páginas web para permitir que el atacante manipule la computadora del usuario para su propio beneficio.
Por ejemplo, una página secuestrada engaña a un usuario para que realice acciones no deseadas haciendo clic en enlaces ocultos. En una página secuestrada, los atacantes cargan otra página sobre la página original en una capa transparente para engañar al usuario para que realice acciones, cuyos resultados no serán los mismos que el usuario espera. Los usuarios desprevenidos piensan que están haciendo clic en los botones visibles, mientras que en realidad están realizando acciones en la página invisible, haciendo clic en los botones de la página debajo de la capa. La página oculta puede ser una página auténtica; por lo tanto, los atacantes pueden engañar a los usuarios para que realicen acciones que los usuarios nunca pretendieron. No hay forma de rastrear tales acciones hasta los atacantes más adelante, ya que los usuarios se habrían autenticado genuinamente en la página oculta.
Categorías de clickjacking
- Clásico: funciona principalmente a través de un navegador web [6]
- Likejacking: utilizalas capacidades de las redes sociales de Facebook [9] [10]
- Anidado: clickjacking adaptado para afectar a Google+ [11]
- Cursorjacking: manipula la apariencia y la ubicación del cursor [6]
- MouseJacking : inyecte la entrada del teclado o del mouse a través de un enlace RF remoto [12]
- Sin navegador: no utiliza un navegador [6]
- Cookiejacking : adquiere cookies de navegadores [6] [13]
- Filejacking: capaz de configurar el dispositivo afectado como un servidor de archivos [6] [14] [15]
- Ataque del administrador de contraseñas: secuestro de clics que utiliza una vulnerabilidad en la capacidad de autocompletar de los navegadores [6]
Clásico
El clickjacking clásico se refiere a una situación en la que un atacante utiliza capas ocultas en páginas web para manipular las acciones que realiza el cursor de un usuario, lo que induce a error al usuario sobre lo que realmente está haciendo clic.
Un usuario puede recibir un correo electrónico con un enlace a un video sobre una noticia, pero otra página web, digamos una página de producto en Amazon , puede estar "oculta" en la parte superior o debajo del botón "REPRODUCIR" del video de noticias. El usuario intenta "reproducir" el video, pero en realidad "compra" el producto en Amazon. El pirata informático solo puede enviar un solo clic, por lo que confían en el hecho de que el visitante ha iniciado sesión en Amazon.com y tiene habilitado el pedido con 1 clic.
Si bien la implementación técnica de estos ataques puede ser un desafío debido a incompatibilidades entre navegadores, varias herramientas como BeEF o Metasploit Project ofrecen una explotación casi completamente automatizada de clientes en sitios web vulnerables. El secuestro de clics puede ser facilitado por, o puede facilitar, otros ataques web, como XSS . [16] [17]
Likejacking
Likejacking es una técnica maliciosa para engañar a los usuarios que ven un sitio web para que "les guste " una página de Facebook u otras publicaciones / cuentas de redes sociales que no querían "me gusta" intencionalmente. [18] El término "likejacking" proviene de un comentario publicado por Corey Ballou en el artículo Cómo "Me gusta" cualquier cosa en la Web (de forma segura) , [19] que es una de las primeras publicaciones documentadas que explican la posibilidad de actividad maliciosa con respecto a Botón "Me gusta" de Facebook. [20]
De acuerdo con un artículo publicado en IEEE Spectrum , una solución a likejacking se desarrolló en uno de de Facebook hackathons . [21] Está disponible un marcador "Me gusta" que evita la posibilidad de que se produzca un me gusta en el botón Me gusta de Facebook . [22]
Anidado
El clickjacking anidado, en comparación con el clickjacking clásico, funciona incrustando 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 funciona debido a una vulnerabilidad en el encabezado HTTP X-Frame-Options
, en la que, cuando este elemento tiene el valor SAMEORIGIN
, el navegador web solo verifica las dos capas antes mencionadas. El hecho de que se puedan agregar marcos adicionales entre estos dos sin ser detectados significa que los atacantes pueden usar esto para su beneficio.
En el pasado, con Google+ y la versión defectuosa de X-Frame-Options
, los atacantes podían insertar marcos de 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 y no estar restringidos, lo que permitía a los atacantes engañar a quienquiera que se encontrara con la página de visualización de imágenes. [11]
Cursorjacking
CursorJacking es una técnica de corrección de la interfaz de usuario para cambiar el cursor de la ubicación que percibe el usuario, descubierto en 2010 por Eddy Bordi, un investigador de Vulnerability.fr, [23] Marcus Niemietz demostró esto con un icono de cursor personalizado, y en 2012 Mario Heiderich por ocultando el cursor. [24] [25]
Jordi Chancel, investigador de Alternativ-Testing.fr, descubrió una vulnerabilidad de CursorJacking usando código Flash, HTML y JavaScript en Mozilla Firefox en sistemas Mac OS X (corregido en Firefox 30.0) que puede llevar a la ejecución de código arbitrario y al espionaje de la cámara web. [26]
Jordi Chancel descubrió nuevamente una segunda vulnerabilidad de CursorJacking en Mozilla Firefox en sistemas Mac OS X (corregida en Firefox 37.0) utilizando nuevamente código Flash, HTML y JavaScript que también puede conducir al espionaje a través de una cámara web y la ejecución de un complemento malicioso. permitiendo la ejecución de malware en el ordenador del usuario afectado. [27]
MouseJack
A diferencia de otras técnicas de clickjacking que corrigen una IU, MouseJack es una vulnerabilidad de IU basada en hardware inalámbrico reportada por primera vez por Marc Newlin de Bastille.net en 2016 que permite que la entrada del teclado externo se inyecte en dongles vulnerables. [28] Logitech suministró parches de firmware, pero otros fabricantes no respondieron a esta vulnerabilidad. [29]
Sin navegador
En el secuestro de clics sin navegador, los atacantes utilizan vulnerabilidades en los programas para replicar el secuestro de clics clásico en ellos, sin necesidad de utilizar la presencia de un navegador web.
Este método de clickjacking prevalece principalmente entre los dispositivos móviles, generalmente en dispositivos Android , especialmente debido a la forma en que funcionan las notificaciones de brindis . Debido a que las notificaciones de brindis tienen un pequeño retraso entre el momento en que se solicita la notificación y el momento en que la notificación realmente se muestra en la pantalla, los atacantes pueden usar ese espacio para crear un botón ficticio que se encuentra oculto debajo de la notificación y aún se puede hacer clic en él. . [6]
CookieJacking
CookieJacking es una forma de clickjacking en la que las cookies se roban de los navegadores web de la víctima . Esto se hace engañando al usuario para que arrastre un objeto que aparentemente parece inofensivo, pero de hecho está haciendo que el usuario seleccione todo el contenido de la cookie a la que se dirige. Desde allí, el atacante puede adquirir la cookie y todos los datos que posee. [13] [ aclaración necesaria ]
FileJacking
En fileJacking, los atacantes utilizan la capacidad del navegador web para navegar a través de la computadora y acceder a los archivos de la computadora con el fin de adquirir datos personales. Lo hace 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). Con esto, los atacantes ahora pueden acceder y tomar archivos de las computadoras de sus víctimas. [14]
Ataque del administrador de contraseñas
Un artículo de 2014 de un investigador de la Universidad Carnegie Mellon encontró que, si bien los navegadores se niegan a autocompletar si el protocolo en la página de inicio de sesión actual es diferente del protocolo en el momento en que se guardó la contraseña, algunos administradores de contraseñas completarían de manera insegura las contraseñas para la versión http de contraseñas guardadas en https. La mayoría de los gerentes no se protegieron contra iFrame - y ataques basados en redirecciones y expusieron contraseñas adicionales donde se había utilizado la sincronización de contraseñas entre múltiples dispositivos. [15]
Prevención
Lado del cliente
NoScript
Se puede agregar protección contra clickjacking (incluido likejacking) a las versiones de escritorio y móviles de Mozilla Firefox [30] instalando el complemento NoScript : su función ClearClick, lanzada el 8 de octubre de 2008, evita que los usuarios hagan clic en elementos de página invisibles o "reparados" de documentos o subprogramas incrustados. [31] 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 el secuestro de clics. [32] Se agregó protección contra el ataque de secuestro de cursor más reciente a NoScript 2.2.8 RC1. [24]
NoClickjack
El complemento de navegador web "NoClickjack" ( extensión del navegador ) agrega protección contra clickjack del lado del cliente para los usuarios de Google Chrome , Mozilla Firefox , Opera y Microsoft Edge sin interferir con el funcionamiento de iFrames legítimos. NoClickjack se basa en tecnología desarrollada para GuardedID. El complemento NoClickjack es gratuito.
GuardedID
GuardedID (un producto comercial) incluye protección contra clickjack del lado del cliente para los usuarios de Internet Explorer sin interferir con el funcionamiento de iFrames legítimos. [33] La protección contra clickjack de GuardedID obliga a que todos los fotogramas se vuelvan visibles. Equipos de GuardedID [se necesita aclaración ] 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 investigación de Microsoft basado en IE, que utiliza un modelo de seguridad similar al de un sistema operativo y tiene sus propias defensas limitadas contra el secuestro de clics. [34] En Gazelle, una ventana de origen diferente solo puede dibujar contenido dinámico sobre el espacio de la pantalla de otra ventana si el contenido que dibuja es opaco.
Intersection Observer v2
La API Intersection Observer v2 [35] introduce el concepto de rastrear la "visibilidad" real de un elemento objetivo como lo definiría un ser humano. [36] Esto permite que un widget enmarcado detecte cuándo está siendo cubierto. La función está habilitada de forma predeterminada desde Google Chrome 74, lanzado en abril de 2019. [37] Chrome es el único navegador que implementa la API en este momento.
Lado del servidor
Asesino de cuadros
Los propietarios de sitios web pueden proteger a sus usuarios contra la corrección de la interfaz de usuario (clickjacking basado en marcos) en el lado del servidor al incluir un fragmento de JavaScript de eliminación de marcos en aquellas páginas que no desean que se incluyan dentro de marcos de diferentes fuentes. [32]
Esta protección basada en JavaScript no siempre es confiable. Esto es especialmente cierto en Internet Explorer, [32] donde este tipo de contramedida se puede eludir "por diseño" al incluir la página de destino dentro de un elemento [38]
Opciones de X-Frame
En 2009 se introdujo en Internet Explorer 8 un nuevo encabezado HTTP X-Frame-Options
que ofrecía una protección parcial contra el secuestro de clics [39] [40] y fue adoptado por otros navegadores ( Safari , [41] Firefox , [42] Chrome , [43] y Opera [ 44] ) poco después. El encabezado, cuando lo establece el propietario del sitio web, declara su política de encuadre preferida: los valores de DENY
, o impedirán cualquier encuadre, encuadre de sitios externos, o permitirán enmarcado solo por el sitio especificado, respectivamente. Además de eso, algunos sitios de publicidad devuelven un valor no estándar con la intención de permitir enmarcar su contenido en cualquier página (equivalente a no configurar X-Frame-Options en absoluto).ALLOW-FROM origin
SAMEORIGIN
ALLOWALL
En 2013, el encabezado X-Frame-Options se publicó oficialmente como RFC 7034, [45] pero no es un estándar de Internet. El documento se proporciona únicamente con fines informativos. La Recomendación de Nivel 2 de Política de Seguridad de Contenido del W3C proporciona una directiva de seguridad alternativa, frame-ancestors, que está destinada a hacer obsoleto el encabezado X-Frame-Options. [46]
Un encabezado de seguridad como X-Frame-Options no protegerá a los usuarios contra ataques de clickjacking que no estén usando un marco. [47]
Política de seguridad de contenido
La frame-ancestors
directiva de la Política de seguridad de contenido (introducida en la versión 1.1) puede permitir o no permitir la incrustación de contenido por páginas potencialmente hostiles usando iframe, objeto, etc. Esta directiva deja obsoleta la directiva X-Frame-Options. Si una página se sirve con ambos encabezados, el navegador debe preferir la política de marco-ancestros. [48], aunque algunos navegadores populares desobedecen este requisito. [49]
Ejemplo de políticas de marco-ancestros:
# No permitir 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: frame-ancestors 'none'
# Permitir la incrustación de contenido propio únicamente.Política de seguridad de contenido: frame-ancestors 'self'
# Permitir que orígenes específicos incrusten este contenidoPolítica de seguridad de contenido: frame-ancestors www.example.com www.wikipedia.org
Ver también
- Trampa para ratones
- Seguridad del navegador
- Haga clic en fraude
- Secuencias de comandos entre sitios
- seguridad de Internet
- Seguridad de Internet
- Publicidad maliciosa
- Suplantación de identidad
- Hacker de seguridad
- Jack social
Referencias
- ^ Robert McMillan (17 de septiembre de 2008). "A petición de Adobe, los piratas informáticos no hablan de 'clickjacking'" . Mundo PC. Archivado desde el original el 17 de julio de 2015 . Consultado el 8 de octubre de 2008 .
- ^ Megha Dhawan (29 de septiembre de 2008). "Cuidado, clickjackers al acecho" . India Times . Consultado el 8 de octubre de 2008 .
- ^ Dan Goodin (7 de octubre de 2008). "Net game convierte a la PC en un zombi de vigilancia encubierto" . El registro . Consultado el 8 de octubre de 2008 .
- ^ Fredrick Lane (8 de octubre de 2008). "Los internautas se enfrentan a una nueva amenaza peligrosa: 'Clickjacking ' " . newsfactor.com. Archivado desde el original el 13 de octubre de 2008 . Consultado el 8 de octubre de 2008 .
- ^ ¡ El ayudante confuso vuelve a montar! , Tyler Close, octubre de 2008
- ^ a b c d e f g h yo j k Niemietz, Marcus (2012). "Ataques de reparación de la interfaz de usuario en dispositivos Android" (PDF) . Sombrero negro .
- ^ No conoce (haga clic en) 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 .
- ^ "El gusano 'Me gusta' de clickjacking viral golpea a los usuarios de Facebook" . Seguridad desnuda . 31 de mayo de 2010 . Consultado el 23 de octubre de 2018 .
- ^ "Gusano de Facebook -" Likejacking " " . Seguridad desnuda . 31 de mayo de 2010 . Consultado el 23 de octubre de 2018 .
- ^ a b Lekies, Sebastián (2012). "Sobre la fragilidad y las limitaciones de los esquemas actuales de protección contra el secuestro de clics proporcionados por el navegador" (PDF) . USENIX .
- ^ "Hacks de ratón inalámbrico y protección de seguridad de red" . MOUSEJACK . Consultado el 3 de enero de 2020 .
- ^ a b Valotta, Rosario (2011). "Cookiejacking" . tentacoloViola - sites.google.com . Consultado el 23 de octubre de 2018 .
- ^ a b "Filejacking: Cómo hacer un servidor de archivos desde tu navegador (con HTML5 por supuesto)" . blog.kotowicz.net . Consultado el 23 de octubre de 2018 .
- ^ a b "Gestores de contraseñas: ataques y defensas" (PDF) . Consultado el 26 de julio de 2015 .
- ^ "El Clickjacking se encuentra con XSS: un estado de arte" . Explotar DB. 26 de diciembre de 2008 . Consultado el 31 de marzo de 2015 .
- ^ Krzysztof Kotowicz. "Explotación del XSS inexplorable con clickjacking" . Consultado el 31 de marzo de 2015 .
- ^ Cohen, Richard (31 de mayo de 2010). "Trabajo de Facebook -" Likejacking " " . Sophos . Archivado desde el 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 enciende" . jqueryin.com. Archivado desde el original el 5 de junio de 2010 . Consultado el 8 de junio de 2010 .
- ^ Pérez, Sarah (2 de junio de 2010). "El " Likejacking " despega en Facebook" . ReadWriteWeb. Archivado desde el original el 16 de agosto de 2011 . Consultado el 5 de junio de 2010 .
- ^ Kushner, David (junio de 2011). "Filosofía de Facebook: moverse rápido y romper cosas" . espectro.ieee.org . Consultado el 15 de julio de 2011 .
- ^ Pérez, Sarah (23 de abril de 2010). "Cómo" Me gusta "cualquier cosa en la Web (de forma segura)" . ReadWriteWeb . Consultado el 24 de agosto de 2011 .
- ^ Podlipensky, Paul. "Cursor Spoofing y Cursorjacking" . Podlipensky.com . Paul Podlipensky. Archivado desde el original el 22 de noviembre de 2017 . Consultado el 22 de noviembre de 2017 .
- ^ a b Krzysztof Kotowicz (18 de enero de 2012). "Cursorjacking Again" . Consultado el 31 de enero de 2012 .
- ^ Seguridad de aspecto. "El ataque de secuestro de cursor podría resultar en violaciones de seguridad de la aplicación" . Consultado el 31 de enero de 2012 .
- ^ "Aviso de seguridad de la Fundación Mozilla 2014-50" . Mozilla . Consultado el 17 de agosto de 2014 .
- ^ "Aviso de seguridad de la Fundación Mozilla 2015-35" . Mozilla . Consultado el 25 de octubre de 2015 .
- ^ "¿Qué es MouseJack?" . Bastille . Consultado el 3 de enero de 2020 .
- ^ "CERT VU # 981271 Múltiples dispositivos inalámbricos de teclado / mouse utilizan un protocolo inalámbrico propietario inseguro" . www.kb.cert.org . Consultado el 3 de enero de 2020 .
- ^ Giorgio Maone (24 de junio de 2011). "NoScript en cualquier lugar" . hackademix.net . Consultado el 30 de junio de 2011 .
- ^ Giorgio Maone (8 de octubre de 2008). "Hola ClearClick, adiós Clickjacking" . hackademix.net . Consultado el 27 de octubre de 2008 .
- ^ a b c Michal Zalevski (10 de diciembre de 2008). "Manual de seguridad del navegador, parte 2, reparación de la interfaz de usuario" . Google Inc . Consultado el 27 de octubre de 2008 .
- ^ Robert Hansen (4 de febrero de 2009). "Laboratorio de seguridad de aplicaciones web Clickjacking y GuardedID ha.ckers.org" . Archivado desde el original el 11 de julio de 2012 . Consultado el 30 de noviembre de 2011 .
- ^ Wang, Helen J .; Grier, Chris; Moschchuk, Alexander; King, Samuel T .; Choudhury, Piali; Venter, Herman (agosto de 2009). "La construcción del sistema operativo principal múltiple 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). "Hola IE8, puedo tener alguna protección contra el secuestro de clics" . hackademix.net . Consultado el 27 de octubre de 2008 .
- ^ Eric Lawrence (27 de enero de 2009). "IE8 Security Part VII: ClickJacking Defenses" . Consultado el 30 de diciembre de 2010 .
- ^ Eric Lawrence (30 de marzo de 2010). "Combatiendo el ClickJacking con X-Frame-Options" . Consultado el 30 de diciembre de 2010 .
- ^ Ryan Naraine (8 de junio de 2009). "Parche jumbo de Apple Safari: más de 50 vulnerabilidades corregidas" . Consultado el 10 de junio de 2009 .
- ^ https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header El encabezado de respuesta X-Frame-Options - MDC
- ^ Adam Barth (26 de enero de 2010). "Seguridad en profundidad: nuevas funciones de seguridad" . Consultado el 26 de enero de 2010 .
- ^ "Soporte de especificaciones web en Opera Presto 2.6" . 12 de octubre de 2010. Archivado desde el original el 14 de enero de 2012 . Consultado el 22 de enero de 2012 .
- ^ "Opciones de marco X de campo de encabezado HTTP" . IETF. 2013.
- ^ "Nivel de política de seguridad de contenido 2" . W3C. 2016.
- ^ "Blog de lcamtuf: X-Frame-Options, o resolviendo el problema equivocado" .
- ^ "Nivel de política de seguridad de contenido 2" . w3.org . 2 de julio de 2014 . Consultado el 29 de enero de 2015 .
- ^ "Hoja de trucos de defensa contra el secuestro de clics" . Consultado el 15 de enero de 2016 .