Skip to content
Calcrivo

Malware Spread Calculator

Model worm or malware propagation with an SIR epidemic model: R0, doubling time, projected infections and containment threshold.

Inputs

hosts
hosts
contacts/day
%

Driven by patch level, EDR coverage and credential reuse

%
days
days

Basic Reproduction Number R₀

5.40

Infection Doubling Time

0.52days

Infected at the Horizon

4,000hosts

Projected Total Infected

3,981hosts

Final Attack Rate

79.6%

Remediation Time Needed for R₀ < 1

0.58days

Containment Verdict

Explosive — isolate the segment now; host-by-host cleanup will not keep up

Step by step

  1. Values used

    Reachable hosts = 5,000 hosts; Hosts infected at detection = 3 hosts; Susceptible hosts contacted per infected host per day = 12 contacts/day; Probability a contact succeeds = 18 %; Hosts already immune — patched or hardened = 20 %; Mean days to clean an infected host = 2.50 days; Projection horizon = 14 days

  2. Malware Spread

    β = contactRate × infectionProbability; γ = 1 ÷ meanRemediationDays; R0 = β ÷ γ. Growth = β × (S ÷ N) − γ, and the doubling time is ln 2 ÷ growth.

  3. Final epidemic size

    The final attack size solves z = 1 − e^(−R0·z) by fixed-point iteration; total infected ≈ initial + z × susceptible.

  4. Basic Reproduction Number R₀

    = 5.40

  5. Infection Doubling Time

    = 0.52 days

  6. Infected at the Horizon

    = 4,000 hosts

  7. Projected Total Infected

    = 3,981 hosts

  8. Final Attack Rate

    = 79.6

  9. Remediation Time Needed for R₀ < 1

    = 0.58 days

How it works

This is the standard deterministic SIR model applied to hosts instead of people. β captures how aggressively the malware reaches out and how often that lands, γ captures how fast your team removes hosts from the infected pool, and R0 is their ratio — the single number that decides whether an outbreak grows or dies. Because the model is deterministic and homogeneous-mixing, treat it as an order-of-magnitude prioritisation estimate rather than a prediction of specific hosts. R0 tells you whether the answer is 'clean the infected machines' or 'pull the network cable', and that decision usually has to be made in the first hour with exactly these few numbers.

Formulas

Malware Spread

β = contactRate × infectionProbability; γ = 1 ÷ meanRemediationDays; R0 = β ÷ γ. Growth = β × (S ÷ N) − γ, and the doubling time is ln 2 ÷ growth.

β
New infections caused per infected host per day
γ
Rate at which infected hosts are returned to service clean
R0
Secondary infections per infected host before it is cleaned
S ÷ N
Share of the estate still susceptible

Final epidemic size

The final attack size solves z = 1 − e^(−R0·z) by fixed-point iteration; total infected ≈ initial + z × susceptible.

z
Fraction of the susceptible population eventually infected
R0
Basic reproduction number

Frequently Asked Questions

How is Malware Spread calculated?

β = contactRate × infectionProbability; γ = 1 ÷ meanRemediationDays; R0 = β ÷ γ. Growth = β × (S ÷ N) − γ, and the doubling time is ln 2 ÷ growth. This is the standard deterministic SIR model applied to hosts instead of people. β captures how aggressively the malware reaches out and how often that lands, γ captures how fast your team removes hosts from the infected pool, and R0 is their ratio — the single number that decides whether an outbreak grows or dies. Because the model is deterministic and homogeneous-mixing, treat it as an order-of-magnitude prioritisation estimate rather than a prediction of specific hosts.

Why does Malware Spread matter?

R0 tells you whether the answer is 'clean the infected machines' or 'pull the network cable', and that decision usually has to be made in the first hour with exactly these few numbers.

What values do I need to enter?

This calculator takes 7 inputs: Reachable hosts, Hosts infected at detection, Susceptible hosts contacted per infected host per day, Probability a contact succeeds, Hosts already immune — patched or hardened, Mean days to clean an infected host, Projection horizon. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why does segmentation help so much?

Because it cuts the contact rate directly, and β is linear in contact rate. Halving reachable neighbours halves R0, which is often the difference between an outbreak that grows and one that burns out on its own.

Is homogeneous mixing realistic on a real network?

No — real estates are clustered, so early spread is usually faster inside a subnet and slower between them than the model says. Use it to decide direction and urgency, not to forecast an exact host count.

You might also need