IP Library › Granted Patent US 11,463,478
Granted Patent B2
US 11,463,478 · App. 16/667,471 · Granted Oct 4, 2022

Remediation strategy optimization for development, security and operations (DevSecOps)

Inventors: Shripad Nadgowda (Elmsford, NY); Alessandro Morari (New York, NY); James R. Doran (New Milford, CT)
Assignee: International Business Machines Corporation
H04L63/20G06F8/71H04L63/1416H04L63/1425H04L63/1433
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 11,463,478
App. No.
16/667,471
Filed
Oct 29, 2019
Granted
Oct 4, 2022
Kind
B2
Art Unit
2434
USPC
726/22
Abstract

A method provides for collecting data source images from multiple repositories. Application dependencies are discovered from the data source images. Status results are determined based on vulnerability and compliance scanning of all dependent sources for each data source image. The status results are aggregated across all data source images for each of the multiple repositories. Remediations are determined for violations indicated by the aggregated status results. Each of the remediations is aggregated and ordered to define a single global remediation solution.

Claims (61)

1. A method comprising:

collecting data source images from a plurality of repositories;

discovering application dependencies from the data source images;

determining status results based on vulnerability and compliance scanning of all dependent sources for each data source image;

aggregating the status results across all the data source images for each of the plurality of repositories;

determining remediations for violations indicated by the aggregated status results;

determining a lowest common source for the remediations of each of the violations of the vulnerability and compliance status results; and

aggregating and ordering each of the remediations to define a single global remediation solution.

2. The method of claim 1 , further comprising:

ordering of the dependent sources based on the application dependencies; and

indexing the ordered dependent sources into a graph database;

wherein the status results comprise vulnerability and compliance status results, and aggregating the vulnerability and compliance status results comprises aggregation at every node of the graph database.

3. The method of claim 2 , further comprising:

determining to override and accept the vulnerability and compliance status results based on dependence layer precedence.

4. The method of claim 3 ,

wherein the single global remediation solution is based on the lowest common source for each of the vulnerability and compliance status results.

5. The method of claim 4 , wherein the dependence layer precedence comprises: providing a higher dependence layer precedence for the vulnerability and compliance status results for a top dependent source layer over other dependent source layers, and the vulnerability and compliance status results from dependent sources from lower dependent source layers are extended to a higher dependent source layer if corresponding sources are not present in the higher dependent source layers.

6. The method of claim 1 , further comprising:

automatically performing compliance remediation for the single global remediation solution.

7. The method of claim 2 , wherein the plurality of repositories comprises a plurality of Git repositories, the graph database stores sources for the plurality of Git repositories, the graph database is used for generation of a graphical representation of source dependencies, and common sources are depicted as nodes in the graphical representation that are shared.

8. A computer program product for aggregate vulnerability and compliance remediation, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:

collect, by the processor, data source images from a plurality of repositories;

discover, by the processor, application dependencies from the data source images;

determine, by the processor, status results based on vulnerability and compliance scanning of all dependent sources for each data source image;

aggregate, by the processor, the status results across all data source images for each of the plurality of repositories;

determine, by the processor, remediations for violations indicated by the aggregated status results;

determine, by the processor, a lowest common source for the remediations of each of the violations of the vulnerability and compliance status results;

aggregate and order, by the processor, each of the remediations to define a single global remediation solution.

9. The computer program product of claim 8 , wherein the program instructions executable by the processor further cause the processor to:

order, by the processor, of dependent sources based on the application dependencies; and

index, by the processor, the ordered dependent sources into a graph database;

wherein the status results comprise vulnerability and compliance status results, and aggregating the vulnerability and compliance status results comprises aggregation at every node of the graph database.

10. The computer program product of claim 9 , wherein the program instructions executable by the processor further cause the processor to:

determine, by the processor, to override and accept the vulnerability and compliance status results based on dependence layer precedence.

11. The computer program product of claim 10 , wherein

the single global remediation solution is based on the lowest common source for each of the vulnerability and compliance status results.

12. The computer program product of claim 11 , wherein dependence layer precedence comprises: providing a higher dependence layer precedence for the vulnerability and compliance status results for a top dependent source layer over other dependent source layers, and the vulnerability and compliance status results from dependent sources from lower dependent source layers are extended to a higher dependent source layer if corresponding sources are not present in the higher dependent source layers.

13. The computer program product of claim 8 , wherein the program instructions executable by the processor further cause the processor to:

automatically perform, by the processor, compliance remediation for the single global remediation solution.

14. The computer program product of claim 9 , wherein the plurality of repositories comprises a plurality of Git repositories, the graph database stores sources for the plurality of Git repositories, the graph database is used for generation of a graphical representation of source dependencies, and common sources are depicted as nodes in the graphical representation that are shared.

15. An apparatus comprising:

a memory configured to store instructions; and

a processor configured to execute the instructions to:

collect data source images from a plurality of repositories;

discover application dependencies from the data source images;

determine status results based on vulnerability and compliance scanning of all dependent sources for each data source image;

aggregate the status results across all data source images for each of the plurality of repositories;

determine remediations for violations indicated by the aggregated status results;

determine a lowest common source for the remediations of each of the violations of the vulnerability and compliance status results; and

aggregate and order each of the remediations to define a single global remediation solution.

16. The apparatus of claim 15 , wherein the processor is further configured to execute the instructions to:

order of dependent sources based on the application dependencies; and

index the ordered dependent sources into a graph database;

wherein the status results comprise vulnerability and compliance status results, and aggregating the vulnerability and compliance status results comprises aggregation at every node of the graph database.

17. The apparatus of claim 16 , wherein the processor is further configured to execute the instructions to:

determine to override and accept the vulnerability and compliance status results based on dependence layer precedence;

wherein the single global remediation solution is based on the lowest common source for each of the vulnerability and compliance status results.

18. The apparatus of claim 17 , wherein dependence layer precedence comprises: providing a higher dependence layer precedence for the vulnerability and compliance status results for a top dependent source layer over other dependent source layers, and the vulnerability and compliance status results from dependent sources from lower dependent source layers are extended to a higher dependent source layer if corresponding sources are not present in the higher dependent source layers.

19. The apparatus of claim 16 , wherein the processor is further configured to execute the instructions to:

automatically perform compliance remediation for the single global remediation solution.

20. The apparatus of claim 16 , wherein the plurality of repositories comprises a plurality of Git repositories, the graph database stores sources for the plurality of Git repositories, the graph database is used for generation of a graphical representation of source dependencies, and common sources are depicted as nodes in the graphical representation that are shared.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2019
From: NADGOWDA, SHRIPAD; MORARI, ALESSANDRO; DORAN, JAMES R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050855/0699 →
Continuity (1)
Related Publication 20210126949A1 · Apr 29, 2021
Cited By (5)
US 12,386,729 US 12,423,073 US 12,554,856 US 12,602,484 US 12,634,351