
Mutação de Malware Usando Aprendizado por Reforço e Redes Adversariais Generativas

O objetivo da ferramenta é usar inteligência artificial para mutar uma amostra de malware (apenas PE32) de forma a burlar classificadores alimentados por IA, mantendo sua funcionalidade intacta. No passado, trabalhos notáveis foram feitos neste domínio, com pesquisadores usando aprendizado por reforço ou redes adversárias generativas como suas armas de escolha para modificar os estados de um executável de malware a fim de enganar agentes antivírus. Nossa solução utiliza uma combinação de aprendizado por reforço profundo e GANs para superar algumas das limitações enfrentadas ao usar essas abordagens de forma independente, conforme mostrado abaixo.
.png)
Encontre nossa documentação completa para a ferramenta aqui
⚠️ Como esta ferramenta lida com arquivos de malware, é fortemente recomendado o uso de uma máquina virtual. Após a instalação da ferramenta, certifique-se de desconectar da rede.
Os passos a seguir irão guiá-lo por todas as instalações necessárias para configurar o ambiente.
Clone o repositório.
git clone https://github.com/CyberForce/Pesidious
Entre no diretório do projeto.
cd Pesidious
Configure e ative um ambiente virtual com Python 3.6
É recomendado usar um ambiente virtual para evitar conflitos entre pacotes usados por diferentes aplicações
Certifique-se de ter o pip 8.1.1 instalado e configurado.
Isso se deve ao fato de que versões posteriores do pip não se comportam bem com a biblioteca PyTorch.
pip install pip==8.1.1
Instale todas as bibliotecas necessárias, instalando o arquivo requirements.txt.
pip install -r pip_requirements/requirements.txt
A saída da GAN já foi armazenada como (RL_Features/adverarial_imports_set.pk e RL_Features/adverarial_sections_set.pk), que serão usadas ao adicionar imports e seções ao malware para mutação.
Você pode testar o classificador de amostras para pontuar arquivos de malware.
python classifier.py -d /path/to/directory/with/malware/files
Execute o script Python mutate.py para mutar suas amostras de malware.
python mutate.py -d /path/to/directory/with/malware/files
Os arquivos de malware mutados serão armazenados em um diretório chamado Mutated_malware no seguinte formato
Mutated_malware/mutated_<name-of-the-file>
Após os arquivos de malware serem mutados, você pode executar o classificador novamente para pontuar o malware mutado.
python classifier.py -d Mutated_malware/
⚠️ AVISO: Esta seção está atualmente em construção. Pedimos desculpas por qualquer inconveniente causado. Por favor, prossiga para a próxima seção. clique aqui
pip install -r requirements.txt retorna um erro.
Solução:
pip install tqdm
pip install sklearn
pip install lief
Erro ModuleNotFoundError: No module named 'tensorboardX' ao executar o script python main_malgan.py.
Solução:
pip install tensorboardX
Erro na execução de import-append, section-append (não encontrado)
Solução Dê permissão de execução a esses executáveis usando os seguintes comandos no seu terminal
cd portable-executable/
chmod 777 project-add-sections/bin/Debug/project-append-section
chmod 777 project-add-imports/bin/Debug/project-append-imports
Anderson, H., Kharkar, A., Filar, B., Evans, D. and Roth, P. (2018). Learning to Evade Static PE Machine Learning Malware Models via Reinforcement Learning. [online] arXiv.org. Available at: https://arxiv.org/abs/1801.08917.
Docs.microsoft.com. (n.d.). PE Format - Windows applications. [online] Available at: https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#general-concepts.
Fang, Z., Wang, J., Li, B., Wu, S., Zhou, Y. and Huang, H. (2019). Evading Anti-Malware Engines With Deep Reinforcement Learning. [online] Ieeexplore.ieee.org. Available at: https://ieeexplore.ieee.org/abstract/document/8676031 [Accessed 25 Aug. 2019]. https://resources.infosecinstitute.com. (2019).
Malware Researcher’s Handbook (Demystifying PE File). [online] Available at: https://resources.infosecinstitute.com/2-malware-researchers-handbook-demystifying-pe-file/#gref.
Hu, W. and Tan, Y. (2018). Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN. [online] arXiv.org. Available at: https://arxiv.org/abs/1702.05983.