O ASCII smuggling, um bloco Unicode que as pessoas não conseguem ver, está se disseminando desde ataques contra sistemas de inteligência artificial até a evasão de filtros de spam. A técnica ganhou destaque há cerca de dois anos para ocultar ataques de prompt injection direcionados a grandes modelos de linguagem (LLM). O invasor codifica as instruções com etiquetas Unicode especiais em vez de texto normal; U+E0041 representa o caractere “A”, enquanto U+E0061 representa “a”. Esse bloco, composto por 128 etiquetas, pode ser lido por computadores, mas permanece quase completamente invisível para as pessoas.
No início deste ano, a Microsoft detectou um grande aumento de spams que utilizavam esse método. Em um dia no início de fevereiro, as assinaturas de ASCII smuggling detectadas pelo Microsoft Defender for Office passaram de cerca de 21,000 por dia para mais de 1,3 milhão; em quatro dias, chegaram a 2,5 milhões. O aumento continuou por meses e caiu acentuadamente em meados de maio.
Os spammers dividem com caracteres invisíveis as palavras ou quantias de dinheiro procuradas pelos filtros, como “credit” e “term”. Por exemplo, a palavra “funding” pode ser identificada pelo filtro como “fun” e “ding”, enquanto o destinatário continua vendo a palavra normalmente. Espaços de largura zero e espaços inseparáveis também são usados para fins semelhantes há décadas.
A preferência pelas etiquetas ocultas pode estar relacionada ao fato de alguns filtros não as reconhecerem e de elas poderem enganar classificadores baseados em aprendizado de máquina e processamento de linguagem natural. O ataque pode passar despercebido a menos que o texto seja convertido em imagem e submetido a OCR. A Microsoft publicou recomendações para desenvolvedores, a fim de que os filtros reconheçam melhor o ASCII smuggling.
Por que isso é importante
Esse método amplia a diferença entre o conteúdo visto pelos seres humanos e o conteúdo avaliado pelos softwares na segurança de e-mails; por isso, ele diz respeito não apenas aos usuários das caixas de entrada, mas também às equipes que desenvolvem sistemas de filtragem e classificação. Palavras divididas por caracteres invisíveis expõem os limites não só da varredura tradicional de palavras-chave, mas também dos controles baseados em aprendizado de máquina e processamento de linguagem natural. Como a mesma técnica também é usada em ataques de prompt injection contra sistemas de inteligência artificial, o problema vai além da detecção de spam e se transforma em uma questão de interpretar o texto de forma confiável. A questão em aberto é como detectar esses sinais de maneira consistente sem converter o texto em imagem e submetê-lo a OCR, e em que medida as recomendações da Microsoft para desenvolvedores serão aplicadas em diferentes filtros.