Modelling Worm Outbreaks in Python to See Which Defences Actually Help
Описание и применение
Симулятор на Python позволяет моделировать распространение вредоносных червей в сети, сравнивая различные топологии и меры защиты. Раннее применение патчей или карантина значительно снижает число заражённых узлов, в то время как поздняя реакция почти неэффективна.
Задача
How to evaluate the effectiveness of defensive measures against fast‑moving worm outbreaks when real incidents cannot be replayed.
Результат
Early interventions (e.g., patch_all at tick 2) reduce infections from 396 to 7 in a 500‑node scale‑free graph, demonstrating that timing outweighs thoroughness.
Рабочий процесс
- 1. Define network topology and worm parameters in a YAML scenario.
2. Load the scenario with
create_simulator_from_config. 3. Run the simulation withsim.run(). 4. Retrieve metrics viasim.get_summary(). 5. Compare scenarios using the Typer CLIcomparecommand or programmatically. - 6. Visualise results with the Plotly module or FastAPI service.
- 7. Iterate by adjusting parameters (e.g., intervention_tick) to study impact.
- 8. Document findings and optionally contribute new scenarios to the repo.
Доказательства
The Worm Propagation Simulator is a small Python project that models how a self‑replicating worm spreads across a network graph, and how defensive measures change the outcome.
The model is simple, but this is the same lesson real incidents keep teaching. Against a fast scanner, a complete response that arrives late is worth almost nothing.
The repo also includes: A Typer CLI, A FastAPI service, A Plotly visualisation module, Docker, Docker Compose and Kubernetes manifests.
- Дата записи: 2026-10-25T15:11:33.294Z