Vulnerability Detection via Library Feature Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications often incorporate vulnerable software libraries that can introduce security risks due to their open nature and potential obfuscation, making it difficult for users to detect and mitigate these vulnerabilities.

Innovation Solution

A system that downloads and stores libraries and applications in a database, extracts features, and compares them to identify associated libraries, flagging security concerns and notifying users of potential vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If libraries are statically linked and obfuscated to reduce development time and prevent reverse engineering, then application security is improved, but the ability to detect vulnerable libraries is worsened

Engineering Contradiction:
Improveapplication securityVSAvoidlibrary vulnerability detection
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system creates a database of known vulnerable library patterns and feature sets. Instead of trying to reverse engineer obfuscated libraries, it copies and stores the characteristic features of vulnerable libraries in advance, then uses these copies to match against applications. This allows detection without needing to de-obfuscate or reverse engineer the target libraries.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary analysis by building a comprehensive database of library features, patterns, and vulnerability signatures before actual application scanning. Libraries are downloaded, analyzed, and their features are extracted and stored in advance in the vulnerability database, so that when an application is scanned, the matching can occur quickly against pre-prepared data.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If comprehensive library analysis is performed to detect all vulnerabilities, then detection accuracy is improved, but system complexity and processing time are worsened

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts only the essential and characteristic features from libraries that are most indicative of vulnerability, rather than analyzing entire library codebases. By taking out and storing only the critical feature sets, patterns, and signatures in the vulnerability database, the system achieves high detection accuracy without requiring complex full-code analysis during scanning operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If feature extraction and comparison is performed for all applications to identify associated libraries, then vulnerability identification is improved, but processing time and computational resources are worsened

Engineering Contradiction:
Improvevulnerability identification accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs partial feature extraction and comparison by focusing only on the most critical and discriminative features rather than exhaustive analysis of all application code. It uses the pre-built vulnerability database to guide the comparison process, performing excessive action on key features that matter most for vulnerability detection while skipping less relevant analysis, thus achieving good detection accuracy with reduced processing time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10296745B2Detecting vulnerable applications
Publication Date: 2019.05.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10296745B2 patent drawing
  • US10296745B2 patent drawing
  • US10296745B2 patent drawing

AI summary

A method and system of determining a vulnerability of software. Libraries are downloaded and stored in a database. For each library, a set of features are extracted and stored in a library index table of the database. For each library, it is determined whether it poses a security concern and flagged accordingly in the library index table. Applications are downloaded and stored in the database. For each application a set of features are extracted and stored in an application index table of the database. For each application, the set of features of the application of the application are compared to the set of features of each of the libraries in the library index table to identify which libraries in the library index table are associated with the application. For each application, a name of the application and names of the associated libraries are stored in a vulnerability reference table in the database.