The spread of a computer virus is determined by many factors. In this demonstration you can experiment with different scenarios to discover and how their impact might be minimized.
In this model, the nodes represent the computers/hubs/routers and the links represent the connectivity. To study the spreading of viruses, we generate various artificial network structures, namely the random, tree, small world (Watts and Strogatz.; 1998) and scale-free (Barabasi and Albert; 1999).
A virus is a program which has the ability to spread between computers by replicating itself. A virus works by copying itself into other clean programs and spreads to previously uninfected computers when its host is copied to them. A virus can spread when(Wikipedia; 2005)(Pastor-Satorras and Vespignani; 2004):
- a user carries it over the network;
- it is carried on a removable disk;
- another computer accesses an infected file on a network file system;
- it itself self-replicating without needing to be transferred as part of a host (worm).
How to use the simulation
On the control panel on the right, selects the type of network to generate.
- Random. Connectivity (0 – 1)
- Tree. Branches (>= 2)
- Small world. K (>= 1) and shortcut (0 – 1)
- Scale free.
You can also configure other settings:
- Number of nodes (>= 30): the number of computers
- Number of viruses (>= 1): the number of virus(s)
- Update scheme:
- Simultaneous: Parallel update. Computers states are all updated in parallel, at the same time.
- Succeeding: Random connected pair is picked at each time step
- Target node: the type of node to be infected at the release of a virus
- Richest node: Node with the highest degree
- Random node: Any node in the network
- A (0 – 1): Rate of this virus infection
- B (0 – 1): Rate of recovering from this virus
- C (0 – 1): Probability of a computer is patched when after a patch is available for this virus
- Attack time: Time when the virus is released to the system
- Patch time: Time when a patch is released for this virus