
Laboratoire de simulation et de défense contre les attaques HTTP/2 - attaques Slowloris, Rapid Reset (CVE-2023-44487), HPACK Bomb avec 5 couches de défense. Construit en pur Python avec des sockets bruts et la bibliothèque h2.
Un laboratoire de simulation et de défense contre les attaques HTTP/2, développé entièrement en Python, à partir de zéro.
Simule 3 attaques HTTP/2 réelles contre un serveur vulnérable, puis montre 5 couches de défense bloquant les 3 attaques sur un serveur renforcé.
| Attaque | Technique | Impact |
|---|
| Slowloris | Ouvrir un flux, ne jamais envoyer END_STREAM | Épuisement de la RAM |
| Rapid Reset | Inondation RST_STREAM (CVE-2023-44487) | Épuisement du CPU |
| HPACK Bomb | 300+ en-têtes par requête | Attaque par allocation mémoire |
| Défense | Méthode |
|---|---|
| Watchdog Slowloris | Thread d'arrière-plan qui tue les connexions inactives |
| Bannissement Rapid Reset | IP bannie définitivement après 10 RSTs |
| Blocage d'inondation d'en-têtes | Réinitialisation du flux si plus de 25 en-têtes |
| Limiteur de débit | IP bannie après 60 req/min |
| Limitation de flux | MAX_CONCURRENT_STREAMS = 20 |
Serveur de base → 0/3 bloquées (0%) Serveur renforcé → 3/3 bloquées (99%)
pip install h2
# Terminal 1
python3 basic_server.py
# Terminal 2
python3 hardened_server.py
# Terminal 3
python3 compare.py