Artifacts for Usenix Security Symposium '25 paper "Voluntary Investments, Mandatory Minimums, or Cyber Insurance: What Minimizes Losses?"
Description
Artifacts for "Voluntary Investment, Mandatory Minimums, or Cyber Insurance: What minimizes losses?"
To appear at Usenix Security 2025
This repository contains the code and data necessary to reproduce all figures, regressions, and simulations used in the paper "Voluntary Investment, Mandatory Minimums, or Cyber Insurance: What minimizes losses?", to appear at Usenix Security 2025. This upload contains two components:
- artifacts.tar.gz: This is a compressed file containing two directories:
- parameter-calcs/ : The datasets used in the empirical research portion of this work as well as the scripts used to analyze the datasets, and the resulting figures and calculated outputs.
- simulator/. : The code of the model, as well as all config files and generated data, as well as all scripts used to analyze the generated data, and the resulting figures and outputs.
- containerized.tar.gz: The code in simulator/ may be difficult to compile. To ease artifact evaluation, we have also included a containerized version of the above app, to be run with Docker.
Finally, while not included in this Zenodo upload, we also refer to the website cyberspending.cs.columbia.edu, which hosts the containerized application. The link to this website is also included for ease of use. We intend to maintain and support this website indefinitely. Reproducing Parameter Calculations
python3 parameter-calcs/scripts/ransom_regression_plot.py ,which will produce outputs in parameter-calcs/figures/ransom_regression/.python3 parameter-calcs/scripts/plot_erf.py, which will produce outputs in parameter-calcs/figures/erf/python3 parameter-calcs/scripts/curve_fit_attack_rate.py, which will produce outputs in parameter-calcs/figures/attackrate_fitting/python3 parameter-calcs/scripts/curve_fit_posture.py, which will produce outputs in parameter-calcs/figures/posture_fitting/python3 parameter-calcs/scripts/fit_marketcap_revenue_curves.py,parameter-calcs/scripts/secinvestments.nb (may require a Mathematica license).Reproducing Simulator Outputs
Baseline Model Behavior
cd simulator/scriptspython3 run_all.py ../logs/fullsize_short.csvsimulator/scripts/figures/fullsize_short/../simulator/run/release/run_games simulator/configs/fullsize_short.jsonOne-Way Sensitivity Analysis
cd simulator/scriptspython3 plot_sensitivity_analysis.pysimulator/scripts/figures/sensitivvity_analysis/simulator/configs/sweeps/, e.g../simulator/run/release/run_games simulator/configs/sweeps/MAX_ITERATIONS=500/sweep_INEQUALITY.jsonMandated Security Investments
cd simulator/scriptspython3 run_all.py ../logs/fullsize_short_MANDATORY_INVESTMENT=0.01.csvpython3 run_all.py ../logs/fullsize_short_MANDATORY_INVESTMENT=0.02.csvpython3 run_all.py ../logs/fullsize_short_MANDATORY_INVESTMENT=0.03.csvpython3 run_all.py ../logs/fullsize_short_MANDATORY_INVESTMENT=0.04.csvpython3 run_all.py ../logs/fullsize_short_MANDATORY_INVESTMENT=0.05.csvsimulator/scripts/figures/, e.g. simulator/scripts/figures/fullsize_short_MANDATORY_INVESTMENT=0.01/./simulator/run/release/run_games simulator/configs/fullsize_short_MANDATORY_INVESTMENT=0.01.json./simulator/run/release/run_games simulator/configs/fullsize_short_MANDATORY_INVESTMENT=0.02.json./simulator/run/release/run_games simulator/configs/fullsize_short_MANDATORY_INVESTMENT=0.03.json./simulator/run/release/run_games simulator/configs/fullsize_short_MANDATORY_INVESTMENT=0.04.json./simulator/run/release/run_games simulator/configs/fullsize_short_MANDATORY_INVESTMENT=0.05.jsonMandated Insurance
cd simulator/scriptspython3 run_all.py ../logs/fullsize_short_mandatory_insurance.csvsimulator/scripts/figures/fullsize_short_mandatory_insurance/./simulator/run/release/run_games simulator/configs/fullsize_short_mandatory_insurance.jsonActuarially Fair Insurance
cd simulator/scriptspython3 run_all.py ../logs/fullsize_short_selfless_insurers.csv"simulator/scripts/figures/fullsize_short_selfless_insurers/./simulator/run/release/run_games simulator/configs/fullsize_short_selfless_insurers.jsonA Non-Closed Ecosystem
cd simulator/scriptspython3 run_all.py ../logs/fullsize_short_with_asset_growth_GROWTH_RATE=0.001.csvpython3 run_all.py ../logs/fullsize_short_with_asset_growth_GROWTH_RATE=0.002.csvpython3 run_all.py ../logs/fullsize_short_with_asset_growth_GROWTH_RATE=0.01.csvsimulator/scripts/figures/, e.g. simulator/scripts/figures/fullsize_short_with_asset_growth_GROWTH_RATE=0.01/../simulator/run/release/run_games simulator/configs/fullsize_short_with_asset_growth_GROWTH_RATE=0.001.json./simulator/run/release/run_games simulator/configs/fullsize_short_with_asset_growth_GROWTH_RATE=0.002.json./simulator/run/release/run_games simulator/configs/fullsize_short_with_asset_growth_GROWTH_RATE=0.01.jsonFiles
Files
(401.5 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:5ba9dee7f873e3f924605a75fd83e8b1
|
398.1 MB | Download |
|
md5:ce1cc60d7f68ecb5396e0e77036f47ff
|
3.4 MB | Download |