An interactive simulation tool designed to help Allegheny Health Network (AHN) leadership understand and quantify ransomware risk, evaluate security control investments, and explore financial/operational outcomes under multiple scenarios. Built for CMU Heinz College Cyber Risk Modeling (CRM) — Group 17.
This dashboard models ransomware risk using Monte Carlo simulation and visualizes:
- Expected Annual Loss (EAL)
- Tail risk (95th percentile losses)
- Recovery time estimates
- Return on Investment (ROI) of security controls
- Scenario comparisons
The tool supports multiple scenarios including:
- Ransomware (primary model)
- Phishing-based intrusion
- Vendor / supply-chain compromise (coming soon! )
The simulation is based on a simplified FAIR-style model:
- Frequency of attacks (TEF)
- Loss magnitude distribution (LM)
- Control effectiveness modifying both frequency and severity
Controls modeled include:
- MFA coverage
- EDR deployment
- SOC monitoring hours / coverage
- Backup strength (RPO/RTO)
The underlying engine is implemented in ransom_model.py. Inputs and assumptions are loaded from data/simulation_inputs.csv.
git clone https://github.com/Tianshu-Huang/crm_final_deliverable.git
cd crm_final_deliverablepython -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windowspip install -r requirements.txtstreamlit run app.pyThen open your browser to:
http://localhost:8501
Adjust organization-specific cybersecurity parameters:
- MFA coverage (%)
- EDR deployment level (%)
- SOC monitoring hours (0–24)
- Backup resilience / RTO
- Budget allocation sliders
These directly update the simulation parameters.
Displayed in interactive visualizations:
The model estimates mean annualized damages from ransomware.
Displaying fat-tail risks and uncertainties.
Useful for extreme—but plausible—risk planning.
Based on backup/RTO inputs.
Quantifies how much loss reduction each security investment produces.
Users can:
- Save baseline settings
- Adjust control parameters
- Compare results against another scenario
This helps leadership make informed budget decisions.
crm_final_deliverable/
│
├── app.py # Streamlit entry point
├── main_dashboard.py # UI layout + dashboard orchestration
├── ransom_model.py # Monte Carlo risk engine
├── scenario_phishing.py # Phishing intrusion scenario
├── scenario_vendor.py # Vendor compromise scenario (if implemented)
│
├── requirements.txt # Dependencies
├── README.md # This file
│
└── data/
├── simulation_inputs.csv # TEF/LM baseline values & control defaults
└── assumptions.csv # (Optional) supplementary inputs
- Launch the dashboard
- Set MFA slider to 90%
- Keep other controls constant
- Run simulation
- Observe:
- Change in EAL
- Reduction in tail risk
- ROI in relation to cost
This allows actionable, data-driven insights for leadership.
You can update inputs in:
data/simulation_inputs.csv
This file contains:
- Baseline frequency
- Loss distribution parameters (µ, σ)
- Control default settings
- Ransom baseline cost
If new data becomes available (e.g., from AHN logs), adjust these values to better reflect real-world posture.
- Model does not capture correlated multi-site outages
- Real-world effectiveness of controls varies by threat actor
- Recovery-time estimates rely on simplified backup assumptions
- Use results as decision support, not deterministic truth
CRM Group 17 (Fall 2025)
- Tianshu Huang
- Evan Crooks
- Mohini Madhur
Carnegie Mellon University