Microsoft detecta una campaña masiva de phishing usando caracteres invisibles en correos electrónicos

Una innovadora herramienta desarrollada por Microsoft para detectar ataques en modelos de lenguaje captó una extensa campaña de phishing que utiliza caracteres Unicode invisibles para burlar filtros de spam y sistemas de inteligencia artificial.

La semana pasada, Microsoft alertó sobre una campaña de phishing que aprovechaba una vulnerabilidad en el procesamiento de texto por parte de los sistemas automatizados. Los atacantes insertaban caracteres Unicode de etiquetado —invisibles en pantalla— dentro del cuerpo de los correos electrónicos. Así, aunque los usuarios humanos leían textos aparentemente normales, los programas reconocían una cadena alterada, lo que permitía evadir los filtros antispam y clasificadores basados en aprendizaje automático.

Estos caracteres, conocidos en el rango U+E0000 a U+E007F, se denominan “unicode tag characters” y son invisibles para la mayoría de interfaces, pero modifican el texto subyacente recibido por el software. Por ejemplo, la palabra funding (financiación) podía verse a simple vista, pero en realidad contenía etiquetas Unicode entre las letras, como en:
fun【U+E0020】ding.

Lo que Microsoft detectó fue que los atacantes habían introducido estos caracteres invisibles en palabras clave importantes para campañas de phishing financiero, tales como “funding”, “loan” (préstamo) o “credit” (crédito). Esto hacía que los filtros de spam, que buscan esos términos para bloquear mensajes sospechosos, no reconocieran exactamente las palabras alteradas, permitiendo que el phishing pasara inadvertido y alcanzara a los usuarios.

Patrocinado

Según los datos recopilados por Microsoft Defender para Office 365, apenas un día antes de que la campaña arrancara, se dispararon unas 21.000 alertas relacionadas con esta técnica. Al día siguiente, las detecciones superaron 1,3 millones y, en solo 48 horas, la cifra ascendió a más de 2,3 millones de correos afectados. Durante todo ese tiempo, los destinatarios recibían ofertas aparentemente legítimas de préstamos y líneas de crédito.

Impacto en sistemas de procesamiento de lenguaje natural

La técnica, llamada “ASCII Smuggling” por los investigadores de seguridad, no solo afecta a los filtros de correo electrónico, sino que también podría tener graves consecuencias en modelos de inteligencia artificial (IA) que procesan texto externo. Los sistemas de procesamiento de lenguaje natural (NLP) segmentan el texto en unidades llamadas tokens antes de analizarlo, y la introducción de estos caracteres invisibles puede alterar la forma en que se forman esos tokens. Esto complica la detección de amenazas y puede permitir inyecciones adversarias de información oculta para manipular el comportamiento de modelos avanzados de IA.

La respuesta de un tokenizer ante estos caracteres no es uniforme: algunos los ignoran, mientras que otros fragmentan el texto de manera diferente. Por ello, para proteger una aplicación es esencial probar contra el modelo específico que se vaya a utilizar, sin asumir un comportamiento homogéneo.

Además, las técnicas comunes de normalización Unicode, como NFC y NFD, que estandarizan diferentes representaciones de caracteres, no eliminan estos caracteres etiqueta en el rango U+E0000 a U+E007F, lo que permite que las manipulaciones pasen al siguiente nivel de procesamiento sin ser detectadas.

Defensas limitadas en pipelines de IA frente a estas tácticas

Las plataformas de correo electrónico cuentan con múltiples sistemas para identificar mensajes sospechosos más allá de las palabras mismas, pero las cadenas de herramientas automatizadas de IA suelen operar con información mucho más reducida, lo que las hace vulnerables a este tipo de manipulación.

Este problema se agrava cuando los agentes automáticos toman decisiones basadas en textos externos que pueden contener esta clase de alteraciones invisibles, dificultando la detección y aumentando el riesgo de ataques de inyección de instrucciones.

Medidas recomendadas para desarrolladores y empresas

La solución más sencilla para aplicaciones que no requieren estos caracteres especiales es eliminarlos antes de que el texto sea procesado por el modelo de IA. Sin embargo, cuando los caracteres en cuestión tienen un propósito legítimo en el contexto de la aplicación, el reto es mayor.

En ese caso, se recomienda comparar la versión original del texto con una depurada de estos caracteres de etiqueta y verificar cualquier discrepancia. También es crucial analizar cómo el tokenizer utilizado maneja estos caracteres para asegurar que todas las transformaciones se mantengan coherentes durante el flujo de datos, evitando enviar versiones inconsistentes o manipuladas al modelo final.

Casos excepcionales: los emojis de banderas del Reino Unido

No todos los caracteres Unicode de etiquetado son maliciosos ni deben ser eliminados automáticamente. Por ejemplo, los emojis de banderas de subdivisiones territoriales de Inglaterra, Escocia y Gales dependen de secuencias invisibles con estos caracteres para mostrarse correctamente. Durante la implementación inicial de la herramienta de caza de estas técnicas, Microsoft notó que su filtro bloqueaba estas banderas legítimas, por lo que ajustó la configuración para exceptuarlas y evitar falsos positivos.

Este caso pone de manifiesto la complejidad de gestionar la seguridad en sistemas que interactúan con texto externo, balanceando entre proteger contra ataques y preservar la funcionalidad legítima.

Add a Comment

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Patrocinado