
Mutation de logiciels malveillants à l'aide de l'apprentissage par renforcement et de réseaux antagonistes génératifs

Le but de cet outil est d'utiliser l'intelligence artificielle pour muter un échantillon de logiciel malveillant (PE32 uniquement) afin de contourner les classifieurs basés sur l'IA tout en conservant ses fonctionnalités intactes. Dans le passé, des travaux notables ont été réalisés dans ce domaine, les chercheurs utilisant soit l'apprentissage par renforcement, soit les réseaux antagonistes génératifs comme armes de choix pour modifier les états d'un exécutable malveillant afin de tromper les agents antivirus. Notre solution combine l'apprentissage par renforcement profond et les GANs pour surmonter certaines des limitations rencontrées lors de l'utilisation indépendante de ces approches, comme illustré ci-dessous.
.png)
Retrouvez la documentation complète de l'outil ici
⚠️ Étant donné que cet outil traite des fichiers malveillants, il est fortement recommandé d'utiliser une machine virtuelle. Après l'installation de l'outil, assurez-vous de vous déconnecter du réseau.
Les étapes suivantes vous guideront à travers toutes les installations nécessaires pour configurer l'environnement.
Clonez le dépôt.
git clone https://github.com/CyberForce/Pesidious
Déplacez-vous dans le répertoire du projet.
cd Pesidious
Configurez et activez un environnement virtuel avec Python 3.6
Il est recommandé d'utiliser un environnement virtuel pour éviter les conflits entre les paquets utilisés par différentes applications
Assurez-vous que pip 8.1.1 est installé et configuré.
Cela est dû au fait que les versions ultérieures de pip ne sont pas compatibles avec la bibliothèque PyTorch.
pip install pip==8.1.1
Installez toutes les bibliothèques requises en installant le fichier requirements.txt.
pip install -r pip_requirements/requirements.txt
La sortie du GAN a déjà été stockée sous (RL_Features/adverarial_imports_set.pk et RL_Features/adverarial_sections_set.pk), qui seront utilisées pour ajouter des imports et des sections au logiciel malveillant lors de la mutation.
Vous pouvez tester le classifieur d'échantillons pour noter les fichiers malveillants.
python classifier.py -d /path/to/directory/with/malware/files
Exécutez le script python mutate.py pour muter vos échantillons de logiciels malveillants.
python mutate.py -d /path/to/directory/with/malware/files
Les fichiers malveillants mutés seront stockés dans un répertoire appelé Mutated_malware au format suivant
Mutated_malware/mutated_<name-of-the-file>
Une fois les fichiers malveillants mutés, vous pouvez exécuter à nouveau le classifieur pour noter les logiciels malveillants mutés.
python classifier.py -d Mutated_malware/
⚠️ AVERTISSEMENT : Cette section est actuellement en construction. Nous nous excusons pour tout inconvénient. Veuillez passer à la section suivante. cliquez ici
pip install -r requirements.txt vous donne une erreur.
Solution :
pip install tqdm
pip install sklearn
pip install lief
Erreur ModuleNotFoundError: No module named 'tensorboardX' lors de l'exécution du script python main_malgan.py.
Solution :
pip install tensorboardX
Erreur lors de l'exécution de import-append, section-append (introuvable)
Solution Donnez les permissions d'exécution à ces exécutables en utilisant les commandes suivantes dans votre 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. et Roth, P. (2018). Learning to Evade Static PE Machine Learning Malware Models via Reinforcement Learning. [en ligne] arXiv.org. Disponible à l'adresse : https://arxiv.org/abs/1801.08917.
Docs.microsoft.com. (n.d.). PE Format - Windows applications. [en ligne] Disponible à l'adresse : https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#general-concepts.
Fang, Z., Wang, J., Li, B., Wu, S., Zhou, Y. et Huang, H. (2019). Evading Anti-Malware Engines With Deep Reinforcement Learning. [en ligne] Ieeexplore.ieee.org. Disponible à l'adresse : https://ieeexplore.ieee.org/abstract/document/8676031 [Consulté le 25 août 2019].
https://resources.infosecinstitute.com. (2019).
Manuel du chercheur en malwares (Démystifier le fichier PE). [en ligne] Disponible à l'adresse : https://resources.infosecinstitute.com/2-malware-researchers-handbook-demystifying-pe-file/#gref.
Hu, W. et Tan, Y. (2018). Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN. [en ligne] arXiv.org. Disponible à l'adresse : https://arxiv.org/abs/1702.05983.