¿Cómo protegerse contra el clickjacking a través de ventanas emergentes?

2

Huang and Jackson describe un método de un lugar de trabajo en el lugar. pero en las ventanas de pop-under. ¿Este ataque sigue siendo relevante hoy, o es prevenido por los bloqueadores de elementos emergentes? ¿Hay alguna forma en que un sitio pueda protegerse contra él?

El ataque funciona así: se abre una ventana detrás de la ventana actual y se le pide al usuario que haga doble clic. El primer clic trae el pop-under al frente, y el segundo clic realiza alguna interacción que el usuario no pretende.

Paso 1: se le pide al usuario que haga doble clic en el botón:

Paso2:despuésdeunclic,secolocaunaventanasobrelapáginaparaqueelclicdelbotónseamanejadoporotrapágina:

¿Esto es todavía posible con los navegadores de hoy? ¿Hay algo que un usuario o un sitio pueda hacer para evitar esto?

    
pregunta Sjoerd 08.07.2016 - 11:53
fuente

2 respuestas

1

Utilizo el complemento Tab Mix Plus en Firefox y lo configuro para convertir todas las ventanas emergentes / nuevas en pestañas. Esto también evita que Javascript traiga pestañas al primer plano / fondo.

También puede configurarlo para no permitir que los scripts cambien el tamaño y la posición de la ventana, por lo que la colocación precisa es imposible.

Puede existir un complemento similar para otros navegadores.

    
respondido por el billc.cn 08.07.2016 - 17:26
fuente
0

Los navegadores generalmente incluyen protección contra el clicking jacking para sus ventanas emergentes internas . Por ejemplo, para evitar que abra accidentalmente un archivo descargado sin darse cuenta de lo que está haciendo.

Sin embargo, en el escenario que usted describe, la responsabilidad de la protección está en el sitio donde se encuentra el botón Permitir acceso. (en este caso, Google) No hay una solución 100% a prueba de usuario de fool . Entonces, desafortunadamente, parte de esto tiene que ser una iniciativa general contra el phishing. (Google intenta crear una base de datos de sitios maliciosos, pero este es un sistema reaccionario).

La forma más simple de hacer click-jacking es, por supuesto, la página navegación , o una ventana emergente lisa activada por el primero de los dos clics. Los bloqueadores de elementos emergentes no surten efecto cuando el elemento emergente se activa directamente con un clic del usuario y, por supuesto, los bloqueadores de elementos emergentes no detienen la navegación simple.

  

¿Hay alguna forma en que un sitio pueda protegerse contra él?

  1. ¿Google incluye un tiempo mínimo antes de que el botón de aprobación comience a funcionar?

  2. Sucede que la página en Google podría no cargarse lo suficientemente rápido para detectar el segundo clic.

La técnica pop-under es una forma inteligente de asegurarse de que la página se haya cargado antes de tiempo.

  1. Haz que el usuario haga clic en algo.
  2. Abre la página Permitir, e inmediatamente llama a self.focus() trayendo el sitio malicioso al frente.
  3. En el primer clic, popup.focus() para ponerlo al frente, de modo que el segundo clic toque Permitir.

Ese es el escenario que describiste, pero en realidad no funciona (afortunadamente) debido a la Política del mismo origen, lo que evita que el sitio malicioso llame a .focus() si la ventana emergente está en un sitio diferente.

Desafortunadamente , lo siguiente funcionaría

  1. Haz que el usuario haga clic en algo.
  2. Muestra un 'popup malicioso'.
  3. Haz que el usuario haga clic en otra cosa.
  4. Abre la página Permitir, e inmediatamente llama a self.focus() trayendo 'popup malicioso' al frente.
  5. En el primer clic, self.close() para deshacerse de la "ventana emergente maliciosa", y luego el segundo clic presionará Permitir.
  

¿Hay alguna forma en que un sitio pueda protegerse contra él?

  1. Una cosa realmente fácil es verificar history.length == 1 , y si ese es el caso, Google sabe que se abrió a través de una ventana emergente. Esto no es una mitigación integral.

  2. Google puede usar la API de visibilidad y / o los eventos self.onfocus y self.onblur para requerir un tiempo mínimo antes de que el clic entre en vigencia. Creo que esto puede ser una protección integral. Pero está sujeto a la compatibilidad del navegador.

Puedo imaginar un escenario más complejo en el que el logotipo de Google está oculto por otras ventanas emergentes, lo que engaña al usuario.

  

¿Hay algo que un usuario ... pueda hacer para evitar esto?

Asegúrese de no hacer doble clic en un sitio en el que no confíe. De hecho, manténgase alejado de cualquier sitio sospechoso. ☺

    
respondido por el George Bailey 08.07.2016 - 15:12
fuente

Lea otras preguntas en las etiquetas