
Mutazione del malware tramite Apprendimento per Rinforzo e Reti Generative Avversarie

Lo scopo dello strumento è utilizzare l'intelligenza artificiale per mutare un campione di malware (solo PE32) al fine di eludere i classificatori basati sull'IA, mantenendo intatta la sua funzionalità. In passato, sono stati svolti lavori notevoli in questo ambito, con ricercatori che hanno utilizzato l'apprendimento per rinforzo o le reti generative avversarie (GAN) come armi di elezione per modificare gli stati di un eseguibile malware al fine di ingannare gli agenti antivirus. La nostra soluzione utilizza una combinazione di deep reinforcement learning e GAN per superare alcune delle limitazioni affrontate utilizzando questi approcci in modo indipendente, come mostrato di seguito.
.png)
Trova la documentazione completa dello strumento qui
⚠️ Poiché questo strumento gestisce file malware, è fortemente consigliato utilizzare una macchina virtuale. Dopo l'installazione dello strumento, assicurati di disconnetterti dalla rete.
I seguenti passaggi ti guideranno attraverso tutte le installazioni necessarie per configurare l'ambiente.
Clona il repository.
git clone https://github.com/CyberForce/Pesidious
Spostati nella directory del progetto.
cd Pesidious
Configura e attiva un ambiente virtuale con Python 3.6
Si consiglia di utilizzare un ambiente virtuale per evitare conflitti tra i pacchetti utilizzati da diverse applicazioni
Assicurati di avere pip 8.1.1 installato e configurato.
Questo perché le versioni successive di pip non sono compatibili con la libreria PyTorch.
pip install pip==8.1.1
Installa tutte le librerie richieste, installando il file requirements.txt.
pip install -r pip_requirements/requirements.txt
L'output dal GAN è già stato salvato come (RL_Features/adverarial_imports_set.pk e RL_Features/adverarial_sections_set.pk) che verranno utilizzati per aggiungere import e sezioni al malware per la mutazione.
Puoi testare il classificatore di esempio per valutare i file malware.
python classifier.py -d /path/to/directory/with/malware/files
Esegui lo script Python mutate.py per mutare i tuoi campioni di malware.
python mutate.py -d /path/to/directory/with/malware/files
I file malware mutati verranno salvati in una directory chiamata Mutated_malware nel seguente formato
Mutated_malware/mutated_<name-of-the-file>
Una volta che i file malware sono mutati, puoi eseguire di nuovo il classificatore per valutare il malware mutato.
python classifier.py -d Mutated_malware/
⚠️ ATTENZIONE: Questa sezione è attualmente in costruzione. Ci scusiamo per ogni inconveniente. Proseguire alla prossima sezione. clicca qui
pip install -r requirements.txt restituisce un errore.
Soluzione:
pip install tqdm
pip install sklearn
pip install lief
Errore ModuleNotFoundError: No module named 'tensorboardX' durante l'esecuzione dello script python main_malgan.py.
Soluzione:
pip install tensorboardX
Errore nell'esecuzione di import-append, section-append (non trovati)
Soluzione Dai il permesso di esecuzione a questi eseguibili usando i seguenti comandi nel terminale
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. Disponibile su: https://arxiv.org/abs/1801.08917.
Docs.microsoft.com. (n.d.). PE Format - Windows applications. [online] Disponibile su: 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. Disponibile su: https://ieeexplore.ieee.org/abstract/document/8676031 [Accesso 25 Agosto 2019].
https://resources.infosecinstitute.com. (2019). Malware Researcher’s Handbook (Demystifying PE File). [online] Disponibile su: 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. Disponibile su: https://arxiv.org/abs/1702.05983.