Guias práticos

ASCII smuggling burlou filtros — normalize Unicode antes de ligar a IA

|Autor: Equipe editorial da QUASA|5 min de leitura| 2
ASCII smuggling burlou filtros — normalize Unicode antes de ligar a IA

Em 3 de setembro de 2026, a Microsoft revelou uma campanha de phishing que inseriu caracteres Unicode invisíveis dentro de palavras ligadas a crédito e financiamento. A alteração fazia o texto parecer normal para o destinatário, mas rompia correspondências literais e podia modificar a tokenização usada pelos filtros.

A resposta defensiva é inspecionar o texto bruto, registrar os caracteres anômalos e criar uma cópia saneada antes das assinaturas antiphishing e da entrada em agentes de IA. A cobertura da ITPro de 7 de setembro descreveu o uso do bloco Unicode Tags e reiterou que a normalização deve ocorrer antes da análise, sem depender apenas da aparência renderizada da mensagem.

O caractere invisível que separou as palavras

Isca financeira parece normal, mas a inspeção revela U+E0020 separando a palavra usada pelo filtro.

O ataque explorou a diferença entre o texto exibido e a sequência processada pelo software. Uma isca que mostrava “funding” podia conter o caractere TAG SPACE U+E0020 entre “fun” e “ding”: a palavra continuava legível na caixa de entrada, mas deixava de ser uma cadeia contínua para uma regra literal.

A pesquisa do Microsoft Security Research informa que a assinatura de caça saltou de cerca de 21 mil ocorrências em 8 de fevereiro para mais de 1,3 milhão no dia seguinte; o volume diário chegou a 2,37 milhões em 26 de fevereiro. Cerca de 96% das mensagens acionadas pela assinatura pertenciam ao padrão de domínios financeiros, e a fase de alto volume caiu abruptamente depois de 15 de maio, deixando atividade residual até meados de junho.

Esses números medem mensagens que corresponderam à assinatura, não entregas bem-sucedidas na caixa de entrada. Mais de 99% do volume observado no Defender for Office 365 também foi marcado por outras camadas, como reputação de remetente, IP, URL e domínio, autenticação e modelos antiphishing. O caso demonstra uma brecha em comparações literais e em pipelines que tokenizam antes de tratar caracteres invisíveis, não uma derrota universal dos filtros modernos.

Detecção precisa distinguir anomalia de veredicto

Comparação entre texto bruto, renderizado e extraído por OCR distingue um caractere suspeito de uma bandeira legítima.

O primeiro controle deve procurar caracteres do bloco Unicode Tags, de U+E0000 a U+E007F, no assunto e no corpo decodificados. A ocorrência precisa ser registrada com o ponto de código, a posição e a representação em que apareceu — HTML, texto simples ou outra parte MIME — antes de qualquer transformação que apague a evidência.

Encontrar um desses caracteres é um sinal forte, mas não basta para bloquear a mensagem. As bandeiras de Inglaterra, Escócia e País de Gales usam sequências legítimas do mesmo bloco; uma regra inicial que marcava qualquer ponto desse intervalo produziu falsos positivos justamente nesses emojis. A exceção deve reconhecer a sequência completa admitida, sem liberar caracteres Tags isolados ou inseridos no meio de palavras.

A decisão fica mais precisa ao combinar a anomalia textual com o comportamento observado: remetentes financeiros descartáveis e rotativos, grandes remessas durante a semana e discrepância entre o texto bruto e o texto visível. Infraestrutura compartilhada de envio, endereço IP ou domínio de rastreamento servem como elementos de contexto, não como indicadores maliciosos isolados.

Normalizar não é o mesmo que bloquear

Detecção, normalização e bloqueio cumprem funções diferentes. A detecção preserva o sinal de que houve manipulação; a normalização produz uma representação adequada para assinaturas e classificadores; o bloqueio depende da avaliação conjunta do conteúdo, do remetente e da infraestrutura.

Aplicar apenas NFC ou NFKC não constitui uma política completa para o bloco Tags. O pipeline precisa definir explicitamente quais pontos invisíveis serão removidos ou dobrados, quais sequências legítimas serão preservadas e quais ocorrências elevarão o risco.

Um fluxo verificável segue esta ordem:

  1. guardar de forma protegida o assunto, o corpo e os metadados originais;
  2. decodificar MIME, HTML e entidades antes de inspecionar os pontos de código;
  3. registrar caracteres invisíveis inesperados e validar somente exceções completas conhecidas;
  4. gerar uma cópia saneada conforme a política definida;
  5. aplicar assinaturas, expressões regulares, tokenização, classificação e extração de URLs à cópia saneada;
  6. associar ao alerta as diferenças encontradas e uma referência segura ao original.

As duas representações têm finalidades distintas. A versão saneada recompõe os termos que o atacante tentou fragmentar; o original conserva a prova necessária para investigação e ajuste das regras. Preservar o original não significa permitir que ele retorne sem controle ao fluxo de classificação ou automação.

A barreira também deve ficar antes do agente de IA

Conector de caixa postal preserva o original e entrega somente a cópia normalizada ao agente de IA.

Uma caixa conectada a um agente amplia o impacto possível porque a mensagem pode ser resumida, classificada ou usada para iniciar ações. O bloco Unicode Tags já era empregado para esconder instruções de prompt injection; na campanha observada, os caracteres foram usados como separadores de palavras, mas a mesma diferença entre texto visível e texto processado justifica um controle comum.

O agente deve receber a cópia normalizada e os metadados de risco, não o texto bruto sem tratamento. Mensagens com divergências relevantes podem ser isoladas ou submetidas a validação adicional, enquanto sistemas de arquivamento e descoberta eletrônica preservam o original e o registro da transformação.

A limpeza do conteúdo não limita o que uma automação pode fazer caso outra defesa falhe. Por isso, também é necessário restringir o acesso do agente, separar leitura de execução e exigir autorização adicional para ações externas.

O alcance confirmado da campanha

A atividade com caracteres Tags foi uma fase de uma campanha mais ampla, não uma técnica presente durante toda a sua duração. A inserção de caracteres invisíveis em spam é antiga; o elemento incomum foi o emprego do bloco associado ao ASCII smuggling em escala de milhões de mensagens diárias e dentro de iscas financeiras.

A reportagem da TechRadar de 7 de setembro também registrou o pico superior a 2,3 milhões de mensagens e a concentração do padrão em cerca de 150 domínios remetentes no início da atividade. A telemetria pública, porém, não demonstra comportamento uniforme entre todos os gateways, bibliotecas e conectores: cada pipeline ainda precisa verificar se preserva o original, trata as exceções legítimas e entrega somente a representação saneada às etapas seguintes.

Leia também:

Compartilhar:

Assine nossa newsletter

Receba as últimas notícias sobre Web3, IA e cripto diretamente no seu e-mail.

0