ML-driven SBOM generation for component-level vulnerability detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software bill of materials (SBOM) do not provide sufficient granularity to identify specific libraries used by applications, leading to inadequate visibility into licensing and exposure scenarios, and existing security scanning tools often fail to identify software vulnerabilities in these components.

Innovation Solution

A system that uses a machine learning subsystem to onboard applications, determine components and scanning parameters, generate scanning instructions, and build an SBOM, which is then used to initiate a vulnerability scanning engine to identify and remediate security vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional SBOM generation methods are used, then the SBOM can be created quickly, but the granularity is insufficient to identify specific libraries and components

Engineering Contradiction:
Improvecomponent detection granularityVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the SBOM generation process into multiple stages: initial SBOM creation, machine learning-based component analysis, and vulnerability scanning. This segmentation allows the system to achieve fine-grained component detection by breaking down the complex task of identifying specific libraries into manageable steps, thereby improving measurement precision without overwhelming system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by generating an initial SBOM and using machine learning models to pre-identify components and their scanning parameters before the actual vulnerability scanning occurs. This preliminary component detection and parameter determination enables the subsequent scanning process to focus on specific libraries with appropriate scanning configurations, achieving high granularity efficiently.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If component scanning parameters are determined for each component, then detection accuracy improves, but processing time and computational resources increase

Engineering Contradiction:
Improvecomponent detection accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system dynamically changes scanning parameters based on the specific characteristics of each component identified by the machine learning model. Instead of using fixed scanning parameters for all components, the system adapts parameters such as scan depth, scan type, and target libraries according to each component's properties. This parameter adaptation achieves high detection accuracy while optimizing processing time by applying appropriate scanning intensity to each component.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If machine learning models are used to identify components, then component detection capability is enhanced, but system resource consumption increases

Engineering Contradiction:
Improvecomponent information completenessVSAvoidcomputational resource consumption
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The system introduces machine learning models as intermediaries between the initial SBOM and the vulnerability scanning process. These models analyze the application's source code, dependencies, and configuration files to extract component information that would be difficult to obtain through traditional scanning alone. By using ML models as intermediaries to pre-process and enrich component information, the system achieves complete component information without requiring exhaustive resource-consuming scanning of every component.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If vulnerability scanning is performed on all components, then security coverage is maximized, but false positives and scanning overhead increase

Engineering Contradiction:
Improvesecurity vulnerability detectionVSAvoidfalse positives
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The system applies local quality by determining specific scanning parameters for each component based on its characteristics. Instead of uniformly scanning all components with the same parameters, the system tailors the scanning approach to each component's type, version, and risk profile. This localized scanning strategy maintains comprehensive security coverage while reducing false positives by applying appropriate scanning intensity and methods to each component context.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12073209B2System for enhanced component-level detection in software applications within a computing environment
Publication Date: 2024.08.27 BANK OF AMERICA CORP
  • US12073209B2 patent drawing
  • US12073209B2 patent drawing
  • US12073209B2 patent drawing

AI summary

Systems, computer program products, and methods are described herein for component-level detection in third party software applications. An example system may receive, from a client device, data packets with payload containing a request to onboard a first application into a computing environment. In response, the system may determine, using an application ingestion subsystem, information associated with the first application, and subsequently deploy, using a machine learning subsystem, a trained machine learning model on the information to various components associated with the first application and component scanning parameters for each of the one or more components. Based on components, the system may build a software bill of materials (SBOM) for the first application.