… Python, agora também temos que lidar com as dificuldades para detectá-los! Em vista da sua natureza interpretada, o código-fonte de programas escritos em Python podem ser acessados sem maiores dificuldades, possibilitando aos interessados estudar, analisar, auditar, alterar e até mesmo criar softwares derivados com base nele. Porém, em muitos casos isto não poderá ser feito, em vista das restrinções relacionadas a licenciamento ou modalidade de negócios, adotadas por seus autores. Para evitar o acesso não autorizado, podemos fazer o uso de ferramentas que são capazes de “esconder” o código-fonte…
“Malware authors continue to adopt legitimate software protection tools to shield their malicious code from security researchers. A prime example is the VVS Stealer, a Python-based malware family actively targeting Discord users. By leveraging Pyarmor, a tool designed to protect Python scripts, VVS Stealer employs complex obfuscation to evade static analysis and signature-based detection, making reverse engineering significantly more difficult.”
— by GBHackers.
Mayura Kathir (editora do portal GBHackers) detalha o funcionamento e a eficácia do Pyarmor, uma ferramenta avançada de linha de comando utilizada para ofuscar scripts Python. O objetivo principal do Pyarmor é proteger a propriedade intelectual, transformando o código-fonte original em um formato ilegível que impede a engenharia reversa e a análise estática. Ao contrário de ofuscadores simples que apenas renomeiam variáveis, o Pyarmor altera a estrutura do bytecode e utiliza criptografia para garantir que o código permaneça seguro, contra as cópias não autorizadas ou adulterações indesejadas.
O processo de proteção do Pyarmor envolve várias camadas de segurança, incluindo a ofuscação de objetos de código e a proteção de constantes e literais. Ele gera scripts ofuscados que funcionam como arquivos Python normais, mas que dependem de um “Runtime Package” específico para serem executados. Além disso, a ferramenta oferece recursos de licenciamento, permitindo que os desenvolvedores definam datas de expiração para o software ou vinculem a execução do script a máquinas específicas (através do endereço MAC ou IP), o que é ideal para modelos de software como serviço (SaaS) ou versões de teste.
Mas infelizmente, tais ferramentas podem ser tanto usadas para o bem, quanto para o mal: o Pyarmor tem sido cada vez mais adotado por cibercriminosos. Devido à sua capacidade de ocultar a lógica do programa de forma robusta, autores de malware utilizam a ferramenta para esconder códigos maliciosos, como “stealers” de dados e cavalos de Troia. Isso dificulta de forma significativa, o trabalho de analistas de segurança e especialistas em antivírus, já que eles não conseguem identificar as intenções do script sem antes, realizar um complexo processo de desofuscação.
Em suma: o Pyarmor é uma solução poderosa e versátil, capaz de converter funções Python em instruções de máquina de difícil reversão. Kathir enfatiza que a ferramenta é compatível com diversas plataformas e versões do Python, mantendo o desempenho do script enquanto oferece um alto nível de segurança. No entanto, o texto serve também como um alerta para a comunidade de segurança cibernética sobre como ferramentas legítimas de proteção de código podem ser manipuladas para fins ilícitos, exigindo novas abordagens para a detecção de ameaças.
E eu aqui, doido para conferir o código-fonte dessas belezinhas… &;-D