Los codificadores conquistan la seguridad: Share & Learn Series - Clickjacking

Publicado el 14 de febrero de 2019
por Jaap Karan Singh
ESTUDIO DE CASO

Los codificadores conquistan la seguridad: Share & Learn Series - Clickjacking

Publicado el 14 de febrero de 2019
por Jaap Karan Singh
Ver recurso
Ver recurso

Susie abre su correo electrónico para escapar de un desagradable informe que debe entregar en dos días. Ve que aparece en su bandeja de entrada un enlace para conseguir un iPad gratis. Después de hacer clic en él, va a un sitio web con un gran banner en el que se lee: "¡Haga clic aquí para obtener su iPad gratis!". Hace clic en el botón, pero parece que no pasa nada. El problema es que sí pasó algo.

Después de navegar de nuevo a su bandeja de entrada, se da cuenta de que todos sus correos electrónicos han sido borrados. Ni siquiera ha pulsado "borrar" en ninguno de ellos. ¿Qué está pasando?

El sitio de correo electrónico fue objeto de clickjacking. El clickjacking engaña a los usuarios para que realicen acciones que no tenían intención de llevar a cabo, y puede dar lugar a graves problemas.

Veamos ahora cómo funciona el clickjacking, por qué es peligroso y qué pueden hacer los desarrolladores como usted para evitarlo:

Entender el clickjacking

El clickjacking, también llamado "ataque de redireccionamiento de la interfaz de usuario", se produce cuando un atacante utiliza varias capas transparentes en una página web para engañar al usuario para que haga clic en un botón o enlace en el que no tiene intención de hacer clic.

¿Alguna vez has tenido un bicho atrapado en tu coche? Vuelan contra la ventanilla tratando furiosamente de salir al exterior. La intención del bicho es volar hacia lo que parecen árboles y aire libre, sin tener en cuenta el cristal que bloquea su camino.

El clickjacking tiene un diseño similar, salvo que el usuario es el bicho y su sitio web es el cristal que bloquea el camino. El usuario ve algo que quiere, como un iPhone gratis. El atacante coloca su sitio web dentro de un marco transparente encima del anuncio del iPhone gratis. Cuando el usuario hace clic en el botón para coger el supuesto premio "gratis", en realidad está haciendo clic en un botón de su sitio, realizando una acción que no tenía prevista.

Por qué el clickjacking es peligroso

¿Qué puede hacer un atacante con el clickjacking? Depende en gran medida de la funcionalidad del sitio web en cuestión.

El atacante podría conseguir que un usuario le diera un "me gusta" o compartiera el sitio del atacante en las redes sociales. Esto puede ser fácil de conseguir, ya que muchas personas permanecen conectadas a sus cuentas de redes sociales por razones de comodidad.

Si su sitio puede colocarse en un marco, una operación sensible puede completarse haciendo clic en un botón, y esto puede actuar como un vector de ataque. Por ejemplo, un usuario hace clic para obtener un iPad gratuito, pero en su lugar cambia la configuración de la cuenta en su sitio para hacerla menos segura. Un ataque de este tipo se produjo contra la página de configuración del plugin de Adobe Flash. Los ajustes podían colocarse en un marco transparente, engañando al usuario para que permitiera el acceso de cualquier animación Flash al micrófono y la cámara. Los atacantes podían entonces grabar a la víctima; una importante invasión de la privacidad.

Un cliente de correo electrónico podría ser enmarcado en un sitio, haciendo que el usuario borre todos los correos electrónicos de su buzón o reenvíe los correos a una dirección de correo electrónico controlada por el atacante.

La conclusión es que el usuario no puede ver lo que hace clic, por lo que se le puede convencer de que haga clic en cualquier cosa. Ya sea una acción social o la descarga de un malware, las posibilidades son enormes.

Cómo vencer el clickjacking

El clickjacking se puede prevenir. La forma recomendada para evitar el clickjacking es definir una política de seguridad de contenidos, o CSP, para su sitio. Utilizando la cabecera de respuesta HTTP "frame ancestors", puede controlar cómo se puede enmarcar su sitio.

  • "frame-ancestors none" - Ningún otro sitio puede enmarcar el suyo. Esta es la configuración recomendada.
  • "frame-ancestors self'- Las páginas de su sitio sólo pueden ser enmarcadas por otras páginas dentro de su sitio.
  • "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>

Actualmente, los principales navegadores no admiten los anclajes de marco CSP. Utilice la cabecera HTTP "X-Frame-Options" como opción alternativa para dichos navegadores.

  • DENEGAR - Nadie puede enmarcar su sitio. Esta es la configuración recomendada
  • SAMEORIGIN - Lo mismo que "self'for CSP". Puedes enmarcar tu propio contenido, pero nadie más puede hacerlo.
  • ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>

No se deje secuestrar por los clics

El clickjacking es un ataque inteligente y engañoso que puede provocar daños a la reputación y pérdidas de ingresos si su producto puede ser manipulado por los atacantes. Consulta nuestros recursos de aprendizaje gratuitos para saber más sobre el clickjacking.

Utilice una política de seguridad de contenidos y la cabecera "X-Frame-Options" para evitar que otros utilicen su sitio de forma maliciosa. No permita que los atacantes manipulen a sus usuarios. No se deje secuestrar por los clics.

Ver recurso
Ver recurso

Autor

Jaap Karan Singh

¿Quieres más?

Sumérjase en nuestras últimas ideas sobre codificación segura en el blog.

Nuestra amplia biblioteca de recursos tiene como objetivo potenciar el enfoque humano de la mejora de la codificación segura.

Ver blog
¿Quieres más?

Obtenga las últimas investigaciones sobre la seguridad impulsada por los desarrolladores

