Atores de ameaças estão migrando de linguagens tradicionais como C e C++ para modernas como Rust, permitindo o desenvolvimento de malware multiplataforma. Surgiu um novo ladrão de informações baseado em Rust chamado Luca, lançado abertamente ao público. Esse desenvolvimento destaca o uso crescente de Rust em malware, representando novos desafios para os defensores de cibersegurança.
Desenvolvedores de malware estão se voltando cada vez mais para linguagens como Golang, Rust e Nim, afastando-se de C e C++. Essa mudança permite que compilem código malicioso para plataformas Linux e Windows com poucos ajustes. Entre as ameaças recentes, destaca-se o Luca Stealer, um ladrão de informações construído em Rust que surgiu na natureza, aparecendo ao lado de perigos como o ransomware BlackCat.
O papel do Rust no malware ainda é incipiente em comparação ao Golang, mas cresce rapidamente. O lançamento open-source público do Luca Stealer oferece aos pesquisadores uma chance de examinar a aplicação do Rust em software malicioso, auxiliando na criação de defesas melhores. No entanto, essa mudança exige abordagens frescas para analisar e fazer engenharia reversa desses binários avançados.
Os defensores enfrentam obstáculos com executáveis Rust. Diferente de programas C, as strings Rust não têm terminação nula, levando ferramentas como Ghidra a ler dados incorretamente e criar definições sobrepostas. Analistas frequentemente precisam ajustar manualmente bytes de código e redefinir strings para análise precisa. Localizar a função principal também requer entender as saídas do compilador Rust; o ponto de entrada configura o ambiente antes de invocar std::rt::lang_start_internal, que se conecta à função principal do usuário via rastreamento de argumentos.
Ajuda o sistema de build Cargo do Rust deixar rastros. Dependências, ou 'crates', são linkadas estaticamente, e padrões como 'cargo\registry' podem expor bibliotecas como reqwest para operações HTTP. Seções de debug podem reter caminhos PDB, revelando detalhes como nome de usuário do autor ou diretórios do sistema. À medida que o Rust ganha tração entre atores de ameaças, compreender essas características é vital para esforços de detecção.