Source Code Artifact Mapping for Cloud Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Analyzing the attack surface of cloud-native applications to identify vulnerabilities and security risks is challenging due to the complexity of heterogeneous components and the need to consider multiple components and their relationships.

Innovation Solution

A method that maps source code to computation resources by identifying executable artifacts, obtaining storage device content and metadata, monitoring build processes, and employing multiple matching techniques such as Name-based, Artifact Metadata-based, Dependency Fingerprint-based, Symbol-based, and Build Process Tracking to generate candidate matches with confidence scores, and recording matches in a database for manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple matching techniques are employed to map executable artifacts to source code, then the precision of vulnerability identification is improved, but the complexity of the system increases

Engineering Contradiction:
Improvevulnerability identification precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the artifact-to-code matching process into five distinct matching techniques (Name-based, Artifact Metadata-based, Dependency Fingerprint-based, Symbol-based, and Build Process Tracking), each handling specific aspects of the mapping problem. This segmentation allows each technique to specialize in particular types of matches while maintaining overall system manageability despite the complexity of handling multiple techniques simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal matching framework that can handle multiple types of artifacts (containers, virtual machines, serverless functions) and multiple matching strategies through a single unified system. The system is designed to accommodate different matching techniques and can be extended to support additional techniques, providing multi-functionality that addresses various vulnerability identification scenarios without requiring separate systems for each case.

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

2Reliability

If comprehensive artifact and code information is collected and matched, then the completeness of security risk analysis is improved, but the time and computational resources required increase

Engineering Contradiction:
Improvesecurity risk analysis completenessVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by collecting and organizing artifact information (names, metadata, dependencies, symbols) and source code information (module names, file paths, import statements) before the actual matching process. Build process tracking is also performed in advance to establish artifact-to-code relationships. These preliminary steps enable faster and more accurate matching during vulnerability analysis by having pre-processed data ready for comparison.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates fingerprints and metadata copies of artifacts and source code components that can be efficiently compared without requiring access to the original large-scale artifacts. Dependency fingerprints, symbol tables, and metadata structures serve as compact representations that enable rapid matching while maintaining the completeness of the security analysis.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240028317A1System and method for mapping source code components and risks to runtime
Publication Date: 2024.01.25 APIIRO LTD
  • US20240028317A1 patent drawing

AI summary

A method for mapping source code to computation resource, the method including the steps of: determining computation resources of a cloud provider used by an application; identifying executable artifacts that are deployed on the computation resources; and matching executable artifacts to source-code and configuration content to provide artifact to code or configuration matches.