Bienvenue dans notre projet SDN pour la détection des attaques DDoS avec Machine Learning ! Ce projet utilise Ryu comme contrôleur SDN et Mininet pour simuler un réseau, le tout en intégrant un modèle de Machine Learning pour détecter et analyser les attaques DDoS. C'est un peu comme un renard rusé qui détecte les prédateurs avant qu'ils n'attaquent (avec un peu de code et de data, bien sûr 😎).
Avant de commencer à jouer avec le réseau, voici les outils dont tu auras besoin :
- VirtualBox (ou n'importe quelle autre plateforme de virtualisation)
- Python 3.9 (Si tu n'as pas Python 3.9, l'install de Ryu va te faire grincer des dents 🦷)
- Ryu Controller (le cerveau de ton réseau SDN)
- Mininet (pour simuler un réseau et lancer les attaques)
- Machine Learning pour la détection des attaques DDoS
Avant toute chose, importe les VM dans VirtualBox (ou un autre logiciel de virtualisation de ton choix).
Le contrôleur Ryu a besoin d'une configuration spécifique, notamment l'adresse IP du contrôleur dans le code source. Modifie l'adresse dans le script pour qu'elle corresponde à celle de ta machine virtuelle Ryu.
Ouvre un terminal dans ta VM Ryu et exécute la commande suivante pour démarrer le contrôleur :
ryu-manager DT_controller.pyDans ta VM Mininet, démarre le réseau avec le script topology.py :
sudo python topology.pyLes attaques DDoS sont simulées dans cet environnement. Pour voir les résultats, suis les instructions des vidéos. Simule les attaques DDoS et observe les résultats du modèle de Machine Learning.
- Ryu : Le contrôleur SDN gère le réseau et configure les commutateurs à la volée. C'est le cerveau de tout le réseau.
- Mininet : Utilisé pour créer une topologie réseau virtuelle. Nous y lançons les attaques DDoS.
- Machine Learning : On utilise un modèle pour analyser le trafic réseau et détecter les attaques DDoS en temps réel.
Le tout fonctionne dans une architecture SDN, ce qui permet une gestion centralisée et une détection des attaques en temps réel. C'est un peu comme avoir un renard en alerte 24/7 pour éviter les attaques de loup 😜.
Si tu rencontres une erreur liée à la version de Python, assure-toi que tu utilises Python 3.9. Si tu n'as pas cette version, voici comment la compiler :
-
Télécharge Python 3.9 via
wget:wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz tar -xvf Python-3.9.0.tgz cd Python-3.9.0 ./configure make altinstall -
Ensuite, définis Python 3 comme l'alias par défaut :
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 1
Si le système te dit que certaines librairies ne sont pas installées, exécute :
pip install -r requirements.txtSi tu as des problèmes spécifiques avec les versions de evenlet, essaie de désinstaller la version actuelle et d'installer la version 0.30.2 :
pip uninstall eventlet
pip install eventlet==0.30.2Assure-toi que tu as bien configuré l'adresse IP du contrôleur et que tous les ports nécessaires sont ouverts dans ton réseau virtuel.
Ce projet a été développé par une equipe d'etudiants de polytechnique Yaounde En M1-GI et ... Fox 🦊 (oui, c’est moi). on a décidé de combiner notre amour pour les réseaux, la cybersécurité et le Machine Learning pour créer quelque chose d’unique. Si tu as aimé ce projet, n’hésite pas à me le dire (ou même à m’envoyer des memes de renard). Et si tu veux contribuer, tu sais où me trouver.