The specification of connectivity is unidirectional, i.e., it states that one virtual message processor may send messages to another. By combining this specification with the virtual message processor specification, nodes of any complexity can be specified. Modeling Hazards, Threats and Vulnerabilities Vulnerabilities are circumstances that can lead to the failure of a system. A security vulnerability, for example, is an aspect of a system that an adversary might exploit to harm a system or to steal information. Simple but unexpected vulnerabilities have been the route by which many serious virus attacks have propagated.
Vulnerabilities are both common and very complex in critical infrastructure systems.
In almost all cases, either the existence of a vulnerability is unknown or the vulnerability is not considered likely to be attacked. This aspect of the problem makes modeling vulnerabilities and their effects at the level of a single node essentially impossible. This is done by requiring that the virtual message processor code maintain a data structure for all the vulnerabilities in the model with a parameter reflecting that virtual message processors susceptibility to each vulnerability. This mechanism permits, for example, statistical analysis of the effects of vulnerabilities that have certain distributions across the network.