Prioritizing Software Patching via Data Flow Risk Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for software patching are inefficient due to high false positive rates when sharing software component information, leading to unnecessary work and resource wastage, as they do not adequately consider the context of how components are used within the system.

Innovation Solution

The method involves determining risk levels for software components based on their data flow representation within the system, allowing for prioritization of patching based on their actual usage and vulnerability, thereby reducing false positives and improving security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If software component information is shared using S-BOM, then transparency and security assessment capability are improved, but false positive rate increases leading to unnecessary work

Engineering Contradiction:
Improvetransparency of component informationVSAvoidtime spent on false positive patches
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies local quality by analyzing each component's specific data flow characteristics and usage context within the software package. Instead of treating all components uniformly, the system evaluates each component's risk level based on its particular data flow representation, determining whether it actually processes sensitive information. This targeted approach reduces false positives by focusing security assessment on components with actual security relevance rather than applying blanket patching to all components listed in S-BOM.

Inventive Principle:
Principle #3Local quality

2Reliability

If all vulnerable components are patched, then security coverage is improved, but resource efficiency deteriorates due to unnecessary patching of non-exploitable components

Engineering Contradiction:
Improvesecurity coverageVSAvoidpatching efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the parameter of security assessment from binary (vulnerable/not vulnerable) to a risk level spectrum (low/medium/high risk). By introducing risk level as a parameter based on data flow analysis, the system prioritizes patching efforts on components with high risk levels that actually process sensitive information. This parameter change enables resource-efficient patching by focusing on components where security patches will have actual impact, rather than uniformly patching all vulnerable components.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If component-level security analysis is performed, then false positive rate is reduced, but analysis complexity increases

Engineering Contradiction:
Improveaccuracy of vulnerability assessmentVSAvoidcomplexity of security analysis system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by generating data flow representations for each component before conducting security vulnerability assessment. This pre-analysis step creates a structured model of how each component processes information, which is then used to evaluate security risks. By performing this data flow analysis in advance, the system establishes a foundation for accurate vulnerability assessment without repeating complex analysis during the actual patching decision process, thereby managing complexity while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11550919B2Prioritizing patching of vulnerable components
Publication Date: 2023.01.10 EMC IP HLDG CO LLC
  • US11550919B2 patent drawing
  • US11550919B2 patent drawing
  • US11550919B2 patent drawing

AI summary

Methods, apparatus, and processor-readable storage media for prioritizing patching of vulnerable components are provided herein. An example computer-implemented method includes obtaining information indicative of a first set of components embedded in a software package; determining risk levels for respective ones of the components in the first set based on a data flow representation of the software package; and assigning a priority for patching a software vulnerability in a given component of the first set based at least in part on the risk level of the given component.