La vista previa de enlace es una función con la que las redes sociales y las aplicaciones de mensajería muestran de antemano el contenido de un enlace, y ofrece la comodidad de poder conocer un resumen del destino antes de hacer clic en el enlace. Facebook, X (antes Twitter), LINE, Slack, iMessage y otros servicios tienen la función de vista previa de enlace, y muestran el título, la descripción y la imagen en miniatura obtenidos de las etiquetas meta del Open Graph Protocol (OGP). Sin embargo, esta función, al combinarse con las URLs cortas, puede generar peligros para la seguridad. En una investigación publicada en 2020 por los investigadores de seguridad Talal Haj Bakry y Tommy Mysk, se mostró que varias de las principales aplicaciones de mensajería envían la dirección IP del usuario al servidor del enlace al generar la vista previa. También se señalaron preocupaciones sobre la privacidad. Como las URLs cortas pueden ocultar el destino final mediante una redirección, existe el riesgo de que se usen para la "suplantación de la vista previa", en la que la información que aparece en la vista previa y el destino real son distintos. En este artículo explicamos el mecanismo técnico de las vistas previas de enlaces y organizamos de forma sistemática los riesgos de seguridad relacionados con las URLs cortas y sus medidas.
El proceso de generación de las vistas previas de enlaces se clasifica, a grandes rasgos, en 3 arquitecturas según la plataforma. La primera es el método de "generación en el lado del remitente", en el que el dispositivo de quien envía el mensaje accede al enlace, obtiene la información OGP y envía los datos de la vista previa adjuntos al mensaje. iMessage y Signal usan este método. La segunda es el método de "generación en el lado del servidor", en el que el servidor de la plataforma accede al enlace y obtiene la información OGP. Facebook, X y LinkedIn usan este método. La tercera es el método de "generación en el lado del destinatario", en el que el dispositivo de quien recibe el mensaje accede al enlace. Con este método, la dirección IP del destinatario llega al sitio del enlace, lo que supone un peligro para la privacidad. Cuando interviene una URL corta, la solicitud de generación de la vista previa llega primero al servidor del servicio de URLs cortas y, tras la redirección, se reenvía al destino final del enlace. En este proceso, el servicio de URLs cortas puede registrar el agente de usuario de la solicitud de generación de la vista previa y saber desde qué plataforma se generó la vista previa.
El ataque de suplantación de la vista previa se basa en cambiar de forma dinámica el destino de redirección de una URL corta. Primero, el atacante configura como destino de redirección de la URL corta un sitio web legítimo (por ejemplo, un artículo de un gran sitio de noticias). Cuando la red social o la aplicación de chat genera la vista previa de enlace, se obtiene la información OGP (título, descripción, miniatura) del sitio legítimo y se muestra una vista previa que parece de un sitio legítimo. Después de que la vista previa se haya generado / guardado en caché, el atacante cambia el destino de redirección a un sitio de phishing o a un sitio que distribuye malware. Quien recibe el enlace confía en la información del sitio legítimo que aparece en la vista previa y hace clic, pero en realidad acaba en un sitio malicioso. En el phishing, a veces se abusa de las URLs cortas, que permiten ocultar el destino del enlace. En este ataque se aprovecha la creencia de que "si he visto la vista previa, es seguro".
Las medidas del lado del servicio se pueden dividir en varias capas. La primera es un mecanismo que registra el historial de cambios del destino de redirección y marca automáticamente las URLs cortas cuyo destino de redirección cambia muchas veces en poco tiempo. Que el destino de redirección cambie muchas veces en poco tiempo es una pista para sospechar de un fraude. La segunda es una función que contrasta la URL de destino con Google Safe Browsing API y con la base de datos de PhishTank, y detiene las redirecciones hacia sitios de phishing o de distribución de malware ya conocidos. La tercera es un diseño que muestra una página intersticial (página intermedia) antes de la redirección y permite comprobar la URL del destino final. En esta página intermedia se muestran el nombre de dominio del destino, si tiene o no certificado SSL y el resultado de la evaluación de Google Safe Browsing, para que cada persona pueda tomar una decisión basada en información. La cuarta es que pedir un CAPTCHA o una verificación por correo electrónico al crear una URL corta ayuda a frenar la generación masiva de URLs cortas maliciosas por parte de bots. Si se combinan estas medidas, resulta más fácil reducir el riesgo de la suplantación de la vista previa.
Quienes usan estos servicios también tienen formas de protegerse. En primer lugar, sin fiarte solo de la información de la vista previa de enlace, puedes comprobar antes el destino final de la redirección con un servicio para expandir URLs cortas (unshorten.me, CheckShortURL, etc.). En particular, pueden llegar mensajes que incluyen una invitación a ir a una entidad financiera o a una página de inicio de sesión. En ese caso, si no haces clic directamente en la URL corta y escribes a mano la URL del sitio oficial en la barra de direcciones del navegador, es más fácil evitar que te lleven a un sitio falso. También existe la opción de que las personas responsables de seguridad de una empresa incluyan casos de suplantación de la vista previa de enlace en la formación interna sobre seguridad. La idea de comprobar los enlaces de un correo electrónico antes de abrirlos también se aplica a los enlaces de las aplicaciones de chat. La comodidad y la seguridad de las URLs cortas tienen una relación de compromiso, y una forma de reducir los riesgos es combinar las medidas técnicas con la formación de quienes usan los servicios.