
AutoPentest-DRL : Test de pénétration automatisé utilisant l'apprentissage par renforcement profond
AutoPentest-DRL est un cadre de test de pénétration automatisé basé sur des techniques d'apprentissage par renforcement profond (DRL). AutoPentest-DRL peut déterminer le chemin d'attaque le plus approprié pour un réseau logique donné, et peut également être utilisé pour exécuter une attaque de test de pénétration sur un réseau réel via des outils tels que Nmap et Metasploit. Ce cadre est destiné à des fins éducatives, afin que les utilisateurs puissent étudier les mécanismes d'attaque des tests de pénétration. AutoPentest-DRL est développé par la chaire dotée par NEC de l'organisation et conception de cyber-range (CROND) à l'Institut supérieur de science et technologie du Japon (JAIST) à Ishikawa, Japon.
Un aperçu d'AutoPentest-DRL est présenté ci-dessous. Le cadre reçoit les entrées de l'utilisateur concernant le réseau cible logique, y compris les informations de vulnérabilité ; alternativement, le cadre peut utiliser Nmap pour la numérisation du réseau afin de trouver les vulnérabilités réelles dans un réseau cible réel avec une topologie connue. Le générateur de graphes d'attaque MulVAL est ensuite utilisé pour déterminer les arbres d'attaque potentiels, qui sont introduits sous une forme simplifiée dans le moteur DRL. Le chemin d'attaque produit en sortie peut être utilisé pour étudier les mécanismes d'attaque sur un grand nombre de réseaux logiques. Alternativement, le cadre peut utiliser le chemin d'attaque avec des outils de test de pénétration, tels que Metasploit, permettant à l'utilisateur d'étudier comment l'attaque peut être réalisée sur un réseau cible réel.

Ensuite, nous fournissons des informations succinctes sur la configuration et l'utilisation d'AutoPentest-DRL. Pour plus de détails sur son fonctionnement, veuillez consulter le Guide de l'utilisateur que nous mettons également à disposition.
Plusieurs outils externes sont nécessaires pour utiliser AutoPentest-DRL ; pour les fonctionnalités de base concernant les réseaux logiques, vous aurez besoin de :
repos/mulval du dossier AutoPentest-DRL. Vous devez également configurer le fichier /etc/profile comme discuté ici. Sur certains systèmes, l'outil epstopdf peut également devoir être installé, par exemple en utilisant la commande ci-dessous :
sudo apt install texlive-font-utils
Si vous prévoyez d'utiliser AutoPentest-DRL avec des réseaux réels, vous aurez également besoin de :
nmap sur Ubuntu est donnée ci-dessous :
sudo apt install nmap
pymetasploit3 comme API RPC pour communiquer avec Metasploit, et cet outil doit être installé dans le répertoire Penetration_tools/pymetasploit3 en suivant les instructions de son auteur.AutoPentest-DRL a été principalement développé sur le système d'exploitation Ubuntu 18.04 LTS ; d'autres systèmes d'exploitation peuvent fonctionner, mais n'ont pas été testés. Pour configurer AutoPentest-DRL, utilisez la page des versions pour télécharger la dernière version, et extrayez l'archive du code source dans un répertoire de votre choix (par exemple, votre répertoire personnel) sur l'hôte sur lequel vous prévoyez de l'utiliser.
AutoPentest-DRL est implémenté en Python et nécessite plusieurs packages pour fonctionner. Le fichier requirements.txt inclus dans la distribution peut être utilisé pour installer les packages nécessaires via la commande suivante qui doit être exécutée depuis le répertoire AutoPentest-DRL/ :
$ sudo -H pip install -r requirements.txt
AutoPentest-DRL peut être utilisé directement sur une topologie de réseau logique d'exemple en exécutant la commande suivante dans un terminal depuis le répertoire AutoPentest-DRL/ :
$ python3 ./AutoPentest-DRL.py logical_attack
Dans ce mode d'attaque logique, aucune attaque réelle n'est menée, et AutoPentest-DRL déterminera uniquement le chemin d'attaque optimal pour la topologie du réseau logique décrite dans le fichier MulVal_P/logical_attack_v1.P. En comparant le chemin de sortie avec la visualisation du graphe d'attaque généré par MulVAL dans le fichier mulval_results/AttackGraph.pdf, vous pouvez étudier en détail les étapes de l'attaque logique.
Pour plus d'informations sur le fonctionnement d'AutoPentest-DRL, y compris le mode d'attaque réelle à utiliser lors des tests de pénétration sur des réseaux réels, consultez notre Guide de l'utilisateur.
Pour une liste des contributeurs à ce projet, consultez le fichier CONTRIBUTORS inclus dans la distribution.