stringtranslate.com

Secuestro de clics

En un ataque de clickjacking, al usuario se le presenta una interfaz falsa, donde su entrada se aplica a algo que no puede ver.

El clickjacking (clasificado como un ataque de reparación de la interfaz de usuario o UI redressing ) es una técnica maliciosa que consiste en engañar 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 hacen clic en objetos aparentemente inocuos, incluidas páginas web . [1] [2] [3] [4] [5]

El clickjacking es un ejemplo del problema del proxy confuso , 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 la capa transparente sin que el usuario se diera cuenta. [7] Sin embargo, las soluciones recién comenzaron a aparecer 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 un secuestro de clics, 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 "secuestro de clics", [9] [10] una combinación de las palabras "clic" y "secuestro". [7]

A medida que se descubrieron más ataques de naturaleza similar, se cambió el enfoque del término "reparación de UI" 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 al atacante manipular la computadora del usuario para su propio beneficio.

Por ejemplo, una página víctima de un secuestro de clics engaña al usuario para que realice acciones no deseadas haciendo clic en enlaces ocultos. En una página víctima de un secuestro de clics, 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 esperados por el usuario. Los usuarios desprevenidos piensan que están haciendo clic en botones visibles, mientras que en realidad están realizando acciones en la página invisible, haciendo clic en botones de la página que se encuentra debajo de la capa. La 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 tuvieron intención de realizar. No hay forma de rastrear dichas acciones hasta los atacantes más tarde, ya que los usuarios se habrían autenticado genuinamente en la página oculta.

Categorías de secuestro de clics

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 resulta en engañar al usuario sobre lo que realmente se está haciendo clic. [18]

Un usuario puede recibir un correo electrónico con un enlace a un vídeo sobre una noticia, pero otra página web, por ejemplo, una página de producto en Amazon , puede estar "oculta" encima o debajo del botón "REPRODUCIR" del vídeo de la noticia. El usuario intenta "reproducir" el vídeo, pero en realidad "compra" el producto en Amazon. El hacker solo puede enviar un único clic, por lo que se basa en el hecho de que el visitante ha iniciado sesión en Amazon y tiene habilitado el pedido con un solo clic.

Si bien la implementación técnica de estos ataques puede ser complicada debido a incompatibilidades entre navegadores, una serie de 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 –o puede facilitar– otros ataques web, como XSS . [19] [20]

Me gusta robar

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 o cuentas de redes sociales que no tenían intención de darles "Me gusta". [21] El término "likejacking" proviene 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 explican la posibilidad de una actividad maliciosa con respecto al botón "Me gusta" de Facebook. [23]

Según un artículo en IEEE Spectrum , en uno de los hackatones de Facebook se desarrolló una solución al likejacking . [24] Hay disponible un bookmarklet "Me gusta" que evita la posibilidad de likejacking presente en el botón "Me gusta" de Facebook . [25]

Anidado

El clickjacking anidado, a diferencia del clickjacking clásico, funciona incrustando un web frame malicioso entre dos frames 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 la cabecera HTTP X-Frame-Options, en la que, cuando este elemento tiene el valor SAMEORIGIN, el navegador web solo revisa las dos capas mencionadas anteriormente. El hecho de que se puedan añadir frames adicionales entre estos dos sin ser detectados significa que los atacantes pueden utilizar esto en 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 los atacantes podían cargarse y no estar restringidos, lo que les permitía engañar a quienquiera que llegara a la página de visualización de imágenes. [13]

Secuestro del cursor

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, descubierta en 2010 por Eddy Bordi, un investigador de vulnerabilidad.fr. [26] Marcus Niemietz demostró esto 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 al utilizar código Flash, HTML y JavaScript en Mozilla Firefox en sistemas Mac OS X (corregido en Firefox 30.0) que puede provocar la ejecución de código arbitrario y el espionaje de cámaras web. [28]

Una segunda vulnerabilidad de CursorJacking fue descubierta nuevamente por Jordi Chancel en Mozilla Firefox en sistemas Mac OS X (corregido en Firefox 37.0) utilizando nuevamente código Flash , HTML y JavaScript que también puede llevar 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 equipo del usuario afectado. [29]

Ratón Jack

A diferencia de otras técnicas de clickjacking que reparan una 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 que la entrada de teclado externo se inyecte en dispositivos 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 utilizan vulnerabilidades en los programas para replicar el clickjacking clásico en ellos, sin necesidad de utilizar la presencia de un navegador web.

