BiDi Swap: Cómo se utiliza Unicode bidireccional para que URL falsas parezcan legítimas
BiDi Swap: Cómo se utiliza Unicode bidireccional para que URL falsas parezcan legítimas
En qué consiste el truco BiDi Swap y por qué importa
Investigadores de seguridad de Varonis han documentado una técnica de phishing renovada que denominan «BiDi Swap», en la que los atacantes abusan de caracteres de control bidireccionales (BiDi) de Unicode para hacer que URL maliciosas se muestren como si pertenecieran a un dominio de confianza. El enfoque aprovecha características bien conocidas del Algoritmo Bidireccional de Unicode para invertir u ordenar de nuevo el texto visible sin cambiar el objetivo subyacente del enlace, lo que permite a un atacante construir una URL que a simple vista parece correcta para un lector humano mientras el destino real apunta a otro lugar.
Esto es importante porque la confianza del usuario en el texto y las direcciones de los enlaces es un elemento central para prevenir el robo de credenciales, la descarga de malware y otros resultados exitosos de phishing. El artículo de Varonis enmarca BiDi Swap como una reaparición de una debilidad en navegadores conocida desde hace una década en la forma en que se renderizan los controles BiDi para los usuarios finales, y subraya la necesidad de que las organizaciones consideren los caracteres de control de Unicode como un vector de amenaza distinto en el manejo de enlaces y nombres de archivo.
Antecedentes e historia: controles BiDi y abusos previos
Unicode incluye caracteres de control explícitos que cambian el orden visual del texto para dar soporte a escrituras que se leen de derecha a izquierda, como el árabe y el hebreo. Ejemplos incluyen RIGHT‑TO‑LEFT OVERRIDE (U+202E) y embebidos/aislantes relacionados (por ejemplo U+202A–U+202E y U+2066–U+2069). Estos son legítimos y necesarios para el correcto renderizado de texto con direcciones mixtas, pero también permiten a los adversarios alterar la presentación de cadenas sin cambiar su secuencia de bytes subyacente.
El abuso de los controles BiDi no es nuevo. En la última década los atacantes han usado estos caracteres para ocultar extensiones de archivo (haciendo que un ejecutable parezca un documento inofensivo), para suplantar direcciones de correo y nombres de archivo, y como un elemento más en ataques de homógrafos e IDN (Internationalized Domain Name). La técnica BiDi Swap revisita esa clase de abuso con un foco específico en las URL y en las decisiones de representación del DOM y la interfaz de usuario tomadas por navegadores, clientes de correo y aplicaciones de chat.
Cómo funciona la técnica — resumen para profesionales
- Los atacantes insertan uno o varios caracteres de control BiDi de Unicode en una URL visible o en un nombre de archivo. Un ejemplo común es U+202E (RIGHT‑TO‑LEFT OVERRIDE), que hace que los caracteres siguientes se muestren en orden inverso.
- La cadena visual mostrada al usuario se reorganiza de modo que un observador no entrenado lea un dominio o ruta familiar y de confianza, mientras que el href o los bytes objetivo subyacentes siguen apuntando a un host o recurso malicioso.
- Como el enlace subyacente sigue siendo distinto de lo que se presenta visualmente, las comprobaciones habituales al pasar el cursor por el enlace o una inspección casual pueden no revelar la discrepancia, aumentando la probabilidad de que se haga clic.
- El ataque puede combinarse con otras técnicas — subdominios de apariencia legítima, acortadores de URL o trucos de homógrafos en IDN — para ocultar aún más el destino real.
BiDi Swap explota la brecha entre el renderizado visual y el contenido lógico de una cadena: una dirección puede parecer auténtica mientras que su destino real no lo es.
Riesgos e implicaciones operativas
BiDi Swap plantea preocupaciones prácticas en varias dimensiones:
- Engaño al usuario final: Usuarios entrenados para verificar un nombre de dominio visible pueden ser inducidos a error si los componentes de la interfaz muestran texto manipulado sin advertencia o normalización.
- Elusión de filtros y reglas: Controles de detección y filtros de URL que operan sobre texto visible en lugar de sobre los objetivos canónicos pueden ser evadidos si no normalizan o inspeccionan caracteres de control ocultos.
- Cadenas de suministro y suplantación: La suplantación de marca mediante URLs convincentes aumenta el riesgo de recolección de credenciales, facturas fraudulentas y spear‑phishing dirigido a directivos y socios.
- Inconsistencia entre plataformas: Diferentes navegadores, clientes de correo y aplicaciones de mensajería pueden renderizar o sanitizar los controles BiDi de manera distinta, lo que provoca exposiciones inconsistentes entre entornos y complica tanto la detección como las recomendaciones a usuarios.
Detección práctica, mitigación y recomendaciones para profesionales
La comunidad técnica dispone de un conjunto de defensas prácticas para reducir el riesgo de BiDi Swap. A continuación se ofrecen recomendaciones dirigidas a desarrolladores, equipos de seguridad y administradores.
- Normalizar y canonicizar las URL en el servidor y en los registros: Al procesar URL suministradas por usuarios o al mostrar enlaces en interfaces, normalice Unicode y elimine o escape los caracteres de control BiDi antes de renderizar. Use formas de normalización de Unicode (por ejemplo NFKC) combinadas con la eliminación o escape explícito de caracteres en los rangos U+202A–U+202E y U+2066–U+2069.
- Mostrar representaciones canónicas/seguras: Considere renderizar siempre los nombres de dominio usando punycode o una forma canónica explícita en contextos sensibles a la seguridad (correos de restablecimiento de contraseña, consolas administrativas, mensajes relacionados con cuentas) para que la transformación visual no sea posible.
- Endurecer la linkificación y los analizadores: Las bibliotecas que convierten texto sin formato en enlaces clicables deben actualizarse para detectar y, o bien rechazar, o bien marcar de forma visible las cadenas que contienen caracteres de control BiDi. Saneé las entradas usadas en nombres de archivo, asuntos de correo, mensajes de chat e interfaces web.
- Reglas en SIEM y detección: Añada reglas que señalen y alerten sobre tráfico, registros o mensajes entrantes que contengan caracteres de control BiDi. Estos caracteres son poco comunes en telemetría legítima y constituyen un indicador útil de intentos de ofuscación.
- Controles de correo y puerta de enlace: Configure pasarelas de correo y proxies web para eliminar o poner en cuarentena mensajes que contengan caracteres de control Unicode sospechosos en URL o adjuntos. Aplique un escrutinio adicional a mensajes que además muestren señales típicas de phishing (urgencia inesperada, solicitudes de credenciales, adjuntos externos).
- Guía y formación al usuario final: Forme a los usuarios para que verifiquen enlaces pasando el cursor y comprobando la URL completa en el navegador o en la interfaz del cliente cuando sea posible, y para que traten los enlaces inesperados con cautela. Fomente el uso de marcadores y la navegación directa para sitios sensibles.
- Fomentar mitigaciones por parte de proveedores: Incentive a proveedores de navegadores, clientes de correo y herramientas de colaboración a tratar los caracteres de control BiDi como riesgos de renderizado en las barras de direcciones y vistas previas de mensajes, y a mostrar o prohibir dichos caracteres en contextos de seguridad.
- Autenticación multifactor: Asuma que algunos usuarios serán engañados; reduzca el impacto con MFA robusta y políticas de acceso condicional que limiten el valor de las credenciales capturadas.
Casos comparables y contexto más amplio
BiDi Swap forma parte de una larga genealogía de ataques de suplantación visual. Los ataques de homógrafos en IDN — donde caracteres internacionales visualmente similares reemplazan letras ASCII — se han utilizado para registrar dominios que parecen genuinos. Del mismo modo, la manipulación de nombres de archivo usando U+202E para ocultar extensiones ha sido un elemento habitual en campañas de ingeniería social y malware durante años.
En términos generales, el phishing y el robo de credenciales siguen siendo entre los vectores de compromisos iniciales más comunes para las filtraciones. Ya sea que un atacante use BiDi Swap, dominios homógrafos, adjuntos maliciosos o formularios de recolección de credenciales, el problema central es que el atacante convence a un usuario para que realice una acción insegura. Abordar BiDi Swap reduce, por tanto, una vía concreta de engaño dentro de una estrategia anti‑phishing más amplia.
Conclusión
BiDi Swap recuerda que la brecha entre cómo se almacena el texto y cómo se renderiza puede explotarse con fines de engaño. La técnica revive una antigua clase de trucos basados en Unicode y demuestra que incluso controles sutiles de renderizado constituyen una superficie de ataque relevante.
Puntos clave para los defensores:
- Trate los caracteres de control Unicode como sospechosos en URL, nombres de archivo y vistas previas de mensajes.
- Normalice y sanee entradas y salidas; considere mostrar formas canónicas de dominio en contextos de seguridad.
- Actualice bibliotecas de linkificación y análisis, añada detección en SIEM para controles BiDi y mantenga capas defensivas como MFA y filtrado en puertas de enlace de correo.
Fuente: www.bleepingcomputer.com







