Firmware Vulnerability Detection via Segmented Testing Agents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for detecting firmware vulnerabilities in devices, especially IoT devices, are inadequate as they often require access to source code, struggle with defensive programming, and fail to detect vulnerabilities during runtime, leading to potential exploitation by attackers.

Innovation Solution

A testing agent monitors device states and activities during a testing phase, recording events and correlating them with test results to identify vulnerabilities, while a runtime agent provides real-time protection by using whitelists and blacklists to block abnormal events, even without access to source code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If black box testing is used to test firmware, then source code access is not required, but vulnerability detection precision is reduced

Engineering Contradiction:
Improveease of testingVSAvoidvulnerability detection precision
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The testing system is segmented into multiple independent testing agents, each responsible for monitoring specific device states or activities. This segmentation allows comprehensive coverage of firmware behavior through multiple perspectives while maintaining the black box testing advantage of not requiring source code access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback mechanisms where testing agents continuously monitor device states, record events with timestamps, and correlate them with test results. This feedback loop enables the system to identify vulnerabilities by analyzing the relationship between recorded events and test outcomes, significantly improving detection precision without requiring source code.

Inventive Principle:
Principle #23Feedback

2Productivity

If traditional testing methods are used, then development cost is reduced, but vulnerability detection capability is insufficient

Engineering Contradiction:
Improvetesting efficiencyVSAvoidvulnerability detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The testing agent framework is designed with universal applicability across different firmware types and device platforms. The agents can monitor various device states and activities through standardized interfaces, enabling one testing system to serve multiple testing scenarios effectively, thus maintaining high productivity while improving reliability.

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

Solution Approach 2:

The system performs preliminary actions by continuously recording device events and states during normal operation before actual vulnerability exploitation occurs. This preliminary data collection and correlation setup enables the system to detect vulnerabilities proactively, improving detection capability without significantly increasing testing overhead.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If runtime monitoring is implemented, then real-time vulnerability detection is achieved, but device complexity increases

Engineering Contradiction:
Improvereal-time protection capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The testing agents act as intermediaries between the firmware and the analysis system. These agents monitor device states and activities without requiring deep integration into the firmware's internal logic, thus achieving real-time vulnerability detection while minimizing the increase in device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of modifying the original firmware, the system creates a functional copy through testing agents that replicate the monitoring and event recording capabilities. This copying approach enables runtime monitoring without permanently altering or complicating the original device firmware structure.

Inventive Principle:
Principle #26Copying

4Measurement precision

If comprehensive event recording is performed, then vulnerability analysis accuracy is improved, but data processing load increases

Engineering Contradiction:
Improvevulnerability analysis accuracyVSAvoiddata processing energy consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The system implements partial recording by focusing on capturing only the specific events and states that are relevant to vulnerability detection, rather than recording all possible device activities. This selective approach maintains analysis accuracy while reducing the overall data processing load and energy consumption.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Events are recorded with timestamps during normal operation as a preliminary action, allowing the system to perform efficient batch correlation analysis later. This approach separates the low-energy event capture phase from the more intensive correlation analysis phase, optimizing energy usage while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11520901B2Detecting firmware vulnerabilities
Publication Date: 2022.12.06 JFROG LTD
  • US11520901B2 patent drawing
  • US11520901B2 patent drawing
  • US11520901B2 patent drawing

AI summary

A method, system and product for detecting firmware vulnerabilities, including, during a testing phase of a firmware of a device, continuously polling states and activities of the device, wherein said polling is at a testing agent that is functionality separate from the firmware; correlating between at least one event that is associated with the states or the activities of the device and test results of the testing phase; based on said correlating, determining for the firmware one or more normal events and one or more abnormal events; and after the testing phase, providing indications of the one or more normal events and one or more abnormal events from the testing agent to a runtime agent, whereby said providing enables the runtime agent to protect the firmware from vulnerabilities associated with the one or more abnormal events.