Este método de clickjacking es predominantemente entre los dispositivos móviles, generalmente en los dispositivos Android , especialmente debido a la forma en que funcionan las notificaciones . Debido a que las notificaciones 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 en el que aún se puede hacer clic. [7]

Robo de cookies

CookieJacking es una forma de clickjacking en la que se roban cookies de los navegadores web de la víctima . Esto se hace engañando al usuario para que arrastre un objeto que parece inofensivo pero que, de hecho, hace que el usuario seleccione todo el contenido de la cookie que se está atacando. A partir de ahí, el atacante puede adquirir la cookie y todos los datos que posee. [15] [ aclaración necesaria ]

Robo de archivos

En el caso del fileJacking, los atacantes utilizan la capacidad del navegador web para navegar por el ordenador y acceder a los archivos del mismo con el fin de adquirir datos personales. Para ello, engañan 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 pueden acceder y tomar archivos de los ordenadores de sus víctimas. [16]

Ataque al administrador de contraseñas

Un artículo de 2014 de un investigador de la Universidad Carnegie Mellon descubrió que, si bien los navegadores se niegan a completar automáticamente las contraseñas si el protocolo de la página de inicio de sesión actual es diferente del protocolo vigente en el momento en que se guardó la contraseña, algunos administradores de contraseñas completan de manera insegura las contraseñas de la versión http de las contraseñas guardadas en https. La mayoría de los administradores no protegían contra ataques basados ​​en iFrame y redireccionamiento y exponían contraseñas adicionales en los casos en que se había utilizado la sincronización de contraseñas entre varios dispositivos. [17]

Prevención

Del lado del cliente

Sin script

Se puede añadir protección contra el clickjacking (incluido el likejacking) 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 "reparados" 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 el clickjacking. [34] La protección contra el nuevo ataque de cursorjacking se añadió a NoScript 2.2.8 RC1. [27]

Sin secuestro de clics

El complemento para navegadores web "NoClickjack" ( extensión para navegadores ) agrega protección contra clickjack del lado del cliente para 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.

ID protegido

GuardedID (un producto comercial) incluye protección contra clickjack del lado del cliente para usuarios de Internet Explorer sin interferir con el funcionamiento de iFrames legítimos. [35] La protección contra clickjack de GuardedID obliga a que todos los marcos se vuelvan visibles. GuardedID trabaja [ aclaración necesaria ] 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 Microsoft Research basado en IE, que utiliza un modelo de seguridad similar al del 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 seguimiento de la "visibilidad" real de un elemento objetivo tal como lo definiría un ser humano. [38] 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. [39] La API también está implementada por otros navegadores basados ​​en Chromium , como Microsoft Edge y Opera.

Del lado del servidor

Asesino de cuadros

Los propietarios de sitios web pueden proteger a sus usuarios contra el redireccionamiento de la interfaz de usuario (clickjacking basado en marcos) en el lado del servidor al incluir 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, sobre todo en Internet Explorer [34], donde este tipo de contramedidas se pueden eludir "por diseño" incluyendo la página de destino dentro de un elemento [40] .<IFRAME SECURITY=restricted>

Opciones de X-Frame

En 2009, se introdujo en Internet Explorer 8 un nuevo encabezado HTTP X-Frame-Optionsque ofrecía una protección parcial contra el 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 encuadre preferida: los valores de DENY, , o evitarán cualquier encuadre, encuadre por parte de sitios externos o permitirán el encuadre solo por parte del 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 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 Política de Seguridad de Contenido de Nivel 2 del W3C proporciona una directiva de seguridad alternativa, frame-ancestors, que tiene como objetivo dejar obsoleto 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 contenidos

La frame-ancestorsdirectiva Content Security Policy (introducida en la versión 1.1) puede permitir o no la incrustación de contenido por parte de páginas potencialmente hostiles que utilicen iframes, objetos, etc. Esta directiva deja obsoleta la directiva X-Frame-Options. Si una página se sirve con ambos encabezados, el navegador debería preferir la política frame-ancestors. [50] —aunque algunos navegadores populares desobedecen este requisito. [51]

Ejemplos de políticas de antecesores de marco:

# 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: antecesores del marco 'ninguno'
# Permitir únicamente la incrustación de contenido propio .Política de seguridad de contenido: antecesores del marco 'self'
# Permitir que orígenes específicos incorporen este contenidoPolítica de seguridad de contenido: antecesores del marco www.example.com www.wikipedia.org