Nuestra amplia biblioteca de recursos está repleta de recursos útiles, desde libros blancos hasta seminarios web, que le ayudarán a iniciarse en la codificación segura orientada a los desarrolladores. Explórela ahora.

Centro de recursos

Los codificadores conquistan la seguridad: Share & Learn Series - Clickjacking

Publicado el 14 de febrero de 2019
Por Jaap Karan Singh

Susie abre su correo electrónico para escapar de un desagradable informe que debe entregar en dos días. Ve que aparece en su bandeja de entrada un enlace para conseguir un iPad gratis. Después de hacer clic en él, va a un sitio web con un gran banner en el que se lee: "¡Haga clic aquí para obtener su iPad gratis!". Hace clic en el botón, pero parece que no pasa nada. El problema es que sí pasó algo.

Después de navegar de nuevo a su bandeja de entrada, se da cuenta de que todos sus correos electrónicos han sido borrados. Ni siquiera ha pulsado "borrar" en ninguno de ellos. ¿Qué está pasando?

El sitio de correo electrónico fue objeto de clickjacking. El clickjacking engaña a los usuarios para que realicen acciones que no tenían intención de llevar a cabo, y puede dar lugar a graves problemas.

Veamos ahora cómo funciona el clickjacking, por qué es peligroso y qué pueden hacer los desarrolladores como usted para evitarlo:

Entender el clickjacking

El clickjacking, también llamado "ataque de redireccionamiento de la interfaz de usuario", se produce cuando un atacante utiliza varias capas transparentes en una página web para engañar al usuario para que haga clic en un botón o enlace en el que no tiene intención de hacer clic.

¿Alguna vez has tenido un bicho atrapado en tu coche? Vuelan contra la ventanilla tratando furiosamente de salir al exterior. La intención del bicho es volar hacia lo que parecen árboles y aire libre, sin tener en cuenta el cristal que bloquea su camino.

El clickjacking tiene un diseño similar, salvo que el usuario es el bicho y su sitio web es el cristal que bloquea el camino. El usuario ve algo que quiere, como un iPhone gratis. El atacante coloca su sitio web dentro de un marco transparente encima del anuncio del iPhone gratis. Cuando el usuario hace clic en el botón para coger el supuesto premio "gratis", en realidad está haciendo clic en un botón de su sitio, realizando una acción que no tenía prevista.

Por qué el clickjacking es peligroso

¿Qué puede hacer un atacante con el clickjacking? Depende en gran medida de la funcionalidad del sitio web en cuestión.

El atacante podría conseguir que un usuario le diera un "me gusta" o compartiera el sitio del atacante en las redes sociales. Esto puede ser fácil de conseguir, ya que muchas personas permanecen conectadas a sus cuentas de redes sociales por razones de comodidad.

Si su sitio puede colocarse en un marco, una operación sensible puede completarse haciendo clic en un botón, y esto puede actuar como un vector de ataque. Por ejemplo, un usuario hace clic para obtener un iPad gratuito, pero en su lugar cambia la configuración de la cuenta en su sitio para hacerla menos segura. Un ataque de este tipo se produjo contra la página de configuración del plugin de Adobe Flash. Los ajustes podían colocarse en un marco transparente, engañando al usuario para que permitiera el acceso de cualquier animación Flash al micrófono y la cámara. Los atacantes podían entonces grabar a la víctima; una importante invasión de la privacidad.

Un cliente de correo electrónico podría ser enmarcado en un sitio, haciendo que el usuario borre todos los correos electrónicos de su buzón o reenvíe los correos a una dirección de correo electrónico controlada por el atacante.

La conclusión es que el usuario no puede ver lo que hace clic, por lo que se le puede convencer de que haga clic en cualquier cosa. Ya sea una acción social o la descarga de un malware, las posibilidades son enormes.

Cómo vencer el clickjacking

El clickjacking se puede prevenir. La forma recomendada para evitar el clickjacking es definir una política de seguridad de contenidos, o CSP, para su sitio. Utilizando la cabecera de respuesta HTTP "frame ancestors", puede controlar cómo se puede enmarcar su sitio.

  • "frame-ancestors none" - Ningún otro sitio puede enmarcar el suyo. Esta es la configuración recomendada.
  • "frame-ancestors self'- Las páginas de su sitio sólo pueden ser enmarcadas por otras páginas dentro de su sitio.
  • "frame-ancestors self <uri list=""> - Your site can be framed by the sites in the URI lists and no others.</uri>

Actualmente, los principales navegadores no admiten los anclajes de marco CSP. Utilice la cabecera HTTP "X-Frame-Options" como opción alternativa para dichos navegadores.

  • DENEGAR - Nadie puede enmarcar su sitio. Esta es la configuración recomendada
  • SAMEORIGIN - Lo mismo que "self'for CSP". Puedes enmarcar tu propio contenido, pero nadie más puede hacerlo.
  • ALLOW-FROM <uri> - Allow the specified URI to frame your content.</uri>

No se deje secuestrar por los clics

El clickjacking es un ataque inteligente y engañoso que puede provocar daños a la reputación y pérdidas de ingresos si su producto puede ser manipulado por los atacantes. Consulta nuestros recursos de aprendizaje gratuitos para saber más sobre el clickjacking.

Utilice una política de seguridad de contenidos y la cabecera "X-Frame-Options" para evitar que otros utilicen su sitio de forma maliciosa. No permita que los atacantes manipulen a sus usuarios. No se deje secuestrar por los clics.

Nos gustaría contar con su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Siempre trataremos sus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
Para enviar el formulario, habilite las cookies "Analytics". Siéntase libre de desactivarlas de nuevo una vez que haya terminado.