Cuidado con la identificación de redes sociales

Es difícil resistirse a hacer clic en un enlace de oferta de iPhone gratis. Pero tenga cuidado: su clic puede ser secuestrado fácilmente y los resultados pueden ser desastrosos.

El secuestro de clics es un método de ataque, también conocido como reparación de la interfaz de usuario, porque se configura disfrazando (o reparando) un enlace con una superposición que engaña al usuario para que haga algo diferente de lo que piensa.

La mayoría de los usuarios de las redes sociales disfrutan de la comodidad de permanecer conectados a ellas en todo momento. Los atacantes podrían aprovechar fácilmente este hábito para obligar a los usuarios a que les guste o sigan algo sin darse cuenta. Para ello, un ciberdelincuente podría poner un botón tentador –por ejemplo, con un texto atractivo, como “iPhone gratis – oferta por tiempo limitado”– en su propia página web y superponer un marco invisible con la página de la red social en él, de tal una forma en que un botón «Me gusta» o «Compartir» se encuentra sobre el botón de iPhone gratis.

Este simple truco de secuestro de clics puede obligar a los usuarios de Facebook a dar me gusta a grupos o páginas de fans sin saberlo.

El escenario descrito es bastante inocente, en el sentido de que la única consecuencia para la víctima es ser agregada a un grupo de la red social. Pero con un poco de esfuerzo adicional, la misma técnica podría usarse para determinar si un usuario ha iniciado sesión en su cuenta bancaria y, en lugar de indicar que le gusta o compartir algún elemento de las redes sociales, podría verse obligado a hacer clic en un botón que transfiere fondos a la cuenta de un atacante, por ejemplo. La peor parte es que la acción maliciosa no se puede rastrear, porque el usuario estaba conectado legítimamente a su cuenta bancaria y voluntariamente hizo clic en el botón de transferencia.

Debido a que la mayoría de las técnicas de secuestro de clics requieren ingeniería social, las redes sociales se convierten en vectores de ataque ideales.

Veamos cómo se usan.

Clickjacking en Twitter

Hace unos diez años, la red social Twitter sufrió un ataque masivo que difundió rápidamente un mensaje, lo que llevó a los usuarios a hacer clic en un enlace, aprovechando su curiosidad natural.

Los tuits con el texto “No hagas clic”, seguidos de un enlace, se propagaron rápidamente a través de miles de cuentas de Twitter. Cuando los usuarios hicieron clic en el enlace y luego en un botón aparentemente inocente en la página de destino, se envió un tweet desde sus cuentas. Ese tweet incluía el texto «No hagas clic», seguido del enlace malicioso.

Los ingenieros de Twitter corrigieron el ataque de secuestro de clics poco después de que comenzara. El ataque en sí demostró ser inofensivo y funcionó como una alarma que indicaba los riesgos potenciales involucrados en las iniciativas de secuestro de clics de Twitter. El enlace malicioso llevaba al usuario a una página web con un iframe oculto. Dentro del marco había un botón invisible que enviaba el tuit malicioso desde la cuenta de la víctima.

Clickjacking en Facebook

Los usuarios de la aplicación móvil de Facebook están expuestos a un error que permite a los spammers publicar contenido en el que se puede hacer clic en sus líneas de tiempo, sin su consentimiento. El error fue descubierto por un profesional de seguridad que estaba analizando una campaña de spam. El experto observó que muchos de sus contactos publicaban un enlace a una página con imágenes divertidas. Antes de llegar a las imágenes, se les pidió a los usuarios que hicieran clic en una declaración de mayoría de edad.

Lo que no sabían era que la declaración estaba bajo un marco invisible.

Cuando los usuarios aceptaron la declaración, fueron llevados a una página con imágenes divertidas. Pero mientras tanto, el enlace se publicó en la línea de tiempo de Facebook de los usuarios. Eso fue posible porque el componente del navegador web en la aplicación de Facebook para Android no es compatible con los encabezados de opciones de marco (a continuación explicamos cuáles son) y, por lo tanto, permite la superposición de marcos maliciosos.

Facebook no reconoce el problema como un error porque no tiene impacto en la integridad de las cuentas de los usuarios. Por lo tanto, no se sabe si alguna vez se arreglará.

Clickjacking en redes sociales menores

No se trata sólo de Twitter y Facebook. Otras redes sociales y plataformas de blogs menos populares también tienen vulnerabilidades que permiten el secuestro de clics. LinkedIn, por ejemplo, tenía una falla que abría una puerta para que los atacantes engañaran a los usuarios para que compartieran y publicaran enlaces en su nombre pero sin su consentimiento. Antes de que se solucionara, la falla permitía a los atacantes cargar la página ShareArticle de LinkedIn en un marco oculto y superponer este marco en páginas con enlaces o botones aparentemente inocentes y atractivos.

