# US 12,192,226 B2 · Method and system for calculating multi-dimensional metrics through a system of dependencies

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,226 B2
- Document ID: US12192226B2
- Status: Granted
- Kind: B2
- Application number: 18/071,431
- Filed: 2022-11-29
- Published: 2023-10-26
- Granted: 2025-01-07
- Earliest claimed: 2022-04-22
- Assignees: Xerox Corporation
- Applicants: Palo Alto Research Center Incorporated
- Inventors: Marc E. Mosko; Massimiliano Albanese; Ibifubara Iganibo
- Web page: https://patentgrep.com/patent/US12192226B2

## CPC

- H04L 63/1433: {Vulnerability analysis}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 41/0823: characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02)
- H04L 63/1416: {Event detection, e.g. attack signature detection}
- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- H04L 63/1466: {Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system determines an on/off feature and vulnerability and dependency nodes in a graph which represents a system of components. The feature enables vulnerability nodes based on a probability that a vulnerability will be exploited, and a vulnerability degrades a utility of one or more components based on an exposure factor. The system calculates, for a path in the graph to a component, a loss of utility of a given dimension of multiple dimensions based on a combiner operator and a logic operator. The combiner operator takes inputs which represent a weighted probability that the given dimension is degraded, and the logic operator defines the inputs based on a probability and exposure factor. The system aggregates calculated losses of utility across the multiple dimensions for the system components. The system selects a combination of possible on/off feature values which results in a lowest loss of utility for the components.

## Claims

### Claim 1

A computer-executable method, comprising:
determining a feature with one of an on value and an off value;
determining, in a graph which represents a system of components:
vulnerability nodes which represent known vulnerabilities to the system, wherein the feature enables one or more vulnerability nodes based on a respective probability that a respective vulnerability will be exploited; and
dependency nodes which represent the components of the system, wherein a respective vulnerability degrades a utility of one or more components based on an exposure factor, and wherein a respective component depends on zero or more other components based on a weight;
calculating, for a path in the graph to a first component, a loss of utility of a given dimension of multiple dimensions based on:
a combiner operator which takes a first set of inputs which represent a weighted probability that the given dimension is degraded; and
a logic operator which defines the first set of inputs based on at least a respective probability and a respective exposure factor;
aggregating calculated losses of utility for the components of the system for each combination of possible on/off values for one or more features, wherein a respective calculated loss of utility corresponds to a respective dimension of the multiple dimensions; and
selecting a first combination of the possible on/off values for the one or more features which results in a lowest loss of utility for the components.

### Claim 2 (depends on 1)

The method of claim 1,
wherein the feature comprises a constraint, wherein the one or more features comprise one or more constraints, and wherein the constraint is one of the one or more constraints, and
wherein the constraint is related to a limitation on a configurable parameter for a component of the system of the components.

### Claim 3 (depends on 1)

The method of claim 1, wherein the known vulnerabilities represented by the vulnerability nodes are based on at least one of:
common vulnerabilities and exposures (CVE) based on a national vulnerability database (NVD);
non-CVE vulnerabilities; and
a predefined bad practice or best practice.

### Claim 4 (depends on 1)

The method of claim 1, wherein a dependency between the respective component and a first component upon which the respective component depends is associated with at least one of:
a scaled dependency, in which the respective component degrades in a proportion to how the first component is impacted;
a strict dependency, in which the respective component degrades completely based on how the first component is impacted;
a redundant dependency, in which the respective component degrades if the first component and other components in a redundant pool of resources are impacted; and
a proportional dependency, in which the respective component degrades by a fixed factor if a first component is impacted.

### Claim 5 (depends on 1)

The method of claim 1, wherein the multiple dimensions include at least one of:
a confidentiality dimension;
an integrity dimension; and
an availability dimension.

### Claim 6 (depends on 1)

The method of claim 1,
wherein the combiner operator determines how the first set of inputs combine to degrade a utility of a given dependency node.

### Claim 7 (depends on 1)

The method of claim 1, wherein the weighted probability represented by the first set of inputs comprises:
for a direct vulnerability in the path, the respective probability and the respective exposure factor; and
for an indirect vulnerability or a direct dependency in the path, the respective probability, the respective exposure factor, and results of a combiner operator for a prior dependency in the path.

### Claim 8 (depends on 1)

The method of claim 1,
wherein the logic operator determines how a second set of inputs affect the respective exposure factor of a given vulnerability node, and
wherein the second set of inputs comprises a result of the logic operator on one or more respective probabilities.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
applying an updated configuration for the system based on the calculated loss of utility for the first component or the aggregated calculated losses of utility for the components of the system,
wherein the updated configuration is based on the selected first combination of possible on/off values.

### Claim 10 (depends on 1)

The method of claim 1,
wherein the graph comprises a multi-layer graph which includes a configuration subgraph, a vulnerability subgraph, and a dependency subgraph,
wherein the vulnerability subgraph includes the vulnerability nodes, and
wherein the dependency subgraph includes the dependency nodes.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
displaying, on a screen of a user device, one or more interactive elements which allow the user to:
view the multi-layer graph, including the vulnerability nodes, the dependency nodes, directed edges, likelihoods of exploitation associated with vulnerability nodes, exposure factors, weights, and dependency functions in any of the configuration subgraph, the vulnerability subgraph, and the dependency subgraph;
view or modify configuration parameters for the system using a graph generation tool to obtain the one or more configurations;
obtain a calculated loss of utility for any component represented in the multi-layer graph, including across the multiple dimensions;
view the calculated loss for the one or more configurations;
select a first configuration of the one or more configurations; and
view an explanation of evidence associated with the selected first configuration.

### Claim 12

A computer system comprising:
a processor; and
a storage device storing instructions that when executed by the processor cause the processor to perform a method, the method comprising:
determining a feature with one of an on value and an off value;
determining, in a graph which represents a system of components:
vulnerability nodes which represent known vulnerabilities to the system, wherein the feature enables one or more vulnerability nodes based on a respective probability that a respective vulnerability will be exploited; and
dependency nodes which represent the components of the system, wherein a respective vulnerability degrades a utility of one or more components based on an exposure factor, and wherein a respective component depends on zero or more other components based on a weight;
calculating, for a path in the graph to a first component, a loss of utility of a given dimension of multiple dimensions based on:
a combiner operator which takes a first set of inputs which represent a weighted probability that the given dimension is degraded; and
a logic operator which defines the first set of inputs based on at least a respective probability and a respective exposure factor;
aggregating calculated losses of utility for the components of the system for each combination of possible on/off values for one or more features, wherein a respective calculated loss of utility corresponds to a respective dimension of the multiple dimensions; and
selecting a first combination of the possible on/off values for the one or more features which results in a lowest loss of utility for the components.

### Claim 13 (depends on 12)

The computer system of claim 12, wherein the multiple dimensions include at least one of:
a confidentiality dimension;
an integrity dimension; and
an availability dimension.

### Claim 14 (depends on 12)

The computer system of claim 12,
wherein the combiner operator determines how the first set of inputs combine to degrade a utility of a given dependency node, and
wherein the weighted probability represented by the first set of inputs comprises:
for a direct vulnerability in the path, the respective probability and the respective exposure factor; and
for an indirect vulnerability or a direct dependency in the path, the respective probability, the respective exposure factor, and results of a combiner operator for a prior dependency in the path.

### Claim 15 (depends on 12)

The computer system of claim 12,
wherein the logic operator determines how a second set of inputs affect the respective exposure factor of a given vulnerability node, and
wherein the second set of inputs comprises a result of the logic operator on one or more respective probabilities.

### Claim 16 (depends on 12)

The computer system of claim 12, wherein the method further comprises:
applying an updated configuration for the system based on the calculated loss of utility for the first component or the aggregated calculated losses of utility for the components of the system,
wherein the updated configuration is based on the selected first combination of possible on/off values.

### Claim 17 (depends on 12)

The computer system of claim 12,
wherein the graph comprises a multi-layer graph which includes a configuration subgraph, a vulnerability subgraph, and a dependency subgraph,
wherein the vulnerability subgraph includes the vulnerability nodes, and
wherein the dependency subgraph includes the dependency nodes, and
wherein the method further comprises displaying, on a screen of a user device, one or more interactive elements which allow the user to:
view the multi-layer graph, including the vulnerability nodes, the dependency nodes, directed edges, likelihoods of exploitation associated with vulnerability nodes, exposure factors, weights, and dependency functions in any of the configuration subgraph, the vulnerability subgraph, and the dependency subgraph;
view or modify configuration parameters for the system using a graph generation tool to obtain the one or more configurations;
obtain a calculated loss of utility for any component represented in the multi-layer graph, including across the multiple dimensions;
view the calculated loss for the one or more configurations;
select a first configuration of the one or more configurations; and
view an explanation of evidence associated with the selected first configuration.

### Claim 18

A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:
determining a feature with one of an on value and an off value;
determining, in a graph which represents a system of components:
vulnerability nodes which represent known vulnerabilities to the system, wherein the feature enables one or more vulnerability nodes based on a respective probability that a respective vulnerability will be exploited; and
dependency nodes which represent the components of the system, wherein a respective vulnerability degrades a utility of one or more components based on an exposure factor, and wherein a respective component depends on zero or more other components based on a weight;
calculating, for a path in the graph to a first component, a loss of utility of a given dimension of multiple dimensions based on:
a combiner operator which takes a first set of inputs which represent a weighted probability that the given dimension is degraded; and
a logic operator which defines the first set of inputs based on at least a respective probability and a respective exposure factor;
aggregating calculated losses of utility for the components of the system for each combination of possible on/off values for one or more features, wherein a respective calculated loss of utility corresponds to a respective dimension of the multiple dimensions; and
selecting a first combination of the possible on/off values for the one or more features which results in a lowest loss of utility for the components.

### Claim 19 (depends on 18)

The storage medium of claim 18,
wherein the combiner operator determines how the first set of inputs combine to degrade a utility of a given dependency node,
wherein the weighted probability represented by the first set of inputs comprises:
for a direct vulnerability in the path, the respective probability and the respective exposure factor; and
for an indirect vulnerability or a direct dependency in the path, the respective probability, the respective exposure factor, and results of a combiner operator for a prior dependency in the path,
wherein the logic operator determines how a second set of inputs affect the respective exposure factor of a given vulnerability node, and
wherein the second set of inputs comprises a result of the logic operator on one or more respective probabilities.

### Claim 20 (depends on 18)

The storage medium of claim 18, wherein the method further comprises:
applying an updated configuration for the system based on the calculated loss of utility for the first component or the aggregated calculated losses of utility for the components of the system,
wherein the updated configuration is based on the selected first combination of possible on/off values,
wherein the graph comprises a multi-layer graph which includes a configuration subgraph, a vulnerability subgraph, and a dependency subgraph,
wherein the vulnerability subgraph includes the vulnerability nodes, and
wherein the dependency subgraph includes the dependency nodes, and
wherein the method further comprises displaying, on a screen of a user device, one or more interactive elements which allow the user to:
view the multi-layer graph, including the vulnerability nodes, the dependency nodes, directed edges, likelihoods of exploitation associated with vulnerability nodes, exposure factors, weights, and dependency functions in any of the configuration subgraph, the vulnerability subgraph, and the dependency subgraph;
view or modify configuration parameters for the system using a graph generation tool to obtain the one or more configurations;
obtain a calculated loss of utility for any component represented in the multi-layer graph, including across the multiple dimensions;
view the calculated loss for the one or more configurations;
select a first configuration of the one or more configurations; and
view an explanation of evidence associated with the selected first configuration.
