Package Ontology Traversal for Implicit Vulnerability Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Development teams face challenges in understanding and managing software dependencies, particularly vulnerabilities, across custom software packages and externally sourced components, leading to potential IT incidents due to fragmented vulnerability information and inadequate dependency checks during the Continuous Integration phase.

Innovation Solution

A system comprising a processor that executes computer-executable components, including a knowledge induction component and a vulnerability component, which populates a package ontology with relationship data from disparate sources to identify implicit and explicit vulnerabilities, facilitating software vulnerability analysis and reducing the computational effort required for dependency evaluation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dependency checks are implemented at the Continuous Integration build phase, then vulnerability detection capability is improved, but additional dependencies arising from external software packages and underlying software can still be missed leading to IT incidents

Engineering Contradiction:
Improvevulnerability detection capabilityVSAvoidIT incidents due to missed dependencies
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs vulnerability analysis and dependency mapping before software deployment by constructing a software bill of materials (SBOM) and traversing dependency graphs during the Continuous Integration phase. This preliminary action identifies implicit dependencies from external packages and underlying software before they can cause IT incidents in production environments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a package ontology as an intermediary data structure that systematically organizes relationship data between software packages, components, and dependencies. This ontology serves as a mediator between raw vulnerability data from disparate sources and the final vulnerability assessment, ensuring comprehensive coverage of explicit and implicit dependencies.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive dependency analysis is performed across all software packages and components, then vulnerability identification accuracy is improved, but computational complexity and data processing volume increase significantly

Engineering Contradiction:
Improvevulnerability identification accuracyVSAvoidcomputational complexity for dependency evaluation
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the comprehensive dependency analysis into manageable components by constructing a software bill of materials (SBOM) that breaks down software packages into individual components and their relationships. The package ontology further segments dependency data into structured relationships (depends-on, used-by, contains) allowing targeted analysis of specific dependency paths rather than evaluating all possible combinations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms unstructured vulnerability descriptive data into structured relationship data by extracting and standardizing key parameters such as package names, version constraints, dependency types, and affected components. This parameter transformation enables efficient querying and analysis while maintaining high vulnerability identification accuracy.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If relationship data is extracted from multiple disparate package-related sources, then completeness of vulnerability information is improved, but data integration complexity and processing time increase

Engineering Contradiction:
Improvecompleteness of vulnerability informationVSAvoiddata processing time for integration
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The package ontology serves as a universal data structure that can integrate relationship data from multiple disparate sources including software package manifests, vulnerability databases, and dependency registries. By defining standardized relationship types (depends-on, used-by, contains) that work across different data sources, the system achieves comprehensive vulnerability information integration without requiring source-specific processing logic.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Adaptability or versatility

If manual dependency checks are performed ad hoc in production environments, then flexibility in handling emerging vulnerabilities is improved, but the likelihood of missing vulnerabilities and causing IT incidents increases

Engineering Contradiction:
Improveflexibility in handling vulnerabilitiesVSAvoidlikelihood of missing vulnerabilities
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs automated dependency analysis and vulnerability assessment during the Continuous Integration phase before software reaches production, creating a comprehensive software bill of materials and dependency map in advance. This preliminary action ensures that vulnerability information is available and verified before deployment, reducing reliance on ad hoc manual checks in production while maintaining the ability to respond to emerging vulnerabilities through the established package ontology framework.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11681810B2Traversing software components and dependencies for vulnerability analysis
Publication Date: 2023.06.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11681810B2 patent drawing
  • US11681810B2 patent drawing
  • US11681810B2 patent drawing

AI summary

Systems, devices, computer-implemented methods, and/or computer program products that facilitate software vulnerability analysis using relationship data extracted from disparate package-related sources. In one example, a system can comprise a processor that executes computer executable components stored in memory. The computer executable components can comprise a knowledge induction component and a vulnerability component. The knowledge induction component can populate a package ontology for a range of packages with relationship data extracted from a plurality of disparate package-related sources. The vulnerability component can identify an implicit vulnerability impacting the range of packages using the package ontology and a vulnerability record regarding an explicit vulnerability for a package within the range of packages.