Automated Software Trust via SBOM Hierarchy Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software upgrades pose security risks due to potential introduction of unintended functionality, making it difficult to determine whether changes are acceptable in terms of security governance, certification, and threat modeling, especially with increasing automation leading to new exploit forms like dependency confusion attacks.

Innovation Solution

An automated approach that analyzes software packages using software bills of materials (SBOMs) to compare hierarchies of components and apply security policies based on the degree of difference, employing graph edit distance analysis and machine learning models to determine the risk of software updates and enforce security policies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software packages are frequently updated to improve functionality and security, then the software becomes more adaptive and secure, but the risk of introducing new vulnerabilities and security risks increases

Engineering Contradiction:
Improvesoftware update frequencyVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary analysis of software updates by comparing SBOMs before deployment. The automated system pre-evaluates proposed changes by computing graph edit distances between old and new software component hierarchies, identifying potential security issues before they can be exploited in production environments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback loops where software updates are monitored, analyzed, and evaluated after deployment. The automated comparison of SBOMs provides ongoing feedback about component changes, enabling security teams to respond to unexpected vulnerabilities and maintain security posture dynamically.

Inventive Principle:
Principle #23Feedback

2Productivity

If automated processes are increased to improve productivity and speed of software deployment, then the efficiency improves, but new forms of exploits like dependency confusion attacks become more popular

Engineering Contradiction:
Improvesoftware deployment speedVSAvoiddependency confusion attacks
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system introduces an automated intermediary layer between software package sources and deployment targets. This intermediary automatically verifies package provenance, compares SBOMs against known good configurations, and validates component hierarchies before allowing automated deployment, thereby preventing dependency confusion attacks while maintaining deployment speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces manual security review processes with automated computational analysis. Machine learning models and graph algorithms automatically analyze SBOMs, compute edit distances, and make security decisions, eliminating the need for manual intervention while maintaining or improving security posture against automated attacks.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If manual review of software package changes is performed to ensure security governance and certification compliance, then the security control improves, but the time and resources required increase significantly

Engineering Contradiction:
Improvesecurity governance complianceVSAvoidreview time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables security compliance to be self-verified through automated SBOM comparison and analysis. The system autonomously generates compliance reports, compares software component hierarchies against security policies, and certifies updates without requiring manual security reviewer intervention, thereby maintaining reliability while eliminating time losses.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If comprehensive analysis of software component hierarchies is performed to determine trustworthiness, then the security accuracy improves, but the computational complexity and analysis time increase

Engineering Contradiction:
Improvetrust determination accuracyVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system transforms the complex problem of software trust determination into measurable parameters such as graph edit distance metrics and component hierarchy similarity scores. By quantifying trustworthiness through computational parameters rather than qualitative assessment, the system achieves high measurement precision while managing complexity through mathematical models.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12107896B2Automating trust in software upgrades
Publication Date: 2024.10.01 CISCO TECHNOLOGY INC
  • US12107896B2 patent drawing
  • US12107896B2 patent drawing
  • US12107896B2 patent drawing

AI summary

A method, computer system, and computer program product are provided for automatically analyzing software packages to identify the degree of differences between compared software packages and to apply security policies. A first software bill of materials for a software package is processed to extract a plurality of components of the software package, wherein the first software bill of materials indicates a first hierarchy of components based on relationships between components. The first hierarchy is compared to a second hierarchy, the second hierarchy corresponding to a second software bill of materials, to determine a degree of difference between the first hierarchy and the second hierarchy. The degree of difference is compared to one or more threshold values. A security policy is applied with respect to the software package according to a comparison of the degree of difference to the one or more threshold values.