Firmware Component Origin Matching for Vulnerability Assessment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods struggle to identify the origin of open-source software components in device firmware, particularly in computing devices, due to variations in assembly language and compiler configurations, leading to unresolved security vulnerabilities that can exploit enterprise networks.

Innovation Solution

A system comprising a firmware disassembler, decompiler, and code neutralizer to convert firmware code into assembly and then source code, followed by neutralized code, which is compared to a code repository to identify the origin and potential vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If firmware code is directly analyzed without disassembly and decompilation, then analysis speed is fast, but identification accuracy of open-source components is poor due to assembly language variations and compiler configurations

Engineering Contradiction:
Improveidentification accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the firmware analysis process into distinct stages: disassembly of binary firmware to assembly code, decompilation to source code, neutralization of compiler-specific variations, and comparison against a code repository. This segmentation allows each stage to be optimized independently, improving overall identification accuracy while managing analysis time through selective application of processing depth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary disassembly and decompilation actions on firmware before vulnerability assessment. By pre-processing the firmware code into a standardized neutralized format and creating a searchable code repository in advance, the system enables faster subsequent matching and identification operations without sacrificing accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If firmware updates are provided frequently, then security vulnerabilities are resolved quickly, but device complexity and update management burden increase

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidupdate management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the system automatically identifies open-source components in firmware, compares them against a vulnerability database, and determines which components require updates. This automated self-assessment reduces the manual complexity of update management while maintaining high security reliability through continuous vulnerability scanning and identification.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If code neutralization and repository comparison are performed, then origin identification accuracy improves, but processing complexity and computational resources increase

Engineering Contradiction:
Improveorigin identification accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts and neutralizes only the essential identifying features from the firmware code, removing compiler-specific and architecture-specific variations. By extracting only the core functional code patterns that uniquely identify open-source components, the system achieves high origin identification accuracy while reducing processing complexity compared to analyzing entire codebases.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the firmware code through parameter changes including disassembly from binary to assembly, decompilation to source code, and neutralization of variable parameters such as compiler flags and optimization levels. These parameter transformations standardize the code representation, enabling accurate comparison while managing processing complexity through systematic transformation rules.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12481764B2Firmware component identification and vulnerability assessment
Publication Date: 2025.11.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12481764B2 patent drawing
  • US12481764B2 patent drawing
  • US12481764B2 patent drawing

AI summary

Methods, systems, apparatuses, and computer-readable storage mediums are described for identifying an origin of a device firmware component. A firmware disassembler is configured to disassemble firmware code obtained from a device, such as a portable electronics device, to generate assembly code. A decompiler is configured to decompile the assembly code to generate source code based on the device firmware. A code neutralizer generates a first neutralized code from the source code. A firmware identifier compares at least a portion of the neutralized code to a code repository to identify an origin of the firmware code. Based at least on the identified origin of the firmware code, a vulnerability determiner determines whether the firmware code contains a vulnerability, such as a security vulnerability that may be exploited.