
Laboratorio di simulazione e difesa di attacchi HTTP/2 - Slowloris, Rapid Reset (CVE-2023-44487), attacchi HPACK Bomb con 5 difese a strati. Costruito in puro Python con socket raw e libreria h2.
Un laboratorio di simulazione e difesa degli attacchi HTTP/2 costruito da zero in puro Python.
Simula 3 attacchi HTTP/2 reali contro un server vulnerabile, poi dimostra 5 livelli di difesa che bloccano tutti e 3 su un server protetto.
| Attacco | Tecnica | Impatto |
|---|
| Slowloris | Aprire stream, mai inviare END_STREAM | Esaurimento RAM |
| Rapid Reset | Alluvione RST_STREAM (CVE-2023-44487) | Esaurimento CPU |
| HPACK Bomb | 300+ header per richiesta | Attacco di allocazione memoria |
| Difesa | Metodo |
|---|---|
| Slowloris Watchdog | Thread in background uccide le connessioni inattive |
| Rapid Reset Ban | IP bannato permanentemente dopo 10 RST |
| Header Flood Block | Reset dello stream se header > 25 |
| Rate Limiter | IP bannato dopo 60 richieste/min |
| Stream Cap | MAX_CONCURRENT_STREAMS = 20 |
Server Base → 0/3 bloccati (0%) Server Protetto → 3/3 bloccati (99%)
pip install h2
# Terminal 1
python3 basic_server.py
# Terminal 2
python3 hardened_server.py
# Terminal 3
python3 compare.py