Security Domain Graph Language for Vulnerability Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The widespread use of open-source components in software development has increased vulnerability risks, with existing technologies facing challenges in efficiently analyzing and managing vulnerabilities due to duplicate instances and the need for users to manually select execution modes in graph databases, leading to inefficiencies and inaccuracies.

Innovation Solution

The Security Domain Graph Language (SGL) is introduced, which facilitates the creation and maintenance of a graph database to catalog vulnerabilities, automatically deduplicates queries, optimizes query execution, and determines the optimal execution mode based on heuristic analysis, ensuring consistency and efficiency in vulnerability analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users manually select execution modes in graph databases, then flexibility in query execution is improved, but system complexity and user burden increase

Engineering Contradiction:
Improvequery execution flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically determines the optimal execution mode (OLTP or OLAP) based on query characteristics without requiring user intervention. The graph database management system analyzes the incoming query and autonomously selects whether to use OLTP mode for transactional operations or OLAP mode for analytical operations, thereby eliminating user burden while maintaining execution flexibility.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If duplicate vulnerability instances are allowed in the graph database, then data completeness is improved, but data quality and analysis accuracy deteriorate

Engineering Contradiction:
Improvevulnerability data completenessVSAvoidvulnerability analysis accuracy
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The system performs preliminary deduplication checks before inserting vulnerability data into the graph database. By computing canonical forms of vulnerability descriptions in advance and comparing them against existing entries, the system prevents duplicate instances from being inserted, thereby maintaining data quality and analysis accuracy while still preserving complete vulnerability information.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If query execution is optimized without automatic deduplication, then processing speed is improved, but data consistency deteriorates

Engineering Contradiction:
Improvequery processing speedVSAvoidvulnerability data consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs deduplication checks as a preliminary step before query execution. By computing canonical forms and identifying duplicates in advance of the actual query processing, the system ensures data consistency is maintained without significantly impacting the overall processing speed of legitimate queries.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If users must understand execution mode distinctions, then query precision is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvequery execution precisionVSAvoiduser operation simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The system automatically analyzes incoming queries and determines the appropriate execution mode (OLTP or OLAP) based on the query characteristics and data patterns. This self-service approach eliminates the need for users to understand or manually select execution modes, thereby maintaining query execution precision while dramatically improving ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10803061B2Software vulnerability graph database
Publication Date: 2020.10.13 VERACODE INC
  • US10803061B2 patent drawing
  • US10803061B2 patent drawing
  • US10803061B2 patent drawing

AI summary

To analyze open-source code at a large scale, a security domain graph language (“SGL”) has been created that functions as a vulnerability description language and facilitates program analysis queries. The SGL facilitates building and maintaining a graph database to catalogue vulnerabilities found in open-source components. This graphical database can be accessed via a database interface directly or accessed by an agent that interacts with the database interface. To build the graph database, a database interface processes an open-source component and creates graph structures which represent relationships present in the open-source component. The database interface transforms a vulnerability description into a canonical form based on a schema for the graph database and updates the database based on a determination of whether the vulnerability is a duplicate. This ensures quality and consistency of the vulnerability dataset maintained in the graph database.