IP Library Granted Patent US 12,192,226
Granted Patent B2
US 12,192,226 · App. 18/071,431 · Granted Jan 7, 2025

Method and system for calculating multi-dimensional metrics through a system of dependencies

Inventors: Marc E. Mosko (Kensington, CA); Massimiliano Albanese (Potomac, MD); Ibifubara Iganibo (Faifax, VA)
Assignee: Xerox Corporation
H04L63/1433H04L41/0816H04L63/1416H04L63/1425H04L63/1466
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,192,226
App. No.
18/071,431
Granted
Jan 7, 2025
Kind
B2
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 (117)

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.

2. 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.

3. 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.

4. 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.

5. The method of claim 1 , wherein the multiple dimensions include at least one of:

a confidentiality dimension;

an integrity dimension; and

an availability dimension.

6. 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.

7. 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.

8. 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.

9. 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.

10. 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.

11. 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.

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.

13. 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.

14. 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.

15. 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.

16. 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.

17. 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.

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.

19. 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.

20. 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.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2026
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 075020/0755 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2023
From: MOSKO, MARC E.; ALBANESE, MASSIMILIANO; IGANIBO, IBIFUBARA
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 062331/0903 →
Continuity (2)
Provisional Application 63334032 · Apr 22, 2022
Related Publication 20230344856A1 · Oct 26, 2023
References Cited (102)
US 6742128B1 · Joiner · 2004 [cited by applicant]
US 7013395B1 · Swiler · 2006 [cited by applicant]
US 7627900B1 · Noel · 2009 [cited by applicant]
US 9215158B1 · Adogla · 2015 [cited by applicant]
US 9317692B2 · Elder · 2016 [cited by applicant]
US 9684865B1 · Ezick · 2017 [cited by applicant]
US 9705978B1 · Kenigsberg · 2017 [cited by applicant]
US 9736173B2 · Li · 2017 [cited by applicant]
US 10313382B2 · Noel · 2019 [cited by applicant]
US RE47757E · Hering · 2019 [cited by applicant]
US 10516761B1 · A · 2019 [cited by applicant]
US 10601854B2 · Lokamathe · 2020 [cited by applicant]
US 10771489B1 · Bisht · 2020 [cited by applicant]
US 10812499B2 · Hassanzadeh · 2020 [cited by applicant]
US 10904270B2 · Muddu · 2021 [cited by applicant]
US 11265292B1 · Leviseur · 2022 [cited by applicant]
US 20060265324A1 · Leclerc · 2006 [cited by applicant]
US 20070011319A1 · Mcclure · 2007 [cited by applicant]
US 20080098479A1 · O'Rourke · 2008 [cited by applicant]
US 20080104665A1 · Naldurg · 2008 [cited by applicant]
US 20080172716A1 · Talpade · 2008 [cited by applicant]
US 20090077666A1 · Chen · 2009 [cited by applicant]
US 20090265199A1 · Moerdler · 2009 [cited by applicant]
US 20100095381A1 · Levi · 2010 [cited by applicant]
US 20100192195A1 · Dunagan · 2010 [cited by applicant]
US 20130232331A1 · Farhan · 2013 [cited by applicant]
US 20130247205A1 · Schrecker · 2013 [cited by applicant]
US 20150058993A1 · Choi · 2015 [cited by applicant]
US 20150244734A1 · Olson · 2015 [cited by applicant]
US 20160050116A1 · Sheshadri · 2016 [cited by applicant]
US 20160205122A1 · Bassett · 2016 [cited by applicant]
US 20170034023A1 · Nickolov · 2017 [cited by applicant]
US 20170078320A1 · Hughes · 2017 [cited by applicant]
US 20170177740A1 · Abaya · 2017 [cited by applicant]
US 20170195349A1 · Shabtai · 2017 [cited by applicant]
US 20170286690A1 · Chari · 2017 [cited by applicant]
US 20170289187A1 · Noel · 2017 [cited by applicant]
US 20170324768A1 · Crabtree · 2017 [cited by applicant]
US 20180210927A1 · Karam · 2018 [cited by applicant]
US 20180322407A1 · Baum · 2018 [cited by applicant]
US 20190098039A1 · Gates · 2019 [cited by applicant]
US 20200053116A1 · Soroush · 2020 [cited by applicant]
US 20200110774A1 · Lakshmanan · 2020 [cited by applicant]
US 20200137104A1 · Hassanzadeh · 2020 [cited by applicant]
US 20200167705A1 · Risoldi · 2020 [cited by applicant]
US 20200175174A1 · Bakalli · 2020 [cited by applicant]
US 20200177608A1 · Okunlola · 2020 [cited by applicant]
US 20200177615A1 · Grabois · 2020 [cited by applicant]
US 20200177617A1 · Hadar · 2020 [cited by applicant]
US 20200177618A1 · Hassanzadeh · 2020 [cited by applicant]
US 20200244691A1 · Veeramany · 2020 [cited by applicant]
US 20200311630A1 · Risoldi · 2020 [cited by applicant]
US 20200412758A1 · Trivellato · 2020 [cited by applicant]
US 20210012012A1 · Soroush · 2021 [cited by applicant]
US 20210014065A1 · Gourisetti · 2021 [cited by applicant]
US 20210014264A1 · Soroush · 2021 [cited by applicant]
US 20210014265A1 · Hadar · 2021 [cited by applicant]
US 20210409439A1 · Engelberg · 2021 [cited by applicant]
US 20220014534A1 · Basovskiy · 2022 [cited by examiner]
US 20220191230A1 · Morgan · 2022 [cited by examiner]
US 20220263860A1 · Crabtree · 2022 [cited by applicant]
CN 106991325A · 2017 [cited by applicant]
CN 106997437A · 2017 [cited by applicant]
CN 107038380A · 2017 [cited by applicant]
CN 107066256A · 2017 [cited by applicant]
CN 108123962A · 2018 [cited by applicant]
CN 110138788A · 2019 [cited by applicant]
CN 110188871A · 2019 [cited by applicant]
CN 110191120A · 2019 [cited by applicant]
CN 111611586A · 2020 [cited by applicant]
CN 112766374A · 2021 [cited by applicant]
KR 102079970B1 · 2020 [cited by applicant]
WO 0070463A1 · 2000 [cited by applicant]
WO 2007143226A2 · 2007 [cited by applicant]
WO 2019186722A1 · 2019 [cited by applicant]
Albanese, M., & Jajodia, S. (2017). A Graphical Model to Assess the Impact of Multi-Step Attacks. The Journal of Defense Modeling and Simulation. 79-93. [cited by applicant]
Albanese, M., Pugliese, A., & Subrahmanian, V. (2013). Fast Activity Detection: Indexing for Temporal Stochastic Automaton-Based Activity Models. IEEE Transactions on Knowledge and Data Engineering, 360-373. [cited by applicant]
Bahl, P., Barham, P., & Black, R. (2006). Discovering Dependencies for Network Management. ACM HotNets. [cited by applicant]
BeyondTrust. (2018). Retina. Retrieved from Retina: https://www.beyondtrust.com/products/retina-network-security-scanner/. [cited by applicant]
CyVision. (2018). CyVision. Retrieved from CyVision: https://www.cyvisiontechnologies.com/. [cited by applicant]
GraphX. (2018). GraphX. Retrieved from GraphX: https://spark.apache.org/graphx/. [cited by applicant]
Leversage, D., & Byres, E. (2008). Estimating a system's mean time-to-compromise. IEEE Security & Privacy, 52-60. [cited by applicant]
Mitre. (2018). CVE. Retrieved from CVE: https://cve.mitre.org/. [cited by applicant]
MSR. (2018). Z3 Guide. Retrieved from Z3 Guide: https://rise4fun.com/z3/tutorialcontent/guide#h23. [cited by applicant]
Natarajan, A., Ning, P., Liu, Y., Jajodia, S., & Hutchinson, S. (2012). NSDMiner: Automated Discovery of Network Service Dependencies. IEEE INFOCOM. [cited by applicant]
NIST. (2018). Retrieved form https://nvd.nist.gov/. [cited by applicant]
OMG. (Mar. 2015). Data Distribution Service Specification Version 1.4. Retrieved from OMG DDS: https://www.omg.org/spec/DDS/About-DDS/. [cited by applicant]
RTI. (2017). RTI Routing Service. Retrieved from RTI Routing Service: https://rti.com/products/dds/routing-service.html. [cited by applicant]
SANS. (2002). SANS Institute, “Quantitative Risk Analysis Step-by-Step”. Retrieved from Quantitative Risk Analysis Step-by-Step: https://www.sans.org/reading-room/whitepapers/auditing/quantitative-risk-analysis-step-by-… [cited by applicant]
Schrecker, S., Soroush, H., & Molina, J. (2016). “Industrial Internet of Things vol. G4: Security Framework”,. CreateSpace Independent Publishing Platform. [cited by applicant]
Soroush, H., Irey, P., & Pardo-Castellote, G. (2015). Next-Generation Cybersecurity for Advanced Real-Time Distributed Systems. Intelligent Ships Symposium. [cited by applicant]
StackOverflow. (2018). StackOverflow. Retrieved from StackOverflow: https://stackflow.com/. [cited by applicant]
Tenable. (2018). Nessus. Retrieved from Nessus: https://www.tenable.com/products/nessus/nessus-professional. [cited by applicant]
Venkatesan, S., Albanese, M., & Jajodia, S. (2015). Distributing Stealthy Botnets through Strategic Placement of Detectors. IEEE Conference on Communications and Network Security (IEEE CNS). [cited by applicant]
Venkatesan, S., Albanese, M., Cybenko, G., & Jajodia, S. (2016). A Moving Target Defense Approach to Disrupting Stealthy Botnets. ACM Workshop on Moving Target Defense (MTD). [cited by applicant]
Welsh, M. (2013). What I Wish System Researchers Would Work On. Retrieved from http://matt-welsh.blogspot.com/2013/05/what-i-wish-systems-researchers-would.html. [cited by applicant]
Xu, Tu., & Zhou, Y. (2015). Systems Approaches to Tackling Configuration Errors: A Survey. ACM Comput. Surv. [cited by applicant]
Gemini George, A Graph-Based Security Framework for Securing Industrial IoT Networks From Vulnerability Exploitations, IEEE Access (vol. 6, pp. 43586-43601), Jan. 1, 2018, 16 pages (Year: 2018). [cited by applicant]
Brigitte Boden, Mining Coherent Subgraphs in Multi-Layer Graphs with Edge Labels, Data Management and Data Exploration Group RWTH Aachen University, Germany, Proceedings of the 18th ACM SIGKDD international conference o… [cited by applicant]
Ibifubara Iganibo, Vulnerability Metrics for Graph-based Configuration Security, 2021, Center for Secure Information Systems, George Mason University, Fairfax, U.S.A. ,Palo Alto Research Center, Palo Alto, U.S.A, 12 pag… [cited by applicant]
Massimilliano Albanese, A Graphic Model to Assess the Impact of Multi-Step Attacks, Journal of Defense Modeling and Simulation: Applications, Methodology, Technology, 2018, vol. 15(1) 79-93 (Year: 2018) Retrieved from h… [cited by applicant]
Mridul Sankar Barik, A Graph Data Model for Attack Graph Generation and Analysis, Dept. of Comp. Sc. and Engg., Jadavpur University Kolkata, India {msbarikm, chandanm}@cse.jdvu.ac.In. 2014, 12 pages (Year: 2014). [cited by applicant]