Véase también

Referencias

  1. ^ Robert McMillan (17 de septiembre de 2008). "A petición de Adobe, los hackers dejan de hablar de 'clickjacking'". PC World. Archivado desde el original el 17 de julio de 2015. Consultado el 8 de octubre de 2008 .
  2. ^ Megha Dhawan (29 de septiembre de 2008). "Cuidado, los secuestradores de clics están al acecho". The Times of India . Archivado desde el original el 24 de julio de 2009. Consultado el 8 de octubre de 2008 .
  3. ^ Dan Goodin (7 de octubre de 2008). «Net game becomes PC into undercover surveillance zombie» (Un juego en red convierte a la PC en un zombi vigilante encubierto). The Register . Consultado el 8 de octubre de 2008 .
  4. ^ Fredrick Lane (8 de octubre de 2008). «Los internautas se enfrentan a una nueva y peligrosa amenaza: el 'clickjacking'». newsfactor.com. Archivado desde el original el 13 de octubre de 2008. Consultado el 8 de octubre de 2008 .
  5. ^ Shahriar, Hossain; Devendran, Vamshee Krishna (4 de julio de 2014). "Clasificación de ataques de clickjacking y técnicas de detección". Revista de seguridad de la información: una perspectiva global . 23 (4–6): 137–147. doi :10.1080/19393555.2014.931489. ISSN  1939-3555. S2CID  43912852.
  6. ^ ¡ El diputado confundido cabalga de nuevo!, Tyler Close, octubre de 2008
  7. ^ abcdefghijkl Niemietz, Marcus (2012). "Ataques de reparación de la interfaz de usuario en dispositivos Android" (PDF) . Black Hat .
  8. ^ "162020 - Aparece el cuadro de diálogo XPInstall/security cuando el usuario está a punto de hacer clic (comentario 44)". Rastreador de errores de Mozilla/Firefox .
  9. ^ No conoces a (click)jack Robert Lemos, octubre de 2008
  10. ^ JAstine, Berry. «Número de ayuda de Facebook 1-888-996-3777» . Consultado el 7 de junio de 2016 .
  11. ^ "El gusano viral clickjacking 'Like' ataca a los usuarios de Facebook". Naked Security . 31 de mayo de 2010 . Consultado el 23 de octubre de 2018 .
  12. ^ "Gusano de Facebook – "Likejacking"". Naked Security . 31 de mayo de 2010 . Consultado el 23 de octubre de 2018 .
  13. ^ ab Lekies, Sebastian (2012). "Sobre la fragilidad y las limitaciones de los esquemas de protección contra el clickjacking proporcionados por los navegadores" (PDF) . USENIX .
  14. ^ "Trucos con ratones inalámbricos y protección de seguridad de red". MOUSEJACK . Consultado el 3 de enero de 2020 .
  15. ^ ab Valotta, Rosario (2011). "Cookiejacking". tentacoloViola – sites.google.com . Archivado desde el original el 7 de agosto de 2019 . Consultado el 23 de octubre de 2018 .
  16. ^ ab "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 .
  17. ^ ab "Administradores de contraseñas: ataques y defensas" (PDF) . Consultado el 26 de julio de 2015 .
  18. ^ Sahani, Rishabh; Randhawa, Sukhchandan (1 de diciembre de 2021). "Clickjacking: cuidado con los clics". Comunicaciones personales inalámbricas . 121 (4): 2845–2855. doi :10.1007/s11277-021-08852-y. ISSN  0929-6212. S2CID  239691334.
  19. ^ "El Clickjacking se encuentra con XSS: un estado del arte". Exploit DB. 26 de diciembre de 2008. Consultado el 31 de marzo de 2015 .
  20. ^ Krzysztof Kotowicz. "Explotación de XSS no explotable con clickjacking" . Consultado el 31 de marzo de 2015 .
  21. ^ Cohen, Richard (31 de mayo de 2010). «Facebook Work – «Likejacking»». Sophos . Archivado desde el original el 4 de junio de 2010 . Consultado el 5 de junio de 2010 .
  22. ^ Ballou, Corey (2 de junio de 2010). "El término "Likejacking" se populariza". jqueryin.com. Archivado desde el original el 5 de junio de 2010. Consultado el 8 de junio de 2010 .
  23. ^ 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 .
  24. ^ Kushner, David (junio de 2011). «La filosofía de Facebook: moverse rápido y romper cosas». IEEE . Archivado desde el original el 7 de junio de 2011. Consultado el 15 de julio de 2011 .
  25. ^ Pérez, Sarah (23 de abril de 2010). "Cómo marcar como "Me gusta" cualquier cosa en la Web (de forma segura)". ReadWriteWeb . Consultado el 24 de agosto de 2011 .
  26. ^ Podlipensky, Paul. "Cursor Spoofing and Cursorjacking". Podlipensky.com . Paul Podlipensky. Archivado desde el original el 22 de noviembre de 2017. Consultado el 22 de noviembre de 2017 .
  27. ^ por Krzysztof Kotowicz (18 de enero de 2012). "Cursorjacking Again" (Cursorjacking otra vez) . Consultado el 31 de enero de 2012 .
  28. ^ "Aviso de seguridad de la Fundación Mozilla 2014-50". Mozilla . Consultado el 17 de agosto de 2014 .
  29. ^ "Aviso de seguridad de la Fundación Mozilla 2015-35". Mozilla . Consultado el 25 de octubre de 2015 .
  30. ^ "¿Qué es MouseJack?". Bastille . Consultado el 3 de enero de 2020 .
  31. ^ "CERT VU#981271 Varios dispositivos de teclado y mouse inalámbricos utilizan un protocolo inalámbrico propietario no seguro". kb.cert.org . Consultado el 3 de enero de 2020 .
  32. ^ Giorgio Maone (24 de junio de 2011). "NoScript Anywhere". hackademix.net . Consultado el 30 de junio de 2011 .
  33. ^ Giorgio Maone (8 de octubre de 2008). "Hola ClearClick, adiós al clickjacking". hackademix.net . Consultado el 27 de octubre de 2008 .
  34. ^ abc Michal Zalevski (10 de diciembre de 2008). "Browser Security Handbook, Part 2, UI Redressing". Google Inc. Consultado el 27 de octubre de 2008 .
  35. ^ Robert Hansen (4 de febrero de 2009). «Clickjacking y GuardedID: laboratorio de seguridad de aplicaciones web de ha.ckers.org». Archivado desde el original el 11 de julio de 2012. Consultado el 30 de noviembre de 2011 .
  36. ^ Wang, Helen J.; Grier, Chris; Moschchuk, Alexander; King, Samuel T.; Choudhury, Piali; Venter, Herman (agosto de 2009). "La construcción de sistemas operativos multiprincipales del navegador web Gazelle" (PDF) . 18.º Simposio de seguridad de Usenix, Montreal, Canadá . Consultado el 26 de enero de 2010 .
  37. ^ "Intersection Observer – Borrador del editor del W3C".
  38. ^ "La confianza es buena, la observación es mejor".
  39. ^ "Desanonimización mediante clickjacking en 2019".
  40. ^ Giorgio Maone (27 de octubre de 2008). "Hola IE8, puedo tener protección contra el clickjacking". hackademix.net . Consultado el 27 de octubre de 2008 .
  41. ^ Eric Lawrence (27 de enero de 2009). "IE8 Security Part VII: ClickJacking Defenses" (Seguridad de IE8, parte VII: defensas contra el secuestro de clics) . Consultado el 30 de diciembre de 2010 .
  42. ^ Eric Lawrence (30 de marzo de 2010). "Combatir el secuestro de clics con X-Frame-Options" . Consultado el 30 de diciembre de 2010 .
  43. ^ Ryan Naraine (8 de junio de 2009). «Parche gigante para Safari de Apple: se han corregido más de 50 vulnerabilidades». Archivado desde el original el 12 de junio de 2009. Consultado el 10 de junio de 2009 .
  44. ^ 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
  45. ^ Adam Barth (26 de enero de 2010). «Seguridad en profundidad: nuevas funciones de seguridad» . Consultado el 26 de enero de 2010 .
  46. ^ "Compatibilidad 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 .
  47. ^ "Opciones del marco X del campo de encabezado HTTP". IETF. 2013.
  48. ^ "Política de seguridad de contenido de nivel 2". W3C. 2016.
  49. ^ "Blog de lcamtuf: X-Frame-Options, o cómo resolver el problema equivocado". 10 de diciembre de 2011.
  50. ^ "Política de seguridad de contenido de nivel 2". w3.org . 2 de julio de 2014 . Consultado el 29 de enero de 2015 .
  51. ^ "Hoja de trucos para la defensa contra el secuestro de clics" . Consultado el 15 de enero de 2016 .