Firmware Rewriting Apparatus for Periodic Security Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing IoT-enabled embedded devices face difficulties in incorporating a security check function, as existing solutions only stop program execution upon attack detection, preventing periodic security checks.
Innovation Solution
A firmware rewriting apparatus that specifies instructions for changing control flow, identifies free memory areas, and rewrites instructions to include a frequency adjustment code for periodic security checks, allowing for the incorporation of a security check function into IoT-enabled embedded devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If only program execution is stopped when attack is detected, then simple security response is achieved, but periodic security checks cannot be performed
Solution Approach 1:
The inspection code is nested within the firmware structure by inserting it at a predetermined position in the program flow. The frequency adjustment code wraps the inspection code invocation, creating a nested structure where security checks are integrated into the existing firmware without requiring a complete system rewrite. This allows periodic security checks to be performed while maintaining the original firmware's functional structure.
Solution Approach 2:
The frequency adjustment code is inserted at predetermined positions in the program flow before the main execution logic. This preliminary insertion ensures that security check mechanisms are in place and ready to execute periodically without interfering with the normal operation of the firmware. The inspection code is prepared and positioned in advance, allowing it to be triggered at scheduled intervals.
2Reliability
If security check function is integrated into existing firmware, then security monitoring capability is improved, but firmware modification difficulty increases
Solution Approach 1:
The security check function is segmented into distinct components: the frequency adjustment code and the inspection code are separated as independent modules that can be inserted at predetermined positions in the firmware. This segmentation allows the security functionality to be added as discrete units rather than requiring comprehensive rewriting of the entire firmware, thereby reducing modification difficulty while maintaining security monitoring capabilities.
Solution Approach 2:
The frequency adjustment code acts as an intermediary between the existing firmware execution flow and the inspection code. It serves as a mediator that periodically triggers the inspection code without requiring direct modification of the main firmware logic. This intermediary mechanism simplifies the integration process by providing a clean interface between the original firmware and the new security check functionality.
Data Source
AI summary
According to an example embodiment, a firmware rewriting apparatus includes: call position specifying means for specifying, among instructions described in a program of firmware stored in a memory, the instructions for changing a control flow; free area specifying means for specifying a free area in a storage area of the memory in which the program is not stored; and program rewriting means for rewriting the instruction specified by the call position specifying means into a call instruction of a frequency adjustment code and writing the frequency adjustment code for calling an inspection code at a frequency corresponding to a frequency of calling the frequency adjustment code and the inspection code for performing a security check of the program in response to a call from the frequency adjustment code into the free area specified by the free area specifying means.


