BiDi Swap: el truco bidireccional que hace que URLs falsas parezcan reales
Qué es BiDi Swap y por qué importa
Investigadores de seguridad de Varonis han descrito una técnica que abusa de los caracteres de control de direccionalidad de Unicode —conocida coloquialmente como «BiDi Swap»— para que direcciones web maliciosas se muestren como si fueran legítimas. En esencia, los atacantes insertan caracteres de control de texto bidireccional en rutas, nombres de archivo o partes de una URL de modo que el orden visual de los componentes cambia y el dominio aparente parece pertenecer a una organización de confianza cuando en realidad apunta a un sitio controlado por el atacante.
Antecedentes técnico-históricos
El problema se apoya en una característica fundamental de Unicode: la capacidad de mezclar texto left-to-right (LTR) y right-to-left (RTL) para idiomas como árabe o hebreo. Unicode incluye caracteres de control —por ejemplo U+202E (Right-to-Left Override, RLO)— que fuerzan la dirección visual del texto. Esta capacidad ha sido aprovechada durante años para técnicas de engaño conocidas (incluyendo ataques de homógrafos y el uso de IDN/Punycode para crear dominios visualmente similares).
Hace alrededor de una década surgieron alertas sobre cómo los caracteres de control podían alterar la presentación de nombres de archivo y URLs en navegadores y clientes de correo; desde entonces muchos productos implementaron mitigaciones parciales. La técnica BiDi Swap revive y refina ese método, aplicándolo en contextos modernos de phishing y suplantación donde las interfaces siguen mostrando texto formateado sin exponer el contenido real subyacente.
Cómo funciona la técnica (explicación técnica práctica)
De forma simplificada, el ataque usa caracteres de control de Unicode para alterar el orden visual de una cadena sin cambiar los bytes reales de la URL. Ejemplos de mecanismos empleados:
- Inserción de caracteres RTL/LTR (como U+202E RLO) dentro de la parte visible de la ruta o del nombre de archivo para invertir segmentos.
- Combinación de estos caracteres con extensiones de archivo o subdominios para que la porción visible final parezca un dominio legítimo —por ejemplo, transformar «evil.com/тспам» para que se muestre como «paypal.com» cuando el usuario sólo lee la forma renderizada.
- Uso en correos electrónicos, documentos y sistemas de mensajería donde el enlace se presenta sin revelar la URL real (por ejemplo en texto sin formato que el usuario interpreta visualmente).
El resultado práctico es que el usuario ve una cadena familiar y confía en ella, mientras que el enlace subyacente redirige a una web maliciosa. La técnica es agnóstica respecto al navegador o cliente; su eficacia depende de cómo la aplicación renderiza y expone (o no) caracteres de control y la URL «real» en la barra de direcciones o en el atributo href.
Riesgos, implicaciones y casos comparables
BiDi Swap es esencialmente una evolución de ataques de suplantación visual que han causado problemas durante años. Las implicaciones clave:
- Phishing más eficaz: enlaces que aparentan pertenecer a bancos, servicios en la nube o proveedores internos incrementan la tasa de clics y de entrega de credenciales.
- Distribución de malware: descargas o páginas de credenciales falsas pueden pasar filtros humanos en revisiones rápidas.
- Bypass de controles automáticos: algunos filtros y listas negras que funcionan sobre la forma renderizada pueden verse eludidos si sólo analizan visualmente o no normalizan caracteres Unicode.
Comparables históricos incluyen ataques con dominios IDN (Internationalized Domain Names) y homógrafos donde se sustituyen caracteres por otros visualmente idénticos (por ejemplo, letras cirílicas por latinas) y el uso de Punycode para registrar dominios que aparentan ser legítimos. Estas formas de engaño han sido explotadas reiteradamente en campañas de phishing y fraude en la última década, por lo que BiDi Swap representa una variación que aprovecha el comportamiento de renderizado en lugar de confiar solo en sustituciones de caracteres.
Consejos y recomendaciones operativas para profesionales
Para equipos de seguridad, administradores y responsables de cumplimiento, la defensa eficaz contra BiDi Swap requiere una combinación de políticas, detección técnica y formación de usuarios:
- Normalizar y sanear: al procesar URLs (por ejemplo en portales corporativos, vistas previas de documentos o logs), eliminar o reemplazar caracteres de control Unicode (como U+202E) y mostrar la forma «sin formato» o Punycode cuando proceda.
- Validación y filtrado en gateways: configurar pasarelas de correo y proxies web para detectar y bloquear enlaces que contengan caracteres de control de direccionalidad o patrones inusuales en las rutas.
- Mostrar la URL real: en interfaces de usuario críticas (confirmaciones de pago, formularios de inicio de sesión), forzar la visualización de la URL completa en su forma canónica/ASCII o el certificado TLS para que los usuarios puedan verificar el origen.
- Políticas de subida y nombre de archivos: cuando permita que usuarios suban archivos, normalizar nombres eliminando caracteres invisibles y validar extensiones reales para evitar ejecución o confusión en interfaces de descarga.
- Reglas en SIEM y EDR: añadir detecciones que busquen caracteres de control Unicode en cadenas de proceso, URLs en eventos y peticiones HTTP. Generar alertas sobre enlaces con desviación entre la forma visual y la forma canónica.
- Formación y simulaciones: educar a empleados sobre señales de phishing más allá del aspecto visual de una URL: comprobar el certificado, posicionar el cursor sobre el enlace para ver el destino real y usar rúbricas de verificación en transacciones sensibles.
- Mantener navegadores y clientes actualizados: muchas mitigaciones dependen de actualizaciones de navegador y de clientes de correo que mejoran la exposición de URLs o bloquean caracteres inusuales. Mantener parches aplicados reduce la superficie.
Práctica recomendada: tratar las cadenas que puedan contener caracteres de control como potencialmente manipuladas y priorizar su normalización antes de presentarlas como controles de confianza al usuario.
Análisis y consideraciones estratégicas
BiDi Swap no inventa una nueva vulnerabilidad en el protocolo HTTP o en TLS, sino que explota fallos en la presentación de texto. Por eso las soluciones puramente basadas en firmas o listas negras son insuficientes: la mitigación efectiva pasa por normalización, heurísticas y medidas de diseño en la interfaz para que los usuarios no dependan únicamente de la apariencia visual.
Los equipos de seguridad deben integrar detecciones orientadas a Unicode en sus cadenas de análisis y revisar políticas de exposición de URLs en aplicaciones internas. A nivel organizativo, conviene asumir que campañas sofisticadas de phishing buscarán explotar cualquier atajo cognitivo; reducir la posibilidad de lectura errónea es tan importante como bloquear el dominio malicioso.
Conclusión
La técnica BiDi Swap demuestra que la interacción entre estándares de representación de texto y la interfaz de usuario puede generar vectores de ataque efectivos. Para defenderse es necesario un enfoque combinado: eliminación y normalización de caracteres de control, filtros en puertas de entrada (correo y web), detección en sistemas de monitorización, y formación continua de usuarios.
En la práctica, bloquear y registrar URLs que contengan caracteres de control Unicode, forzar la visualización de dominios canónicos y mantener software actualizado son medidas de alto impacto que reducen considerablemente el riesgo.
Source: www.bleepingcomputer.com