Otro caso es Tumblr, la plataforma pública de blogs web. Este sitio utiliza código JavaScript para evitar el secuestro de clics. Pero este método de protección se vuelve ineficaz ya que las páginas pueden aislarse en un marco HTML5 que les impide ejecutar código JavaScript. Se podría usar una técnica cuidadosamente diseñada para robar contraseñas, combinando la falla mencionada con un complemento de navegador de ayuda para contraseñas: al engañar a los usuarios para que escriban un texto de captcha falso, pueden estar enviando inadvertidamente sus contraseñas al sitio del atacante.

Falsificación de solicitud entre sitios

Una variante del ataque de secuestro de clics se denomina falsificación de solicitud entre sitios, o CSRF para abreviar. Con la ayuda de la ingeniería social, los ciberdelincuentes dirigen ataques CSRF contra los usuarios finales, obligándolos a ejecutar acciones no deseadas. El vector de ataque puede ser un enlace enviado por correo electrónico o chat.

Los ataques CSRF no pretenden robar los datos del usuario porque el atacante no puede ver la respuesta a la solicitud falsa. En cambio, los ataques se dirigen a solicitudes de cambio de estado, como un cambio de contraseña o una transferencia de fondos. Si la víctima tiene privilegios administrativos, el ataque tiene el potencial de comprometer una aplicación web completa.

Un ataque CSRF puede almacenarse en sitios web vulnerables, en particular sitios web con los llamados «defectos CSRF almacenados». Esto se puede lograr ingresando etiquetas IMG o IFRAME en los campos de entrada que luego se muestran en una página, como comentarios o una página de resultados de búsqueda.

Prevención de ataques de encuadre

A los navegadores modernos se les puede decir si un recurso en particular puede o no cargarse dentro de un marco. También pueden optar por cargar un recurso en un marco solo cuando la solicitud se origina en el mismo sitio en el que se encuentra el usuario. De esta forma, no se puede engañar a los usuarios para que hagan clic en marcos invisibles con contenido de otros sitios, y sus clics no son secuestrados.

Las técnicas de mitigación del lado del cliente se denominan destrucción de marcos o eliminación de marcos. Aunque pueden ser efectivos en algunos casos, también pueden pasarse por alto fácilmente. Es por eso que los métodos del lado del cliente no se consideran mejores prácticas. En lugar de romper marcos, los expertos en seguridad recomiendan métodos del lado del servidor como X-Frame-Options (XFO) o más recientes, como la Política de seguridad de contenido.

X-Frame-Options es un encabezado de respuesta que los servidores web incluyen en las páginas web para indicar si un navegador puede o no mostrar su contenido dentro de un marco.

El encabezado X-Frame-Option permite tres valores.

  • DENY, que prohíbe mostrar la página dentro de un marco
  • SAMEORIGIN, que permite mostrar la página dentro de un marco, siempre que permanezca en el mismo dominio
  • ALLOW-FROM URI, que permite la visualización de la página dentro de un marco, pero solo en un URI (identificador uniforme de recursos) especificado, por ejemplo, solo dentro de una página web específica en particular.

Los métodos más recientes contra el secuestro de clics incluyen la Política de seguridad de contenido (CSP) con la directiva frame-ancestors. Esta opción está siendo muy utilizada en sustitución de XFO. Una ventaja importante de CSP en comparación con XFO es que permite que un servidor web autorice múltiples dominios para enmarcar su contenido. Sin embargo, aún no es compatible con todos los navegadores.

La directiva frame-ancestors de CSP admite tres tipos de valores: ‘ninguno’, para evitar que ningún dominio muestre el contenido; ‘self’, para permitir que el sitio actual solo muestre el contenido en un marco, o una lista de URL con comodines, como ‘*.some site.com’, ‘https://www.ejemplo.com/index.html,’ etc., para permitir solo el encuadre en cualquier página que coincida con un elemento de la lista.

Cómo protegerse contra el clickjacking

Es conveniente permanecer conectado a una red social mientras navega, pero si lo hace, debe tener cuidado con sus clics. También debe prestar atención a los sitios que visita porque no todos toman las medidas necesarias para evitar el secuestro de clics. En caso de que no esté seguro acerca de un sitio web que está visitando, no debe hacer clic en ningún clic sospechoso, sin importar cuán tentador pueda ser.

Otra cosa a la que debe prestar atención es la versión de su navegador. Incluso si un sitio usa todos los encabezados de prevención de secuestro de clics que mencionamos anteriormente, no todos los navegadores los admiten todos, así que asegúrese de usar la última versión que pueda obtener y que sea compatible con las funciones contra el secuestro de clics.

El sentido común es un dispositivo de autoprotección eficaz contra el clickjacking. Cuando vea contenido inusual, incluido un enlace publicado por un amigo en cualquier red social, antes de hacer nada, debe preguntarse si ese es el tipo de contenido que publicaría su amigo. De lo contrario, debe advertir a su amigo que él o ella podría haber sido víctima de clickjacking.

Un último consejo: si eres influencer, o simplemente tienes un gran número de seguidores o amigos en alguna red social, debes redoblar tus precauciones y tener un comportamiento responsable en las redes. Porque si te conviertes en víctima de clickjacking, el ataque terminará afectando a mucha gente.