The invention is directed to communication networks and in particular to application of cut-sets method to network interdependency security risk assessment.
Threat and Risk Analysis (TRA) is a common term used in the field of Information Technology Security (IT Security) and network security for describing methods that evaluate security risks and subsequently perform security risk management. TRA and other computer or network security risk evaluation and management approaches are collectively called Security Risk Assessment (SRA) methods.
A security risk assessment is the first step in the life cycle of security management. At a high level, the risk assessment is a process which: evaluates threats to business assets; identifies security weaknesses or vulnerabilities that can be taken advantage of by those threats; and prioritizes business risk. The security risk assessment is the process that typically drives all security planning, analysis and design activities in the later methodology stages. The overriding goal of security is to ensure that the security states of the assets meet the requirements in terms of protect the confidentiality, integrity, and availability of the assets. The risk assessment helps determine what controls need to be in place to meet this goal cost effectively.
Traditional system, hardware and similar reliability assessment methods are not applicable to Security Risk Assessment because these methods are based on the premise that failures are random. This is not the case for SRA (Security Risk Assessment) where failures or compromises are often the result of malicious (intentional) attacks. The random nature of failures in system reliability methods allows for the use of duplicate systems for redundancy. In contrast, in SRA domain, duplicate identical systems would not reduce the likelihood of compromise. Furthermore, in addressing non-random (or correlated) failures or events, advice from system reliability literature indicates that these types of failures cannot be handled.
Risk analysis is a complex and time consuming process. In general, it involves:
a) preparing a model of the system under consideration, which implies identifying the assets of the overall system;
b) assigning a value to assets based on the business, operational or service impact of a security event, where a security event is an event causing the lost of confidentiality, integrity or availability;
c) identifying vulnerabilities of assets. The three basic goals of security are ensuring confidentiality, integrity and availability. A vulnerability is any situation that could cause loss of one of those three qualities, termed a security event. This step typically requires predicting what damages might occur to the assets, and from what sources;
d) predicting the likelihood of occurrence of a risk, i.e., determining how often each vulnerability could be exploited. Likelihood of occurrence relates to the stringency of the existing controls and the likelihood that a malicious agent will evade the existing controls; and
e) calculating the expected loss by combining the values generated in (b) through (d) in some arbitrary way to estimate the expected cost (impact) of potential incidents. Currently, entities in the business of managing risk exposure, such as corporate management or insurance service groups, have few actual tools to use in estimating cost (impact). Consequently, conventional risk assessment results are often expressed in terms of estimated cost (impact) calculated using approximations or formulas that do not necessarily reflect actual data.
As indicated above at a), one aspect of successful risk analysis is a complete and accurate accumulation of data to generate system models used by the analysis tools. However, security models generated for a certain system with the current modeling methods do not take into account different groups or assets that compose a given service or mission, and therefore cannot provide a realistic view for complex networks. Moreover, once the security risk information is collected, the information is difficult to keep current with the dynamism of the respective corporation. Without automation, therefore, the task of risk analysis can be complex and very time consuming. An example of a model that addresses some or all of these drawbacks is provided in the above-identified co-pending patent application Ser. No. 11/132,118. The model described there provides a single, detailed, normalized view of the network, including scanners data, firewalls, and routers, servers and other hosts, as well as vulnerability data and business logic. Visual maps of the enterprise network, business applications and potential security problems give security personnel a clear overview of infrastructure security at-a-glance and enables drill-down capabilities for more detailed views.
Software vulnerabilities in telecom and IT infrastructures are discovered and disclosed on a regular basis. The capacity to understand and make informed decisions soon after a vulnerability is publicly disclosed is one key aspect of proactive security, enabling the network operators to assign priorities on an action list for risk mitigation. Yet, the potential impact of a vulnerability on a particular network is difficult to assess in a timely fashion due to the number and nature of those vulnerabilities, as well as the number of network assets and their ever increasing embedded software layers. Thus, networks may have hundreds of different applications systems and servers, thousands of user accounts, and exchange billions of bytes of information over the Internet every day. Some assets may also have embedded software layers and other dependencies, which further complicate security assessment. The sheer volume of users and transactions make it more difficult to design and monitor a secure network architecture. The process of inventorying an organization's application systems, the current level of security measures implemented by the organization, and even the applications architecture can be a daunting task.
In most cases, the current SRA solutions calculate business risks using an attack likelihood based on path determination (i.e. determining the chain of vulnerabilities and assets used to complete the attack). However, in a large and complex network it is extremely difficult and almost impossible to determine all the paths associated with various attacks and therefore their associated likelihoods. In addition, reducing risk calculation to a specific path may be more efficient for a particular vulnerability or combination of vulnerabilities but could lead to misunderstanding of a more complex situation. This simplification could effectively minimize the actual risk which could have a huge impact on the overall assessment of the network security state.
Current generation risk analysis tools could be classified as: network vulnerability scanners (ISS, Symantec, e-Eye Digital Security, Clickto-Secure), intrusion detection systems (netscreen, F-secure, Sprient, Arbor Networks), security event information management (IBM, ArcSight, Intellitactics, NetForensics, e-Security, Symantec) and exposure risk management tools (Skybox View).
1) Tools that work from documented vulnerability databases and possibly repair known vulnerabilities. Tools of this type are vendor-dependent for database updates, either through new product versions or by a subscription service. Examples from this category include ISS' Internet Scanner, Network Associates, Inc.'s CyberCop and Harris' STAT.
2) Monolithic tools that use various parameters to calculate a risk indicator. These tools are difficult to maintain and hard to keep current with the rapidly evolving threat and technology environment. An example of this tool category is Los Alamos Vulnerability Assessment (LAVA) tool.
3) Tools that examine a particular aspect of the system, such as the operating system or database management system, but ignore the other system components. SATAN, for example, analyzes operating system vulnerabilities, but ignores infrastructure components such as routers.
Nonetheless, the currently available SRA tools are deficient in many respects. For example, they use proprietary and fixed risk calculation formulas. These formulas are based on various fixed assumptions which typically include, among others, assumptions relating to network topology (mesh, star, etc.), data (modeling, availability, uncertainty, and type such as qualitative or quantitative), organization type (military, government, business, etc.), and variables (threat, vulnerability, asset value, attack paths). Outputs provided by such formulas also tend not to reflect the actual implications of security in complex information systems. Use of multiple tools from a variety of vendors for a single system analysis is a labor-intensive task. Typically, a security engineer will have to enter a description or representation of the system (network) multiple times in multiple formats. The security engineer then must manually analyze, consolidate and merge the resulting outputs from these multiple tools into a single report of a network's security posture. Afterwards, the security engineer can complete the risk analysis (calculating expected annual loss, surveying controls, etc.), and then repeat the process to analyze alternatives among security risks, system performance, mission functionality and the development budget.
The complexity of SRA solutions is compounded in the case of networks that have a high degree of inter-relationships, interdependencies and possible redundancy, hereinafter referred to as “networking systems”. There are few methods dealing with interdependency issues, and those that do, address it based either on corporate interdependency for IT Security Risk Insurance (due to dependencies on external companies for business, that may not have appropriate IT Security controls in place), or for network and enterprise security (describing the deficiencies in creating a network security model that adequately addresses interdependence).
In the SRAfield, use of algorithms that address highly interdependent systems and networks are predicated on the availability of an appropriate and scalable network security model. However, since no network security models are currently available, calculating the security risk of highly interdependent systems is not currently performed. There are network management mechanisms to model highly interconnected systems, but these do not currently address security issues and SRA. Needless to say, as a result, the potential impact of security vulnerabilities in these networking systems is even more difficult to manage. In general, SRA for interconnected systems is done on an asset-by-asset basis. However, the above identified co-dependent patent application Ser. No. 11/132,118 provides a mechanism to model a highly interdependent networking system, thus allowing further analysis based on the methods described herein.
There is a need for more comprehensive and flexible security assessment and management tools to provide threat and risk analysis for networking systems. A need also exists for an improved method of assessing the information security of large corporate systems in a manner that is based on best industry practices and principles and is reliable, repeatable, cost efficient, and consistent across systems.
It is an object of the invention to provide an easy-to-use and reliable risk calculation framework for a networking system.
It is another object of the invention to provide a comprehensive and flexible security risk assessment and management tool that alleviates totally or in part the drawbacks of the current SRA methods.
Accordingly, the invention provides a security risk analysis method for a system with a high degree of inter-relationships and interdependencies among a plurality of system assets and services, comprising: a) preparing a model for the system; b) from the model, preparing a graph G[V,E] with graph nodes V representing the assets and services, and edges E representing the relationships between the assets and services; c) on the graph, enumerating all minimal cut-sets (MCS) between a first group of graph nodes and a second group of graph nodes to identify all graph nodes that may impact relationships between the first and second groups of dependent graph nodes; and d) assessing the security state of the graph nodes in the MCS's.
Advantageously, the invention allows evaluation of security risks for highly interconnected systems, and for systems with high levels of inter-relationship, interdependence between assets and redundancy.
Another advantage of the invention is that it allows interaction between exploits and assets. For example, let's say that an exploit attacks a network of the interconnected assets (Alcatel's) and a second exploit attacks another network of assets (Cisco's). Separately, these exploits do not take down the complete network together, they may. Use of the invention enables to detect the assets that are more vulnerable to such an attack and take the appropriate countermeasures.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of the preferred embodiments, as illustrated in the appended drawings, where:
This invention provides a mechanism to assess the security risks in networking systems.
Various vulnerabilities 16 may exist for each type of asset 24. A vulnerability 16 is a condition in operation of an asset, which makes it susceptible to an attack, or possibly a failure. A security hole in operating system software is one illustrative example of a vulnerability. The severity level attached to a vulnerability is a probability value [0 . . . 1], which is low if the attacker requires high knowledge, or specialized equipment and many resources to conduct an attack. On the other hand, the vulnerability is rated high severity if the attacker requires low knowledge, no specialized equipment and/or few resources, such as for example a PC and a high-speed Internet connection. Vulnerabilities 16 may be reduced by the users/owners 12 by imposing countermeasures, i.e. actions, such as upgrading a operating system or application software on a computer system asset.
Threat agents 18 are parties wishing to abuse or use assets 24 in a manner not intended by their users/owners 12. A threat 22 is an indication, circumstance or event with the potential to cause the loss of, or damage to an asset. The threat value measures of the motive and the capability of (possibly unknown) adversary; for a broad spectrum of user, it is adequate to assign a threat value based on the vulnerability. This is a probability value [0 . . . 1] which is interpreted going from low to high.
System 30 uses a vulnerability and network inventory database system 46 that stores either information associated with vulnerabilities and assets, or information from which vulnerability and asset information may be derived. Database system 46 may include a security knowledge database 47 for storing information associated with known vulnerabilities, or security information which is converted or otherwise processed to automatically generate vulnerability information. Database system 46 may further include a network profile database 48 for storing network inventory information. Information associated with network assets may be obtained from the network profile database 48 or derived from information which is obtained from the network profile database 48. The databases 47, 48 may reside at a server in a LAN (Local Area Network), for example, in which case information is accessible through a network interface and LAN connections.
For example, the vulnerability information may be represented into a data structure with a vulnerability identifier field and a vulnerability description field. Also by way of example, the asset data structure may include an asset identifier field, an asset type field (e.g. physical or logical asset, service or mission to which the asset is critical or important, etc), an asset value field (security dimension and/or a dollar value), and an asset profile field (information for mapping vulnerabilities to assets, access mechanisms, etc). Information associated with the relationships between an asset and other assets may also be included in the asset profile, in the form of a type of relationship and an asset identifier for each relationship. Based on the security decision model and the vulnerability and network inventory system 46, a risk analyzer as that described in the co-pending application Ser. No. 11/132,118, maintains a security state database (not shown) with the security state of assets in the networks.
The security state includes measures of risk to confidentiality, integrity, availability, or other network or security relevant parameter. The security state is stored as a data structure including preferably an asset or feature identifier, and security state information including direct exposure information, indirect exposure information, total exposure information, and risk information. The security state information fields store exposure and risk values, an identifier of another asset, a relationship type, and a propagated vulnerability in the case of the indirect exposure information, for example. The asset, vulnerability and security data structure information is stored in vulnerability and network inventory database 46. It is to be noted that the above data structures were presented by way of example and they are not intended to limit the scope of the invention.
A network model is described by the network assets and the relationships between these assets.
Relationships between these assets are also shown in
Another type of relationship is illustrated in
The type of propagation of vulnerabilities between assets may be dependent upon the relationship between those assets. For example, a depends-on relationship between server 31 and database 34 might indicate that server 31 availability depends-on database 34 availability, but in the case of a cabled-to relationship, this might not be so. In the latter case, just because asset PC 33 is made unavailable does not necessarily mean that workstation 36 is unavailable. By determining relationships between assets associated with a communication network, a security risk analysis system may be used to assess the propagation of vulnerabilities between related assets.
The risk of an asset (RiskA) depends on the value of the asset (ValueA) and the probability that a weakness has been exploited against the asset (LikelihoodA). Suppose that an asset A is affected by k vulnerabilities V1 . . . Vk. Typically, the risk associated to this single asset is defined as follows:
RiskA=ValueA×LikelihoodA EQ1
LikelihoodA=ThreatA×maximum{Vulnerability(Vi)|1≦i≦k} EQ2
Here, ValueA refers to the amount of loss or damage associated to the compromise of asset A. The likelihood equation EQ2 relies on a given hypothesis, which assumes that for each vulnerability Vi that affects this asset, there must be an “exploited-by” relationship either direct or indirect, between Vi and this asset.
As indicated above, EQ1 and EQ2 are appropriate for a single asset. Suppose now that a service S depends on k assets A1 . . . Ak. If all assets A1 . . . Ak have to be free of compromise (where compromise would result in loss or partial loss of Confidentiality, Integrity or Availability, or other network or security parameter at the asset), the risk associated to the respective service is calculated as follows:
RiskS=ValueS×maximum{Likelihood(Ai)|1≦i≦k} EQ3
Likelihood(Ai) defines the probability that a vulnerability has been exploited against an asset Ai. EQ3 relies on a given hypothesis, which assumes that if Likelihood (Ai)<Likelihood (Aj) then, for a given adversary with a given motive and capability, the likelihood reduces to the vulnerability level. As well, according to the definition of vulnerability, if an adversary can perform a low vulnerability attack (i.e. it has high knowledge and/or many specialized resources), he can also perform a high vulnerability attack.
If only (at least) one of the assets A1 . . . Ak has to be free of compromise (e.g. redundant servers or databases for resilience purpose), the risk associated to the service is calculated according to EQ4:
RiskA=ValueA×minimum{Likelihood(Ai)|1≦i≦k} EQ4
The “cabled-to” relationship in the model represents e.g. an underlying network offering a network service. Therefore, if an asset a, as for example server 31 of
The present invention applies the cut-sets method to a network model that defines the interrelationships and interdependencies in highly connected systems or networks. A cut-set or a cut refers to a set of nodes (or edges) that are removed from a graph, and whose removal disconnects (or cuts) the graph into two connected components on distinct sub-graphs. The minimum cut problem is to find a cut of a minimum size; in other words no sub-set of a minimal cut-set is still a cut-set. In a networking system, a cut or cut-set is a minimal set of nodes selected in such a manner that by removing these nodes of the set, and their adjacent connections, leaves two dependent assets, such as assets 31 and 34 in
Given that removal of the nodes of a cut-set results in two different connected components or networks, with no path remaining between the dependent assets, it results that each identified cut-set may affect in a certain way the security state of the traffic between the two dependent assets, and thereby the security state of the dependent assets themselves. Therefore, the nodes of a cut-set form a set of nodes whose security state should be assessed and prioritized in some order for further mitigation of vulnerable security state.
The cut-set method is used to enumerate the nodes whose security state may impact the communication between two dependent assets. This is done in order to identify and prioritize the nodes that should be secured (or remediated) in order to ensure confidential, accurate and available communications between the two dependent assets.
Next, the security state of the nodes in the respective minimal cut-set is assessed, step 103. As indicated above, the security state affected may be the confidentiality, integrity, availability, or other network or security relevant parameter. If we assume that a minimal cut-set MCSi is composed of k assets Ai,1, . . . Ai,k, the likelihood associated with a given cutset MCSi is given by the following equation:
Likelihood(MCSi)=minimum{Likelihood(Ai,j)|1≦j≦k} EQ5
The minimum of the likelihood is used in EQ5 since if any one of the assets within a cut-set is free of compromise, the adversary would not be successful. So the most unlikely vulnerability has to be taken into consideration. This equation relies on a given hypothesis, which assumes that if an adversary can perform a low vulnerability attack, he can also perform a high one.
The likelihood associated with the interconnecting network G is given by the following equation:
Likelihood(G)=maximum{Likelihood(MCSi)|1≦i≦n} EQ6
The maximum likelihood is used in equation EQ6 since it is sufficient that only one of the (a-b) cut-sets be compromised for the adversary to be successful., Therefore, the most likely vulnerability has to be taken into consideration.
Each parameter participating in the security risk assessment has to be defined in terms of all security risk attributes of interest. More likely, for confidentiality, integrity and availability attributes, the SRA is determined in terms of a 3-tuple CIA component. The risk equation is applied to each security risk attribute for the respective asset, threat and vulnerability value. This approach allows differentiating the risk, based for example on the motives a given adversary may have in regard to disruption of the normal behavior of an asset. In addition, a malicious entity may not have the same threatening capability for each attribute. In the same vein, vulnerabilities target different type of weaknesses, and may result in a different compromise of the system. This leads to the following generic security risk equation for a single asset:
RiskA[C,I,A]=ValueA[C,I,A]×LikelihoodA[C,I,A]
LikelihoodA[C,I,A]=ThreatAC,I,A]×maximum{Vulnerability[C,I,A](Vi)|1≦i≦k} (EQ7)
Assessment of nodes security state may be performed in different ways, with various levels of detail. For example, assessment of security state of all nodes in all cut-sets may be performed in step 103 and presented to the user/client, for prioritization of all nodes in all cut-sets by using user-specific risk prioritization criteria, as shown in step 104. The user may then select whatever remediation activities and use adequate security risk management tools to secure the nodes of interest, step 109.
Or, node prioritization may be performed automatically for each cut-set, using an intra cut-set prioritization algorithm, as shown in step 105. In the current embodiment prioritization 105 is performed using EQ5 as the objective function to be minimized, however for other embodiments, alternative intra cut-set prioritization schemes may be used. In this scenario, the highest priority node for each cut-set from 105 is selected in 106 for security risk management step 109. Still further, the nodes prioritized in step 105 from each cut-set may be further prioritized with respect to the other cut-sets. As shown in step 107, this operation may be performed using an inter cut-set prioritization algorithm. In the current embodiment, prioritization 107 is performed using EQ6 as the objective function to be maximized, however for other embodiments, alternative inter cut-set prioritization schemes may be used. In this scenario, the highest priority node from 107 is selected, step 108 from all sets of nodes and presented to the user as the most important security issue to remediate 109.
The cut-set enumeration step 102 of
We use the following definitions, notations and functions:
G[V,E] is a graph with nodes V and edges E. There are n nodes in V, including source node a, and destination node b. There are 12 nodes (n=12) connected by a plurality of edges (e.g. cables) in the exemplary graph of
a, b are nodes, the source and destination respectively
MCS is a minimal a-b cut-set. To re-iterate, by definition a cut-set S is a subset of nodes selected such that removing all these nodes with their adjacent edges leaves the nodes a and b in two different connected sub-networks or components (i.e. there is no path between a and b in the remaining sub-graph). A cut-set S is minimal (MCS) if no subset of S is still a cut-set.
Cb, referred to as the “component containing the destination node b” is the (maximal) connected component sub-graph resulting from removing the “current” minimal cut-set, and containing node b. By definition of a cut-set, Cb cannot contain any node in the same connected component as node a. Sub-graph Cb is determined relative to a node of a cut-set according to EQ 8:
Cb=ConnectedComponent(b,G[V−MCS]) EQ8
N(a) is the set of nodes adjacent to a node a in graph G (the neighbors of a); and N(X) is the set of nodes adjacent to any of the elements of X.
N+(x), also referred to as “N+” is the set of nodes adjacent to a node x in Cb. N+ is determined according to EQ 9:
N+(x)=N(x)∩Cb. EQ9
I(X), referred to as “isolated nodes” is the subset of nodes X that do not have any edges to Cb, after the nodes in the current MCS were removed. In other words, these nodes can only reach b via one or more nodes in the current MCS, so removing the current MCS will “isolate” these nodes from b. I(X) is determined as:
I(X):{x∈X|(∀w∈Cb)[(x,w)∉E]} EQ10
The cut-set enumeration starts with determining the first MCS that is “closest” to the source node. Each node of this MCS is replaced with (some of) its adjacent nodes, to generate new MCS's. Recursively, each node from the new MCS's is replaced again with its neighbors. The MCS's are stored, as each one is found, into a collector; however, a new MCS is only stored into the collector if it is not a duplicate of an already stored MCS. An AVL tree is preferred for the MCS collector since being a balanced tree it guarantees fast search times. A detailed definition of AVL trees can be found at http://www.nist.gov/dads/HTML/avltree.html). Nonetheless, the invention is not restricted to an AVL collector tree; rather, any other data structures may be used in place of AVL trees. Given a MCS, we replace node x in MCS using EQ11:
newMCS=(MCS∪N+(x))−I(MCS∪N+(x)) EQ11
Published algorithms for enumerating cut-sets typically spend the majority of time in the recalculation of Cb as each new MCS is being generated. To improve the running time of the enumeration, we wish to avoid recalculating Cb. The approach is to calculate Cb once and keep adjusting it as required. This means Cb must be a global variable and each change to Cb must be carefully tracked so that the change can be undone at the right time. Essentially, each invocation of the subroutine must leave Cb unchanged; we achieve this by changing Cb when we need to and immediately restore it.
The following functions are defined and used:
Delta is the difference between the old Cb and the new Cb resulting from replacing a node x of a certain MCS (let's call it MCSk). We use the term “current” (or old) to mean the Cb that corresponds to removing MCSk and “new” to mean the Cb that corresponds to removing MCSk+1 (which is the result of replacing node x of MCSk). Use of Delta avoids the recalculation at the minor expense of adding and subtracting Delta from Cb; this results in a relevant speed increase of the cut-set enumeration, which is a major advantage of the method described here over the prior art methods. Delta is given by EQ12:
Delta=N+(x) EQ12
d(x) is the “shortest distance” from a current node x to destination node b (any one of the destination nodes). Distance d(x) is used to establish whether a node cannot be isolated. Thus, if the shortest distance d(x) from node x to b is greater than the shortest distance d(y) from node y to b, then removing node x cannot isolate node y; since there must be a path from destination node y to b that does not include x, otherwise d(y) must be higher than d(x). The shortest distance between nodes 9 and 7 is 4 shown on
MBIG(U), referred to as “MayBeIsolated” is a group of nodes that may be isolated from the destination by the new MCS. (Note that the d(x) test can determine if a node cannot be isolated; but the d(x) test cannot determine if a node actually is isolated.) The way we do this is to look at the set of nodes in the old Cb that may be isolated from b by the newly constructed cut-set; these “ambiguous nodes” are accumulated into this MayBeIsolated set. In many cases, the MBIG is empty. Again, use of MBIG and d(x) provides a major speed advantage to the cut-set enumeration method of the invention over the existing methods. MBIG(Y) is calculated according to EQ13:
MBIG(Y):{z|(y∈Y),[z∈N+(y)],[d(z)>d(y)]} EQ13
usedDelta is a flag denoting whether Delta has been used, or Cb needs to be calculated (for a new MCS). In other words, the “usedDelta” flag marks whether a re-calculation is needed or not.
The cut-set enumeration commences with establishing the distance d(x) of all nodes to the destination node, step 201. As indicated above, the shortest distances are useful to establish whether a node can become isolated after any node replacement. Note that while flowchart of
For the graph G of
Next, in step 207 the subroutine shown in
Turning now to
If, on the other hand, index i is smaller that the size of MCS, branch “Yes” of decision block 202, the cut-set enumeration continues with step 204, where the next node to be replaced is selected. In the example of
In step 206, the set of nodes that may be isolated from the destination (MBIG) is calculated according to EQ13 using the distance test. For the example of
If MBIG(N+(x)) is not empty, as shown by branch “No” of decision block 206, the flag usedDelta is set to false, to indicate that Delta has not been used, in which case we save the current Cb and the new Cb is calculated according to EQ8 in step 208.
In both instances, the cut-set enumeration continues with step 212, which checks if the enumeration attained the destination node b, by checking if Cb still includes nodes. Thus, if Cb is not empty, as shown by branch “No” of decision block 210, a new MCS is computed in step 214 using EQ11. In the example, the new Cb (see
Decision block 216 filters out the MCS's that are already saved. Thus, the newMCS determined in step 214 is only stored in the MCS_Collector if the newMCS has not already been found.
On the “No” branch of decision block 216, once the newMCS is saved, step 218, a new iteration is (recursively) called to generate further cut-sets by replacing nodes in newMCS. In other words, a new enumeration starting with the first node of the new MCS begins with step 200 on a new instance of the flowchart.
When the subroutine returns, the flag usedDelta is checked to restore Cb. If used Delta is true, branch “Yes” of decision block 222, Cb is set at the value before the last MCS calculation, by adding Delta to the current value of Cb. This is shown in step 224. If usedDelta flag is false, the savedCb value is restored to Cb as show in step 226. After the Cb is restored, the enumeration continues for the next node of the MCS by increasing index i as shown in step 228. Since in step 202 i is still less than the size of the MCS, another iteration of this instance of the enumeration takes place, as shown in
In
When each node of the current MCS has been replaced (which happens when index i is greater than or equal to the size of the MCS), the subroutine returns (“popping the recursion stack” and returning to the previous instance).
The invention is focused specifically on the use of cut-sets, “Node Cut Sets”, “Edge Cut Sets”, “Separator Sets” and similar methods for identifying critical nodes for enabling further analysis of the network security state. In an interconnected graph of nodes and edges (representing nodes and links in a network), there are some graph topologies where the set of minimal cut sets will not include all nodes on available paths between source and destination. Therefore, there may exist some high risk nodes that do not get identified in systems that rely on cut-sets alone. For these isolated cases, other mechanisms are required to identify the high risk nodes (i.e., by assessment of risks for nodes that are on a known routed path between dependent assets), which are not the object of the invention.
The present application is related to U.S. patent application Ser. No. 11/132,118, entitled “Communication Network Security Risk Exposure Management Systems And Methods” (Cosquer et al.), and filed on May 18, 2005. The entire content of the above-identified related application is incorporated into the present application by reference.