Ofuscamento de malware utilizando IA

A IA eleva o grau de ofuscamento em malware

A cibersegurança entrou em uma nova era com o uso de modelos de linguagem de grande escala (LLMs) para camuflar e ofuscar códigos maliciosos. Pesquisadores da Palo Alto Networks alertaram que essa tecnologia está sendo usada para reescrever malware existente, dificultando sua detecção por ferramentas tradicionais, como a VirusTotal. Essa evolução marca um ponto crítico na luta entre criminosos cibernéticos e especialistas em segurança, destacando como a inteligência artificial (IA) pode ser tanto uma ameaça quanto uma solução.

 

Como LLMs estão transformando malwares

Embora LLMs, como o GPT, não consigam criar malwares do zero, sua capacidade de manipular e transformar códigos os torna poderosas ferramentas no arsenal dos criminosos. Exemplos de técnicas incluem:

  • Renomeação de Variáveis: Substituir nomes óbvios, como malicious_code, por termos genéricos, como data_processor.
  • Reorganização de Linhas: Alterar a ordem das instruções sem mudar a funcionalidade, confundindo sistemas de análise estática.
  • Inserção de Comentários ou Código Inofensivo: Adicionar linhas aparentemente legítimas, como console.log("Verificando sistema...");, para mascarar intenções maliciosas.

 

Exemplo de código ofuscado por IA

Código original malicioso (detectável):

const fs = require(‘fs’);
fs.writeFileSync(‘/var/tmp/attack.log’, ‘Data captured: ‘ + sensitiveData);

 

Código ofuscado (menos detectável):

const systemFile = require(‘fs’);
let logPath = ‘/var/tmp/logData.txt’;
systemFile[‘writeFileSync’](logPath, ‘Info: ‘ + sensitiveData);
// Log fake data for debugging
console.log(‘File written successfully at: ‘ + logPath);

 

A diferença entre os dois códigos está na maneira como eles estão estruturados e apresentados. A funcionalidade principal permanece a mesma, ambos escrevem dados sensíveis em um arquivo, mas o segundo código foi manipulado para parecer menos suspeito e mais difícil de ser identificado como malicioso. Vamos detalhar as diferenças.

 

1. Renomeação de variáveis

  • Código Original:
    • Usa nomes simples e diretos, como fs e /var/tmp/attack.log, que indicam claramente a intenção potencialmente maliciosa.
  • Código Ofuscado:
    • Substitui fs por systemFile e /var/tmp/attack.log por logPath, tornando o código menos explícito.

 

2. Uso de propriedades dinâmicas

  • Código Original:
    • Chama o método writeFileSync diretamente.
  • Código Ofuscado:
    • Usa systemFile['writeFileSync'], que adiciona um nível de indireção, dificultando a análise automatizada.

 

3. Mudança no nome do arquivo de saída

  • Código original:
    • O nome do arquivo é claramente relacionado a um possível ataque: /var/tmp/attack.log.
  • Código ofuscado:
    • O arquivo é renomeado para algo genérico: /var/tmp/logData.txt. Isso disfarça a verdadeira intenção do código.

 

4. Inclusão de código inofensivo (enganoso)

  • Código Original:
    • Foca exclusivamente em sua funcionalidade maliciosa.
  • Código Ofuscado:
    • Adiciona uma linha extra (console.log) para simular comportamento legítimo, como um log de depuração.

 

5. Estrutura mais complexa e legível

  • Código Original:
    • É direto e conciso, mas isso também facilita sua identificação como malicioso.
  • Código Ofuscado:
    • Adiciona camadas de abstração e comentários que podem enganar analistas humanos e dificultar a detecção automática.

 

Embora ambos os códigos executem a mesma tarefa, o segundo foi claramente projetado para evitar a detecção por sistemas automatizados e parecer mais legítimo para analistas. Essa técnica é chamada de ofuscação, um método frequentemente usado por desenvolvedores de malware para camuflar suas intenções.

 

Impacto nas taxas de detecção

Pesquisadores da Unidade 42 demonstraram como modelos de IA podem gerar milhares de variantes de scripts maliciosos. Em um teste, 10.000 variantes de JavaScript foram criadas a partir de um único código original, e 88% delas passaram despercebidas por ferramentas de detecção.

Tecnologias como:

  • IUPG (Innocent Until Proven Guilty): Modelos que analisam scripts em busca de padrões suspeitos.
  • PhishingJS: Específico para detectar scripts de phishing.

Essas ferramentas foram significativamente menos eficazes contra malwares ofuscados com a ajuda de LLMs.

 

Ferramentas Maliciosas Alimentadas por IA

