Software Version Identification via Reference Library Scanning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying the versions of software components on a computer system is challenging due to the lack of standardized formats and naming conventions, which complicates vulnerability assessment and compliance with licensing requirements.

Innovation Solution

A system that scans target files using a reference library to identify software components, determines their versions, and associates vulnerabilities and licensing schemes, employing file scanners, version detectors, vulnerability modules, and license modules to produce a comprehensive report.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a reference library with source code fragments is used to identify software component versions, then version identification accuracy is improved, but the complexity of the system increases due to multiple modules and databases

Engineering Contradiction:
Improveversion identification accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system is divided into distinct functional modules: a file scanner module that reads target files, a version detector module that identifies versions using reference libraries, a vulnerability module that assesses security issues, and a license module that checks compliance. Each module performs a specific function, making the overall complex task manageable and maintainable while achieving accurate version identification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A reference library serves as an intermediary database containing source code fragments and version information from multiple software components. This reference library acts as a mediator between the target files being scanned and the version detection process, enabling accurate identification without requiring direct integration with each software component's internal versioning system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive scanning of target files is performed to identify all software components, then completeness of vulnerability assessment is improved, but the time required for scanning increases

Engineering Contradiction:
Improvecompleteness of vulnerability assessmentVSAvoidscanning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The reference library is pre-populated with source code fragments, version information, vulnerability data, and license information for numerous software components before the scanning process begins. This preliminary preparation allows the scanner to quickly match patterns in target files against known components without performing complex analysis during the actual scan, thus maintaining completeness while reducing scanning time.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If multiple databases (reference library, vulnerabilities database, licensing database) are maintained to provide comprehensive information, then the quality of security and compliance reporting is improved, but the complexity of data management increases

Engineering Contradiction:
Improvereport qualityVSAvoiddata management complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system combines multiple specialized databases (reference library with version information, vulnerabilities database with security data, and licensing database with compliance information) into a unified scanning framework. The automated report generation module integrates data from all three databases to produce a single comprehensive report, managing the complexity of multiple data sources through a coordinated query and reporting system.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If automated report generation is implemented to provide comprehensive vulnerability and license information, then productivity in security assessment is improved, but the complexity of the system increases

Engineering Contradiction:
Improvesecurity assessment efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The automated report generation module performs self-service by automatically querying the reference library, vulnerabilities database, and licensing database, then compiling and formatting the results into a comprehensive security and compliance report without requiring manual intervention. This automation significantly improves productivity in security assessment while the modular design keeps the added complexity manageable.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9304980B1Identifying versions of file sets on a computer system
Publication Date: 2016.04.05 PALAMIDA
  • US9304980B1 patent drawing
  • US9304980B1 patent drawing
  • US9304980B1 patent drawing

AI summary

Target files in a search space are scanned to identify which versions of software components are present in the search space. A reference library is populated with indicia such as source code fragments of known versions of software components. A file scanner reads file data used to identify matches between the reference library content and target files, and a version detector determines which match candidates represent unique component versions. Once a component version is identified, a vulnerability module determines based on data in a vulnerabilities database what vulnerabilities are associated with the identified version, and a license module identifies which if any licensing schemes are applicable to the identified version. In one embodiment a report is automatically produced providing an indication of all matched files, their versions, vulnerabilities, and licensing schemes.