Plataformas legítimas, como OpenAI GPT, têm medidas para evitar uso mal-intencionado. No entanto, alternativas como WormGPT surgiram no mercado clandestino, permitindo a criação de:

  • Scripts de Phishing: E-mails personalizados e persuasivos para enganar vítimas.
  • Variedades de Malware: Scripts adaptados para explorar vulnerabilidades específicas.

 

Exemplo de phishing com WormGPT:

<html>
<body>
<h1>Atualização de Segurança Obrigatória</h1>
<p>Clique no link abaixo para atualizar seu sistema:</p>
<a href=”http://malicious-site.com”>Atualizar Agora</a>
</body>
</html>

 

Esse código HTML apresenta um exemplo clássico de phishing ou engenharia social, onde a intenção é enganar o usuário para clicar em um link malicioso. Aqui está uma explicação detalhada de como ele funciona:

 

Estrutura do código

    1.Cabeçalho (título de engano):

        <h1>Atualização de Segurança Obrigatória</h1>
  • Um título chamativo, muitas vezes usado para criar um senso de urgência ou medo.
  • Palavras como “Atualização de Segurança Obrigatória” levam o usuário a acreditar que há uma necessidade imediata de ação.

     2. Mensagem explicativa:

        <p>Clique no link abaixo para atualizar seu sistema:</p>

  • Um texto curto e direto que reforça a urgência.
  • O objetivo é convencer o usuário a clicar no link sem questionar.

3. Link malicioso:

       <a href=”http://malicious-site.com”>Atualizar Agora</a>

  • Visualização Simples: Mostra “Atualizar Agora”, que parece legítimo.
  • Destino Real: Leva o usuário para http://malicious-site.com, que pode ser um site criado para:
    • Roubar informações pessoais ou financeiras (credenciais, senhas).
    • Infectar o dispositivo do usuário com malware.
    • Enganar o usuário para realizar outras ações prejudiciais, como baixar arquivos maliciosos.

 

Como esse código é usado em ataques

Geralmente enviado por e-mail, mensagens instantâneas ou hospedado em sites comprometidos.

Pode usar nomes de domínio semelhantes aos de empresas legítimas (ex.: http://malicious-site.com imitando http://legit-site.com).

Senso de urgência:

Mensagens como “Atualização Obrigatória” pressionam o usuário a agir rapidamente, sem avaliar a legitimidade do link.

Disfarce:

A aparência simples e direta do link engana usuários que não inspecionam o endereço real.

 

Prevenção contra esses ataques

Verificar o Destino do Link:

  • Passe o mouse sobre o link para ver o endereço real antes de clicar.

Não Clicar em Links Não Solicitados:

  • Sempre acesse sites oficiais digitando o endereço no navegador, em vez de confiar em links recebidos.

Usar Ferramentas de Segurança:

  • Antivírus atualizado e filtros de phishing podem bloquear páginas maliciosas.

Educação:

  • Treinamentos sobre phishing para usuários, para que saibam reconhecer ameaças desse tipo.

 

Este tipo de ataque é simples, mas extremamente eficaz contra usuários desatentos, especialmente em contextos corporativos ou em situações onde o atacante consegue simular confiança.

 

A IA como aliada na defesa cibernética

Apesar dos riscos, os mesmos avanços em IA podem ser usados para fortalecer a segurança cibernética. Aplicações incluem:

  • Treinamento de Sistemas de Detecção: Gerar malwares simulados para melhorar algoritmos de identificação.
  • Análise Comportamental: Modelos que avaliam ações de scripts em tempo real, em vez de apenas inspecionar código estático.
  • Automação de Respostas a Incidentes: Ferramentas baseadas em IA podem mitigar ataques automaticamente ao detectá-los.

 

Exemplo de ferramenta de defesa:
Um sistema treinado com IA pode interceptar e bloquear scripts ofuscados ao identificar padrões de comportamento, como tentativas de gravação de arquivos em diretórios sensíveis.

 

Conclusão:

Riscos e oportunidades no futuro da IA

O uso de IA na ofuscação de malware representa um desafio significativo, mas também traz oportunidades para a evolução das defesas cibernéticas. Empresas e governos precisam investir em:

  • Educação continuada: Profissionais de TI devem entender como IA pode ser usada tanto para ataques quanto para defesas.
  • Colaboração internacional: Compartilhamento de dados sobre ameaças emergentes.
  • Desenvolvimento ético de IA: Garantir que ferramentas legítimas tenham salvaguardas robustas contra uso indevido.

 

A batalha entre atacantes e defensores está mais sofisticada do que nunca. Com a IA desempenhando papéis em ambos os lados, o futuro da cibersegurança dependerá da habilidade de especialistas em adaptar-se rapidamente às novas dinâmicas e transformar ameaças em soluções.

 

Fonte e imagens: https://www.cisoadvisor.com.br/ia-eleva-o-grau-de-ofuscamento-em-codigo/