BMC Firmware Protection via SPI ROM Segmentation and Backup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The firmware of a baseboard management controller (BMC) is vulnerable to damage, which can lead to improper functioning of the BMC, and existing solutions do not adequately protect against such damage.
Innovation Solution
A firmware protecting system that includes a logic controlling unit, a baseboard management controller (BMC), and a serial peripheral interface read-only memory (SPI ROM) with a write protection mechanism, where the logic controlling unit communicates with the SPI ROM to lock programs in a write-protected mode and uses a backup program to recover the main program if it is altered or damaged, ensuring the BMC operates normally.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the BMC firmware is made writable to allow updates, then adaptability is improved, but reliability deteriorates due to vulnerability to damage or alteration
Solution Approach 1:
The firmware storage is divided into multiple regions: a main program region and a backup program region. The main program can be updated while the backup region maintains a safe copy, allowing updates without compromising reliability. This segmentation enables the system to accept writable main firmware while preserving integrity through the separate backup region.
Solution Approach 2:
A backup program is prepared in advance and stored in the backup region before any potential damage or corruption occurs. When the main program is altered or damaged, the backup program is automatically invoked to restore the main program, preventing reliability issues before they affect system operation.
2Reliability
If write protection is applied to prevent firmware alteration, then reliability is improved, but ease of operation deteriorates due to inability to update
Solution Approach 1:
The write protection mechanism is made dynamic rather than static. The system can transition between protected and writable states based on operational needs. During normal operation, the main program region is write-protected to ensure reliability. During update operations, the protection is temporarily lifted or redirected to allow modifications, then restored afterward.
Solution Approach 2:
The backup program acts as an intermediary that enables safe updates. Instead of directly modifying the protected main program, updates are performed on the backup region or through controlled mechanisms that preserve the write protection integrity of the main firmware while still allowing operational updates.
3Reliability
If a backup program is implemented to restore the main program, then reliability is improved, but device complexity increases
Solution Approach 1:
Instead of implementing complex real-time protection mechanisms, the system uses a simple copy approach where an identical backup program is stored in a separate region. This copying method provides reliable recovery capability through a straightforward mechanism: when the main program is damaged, the backup copy is restored. The complexity is minimized by using identical copies rather than complex differential backup systems.
Data Source
AI summary
A system and method for protecting firmware of baseboard management controller (BMC) includes a serial peripheral interface read only memory device (SPI ROM) and a logic controlling unit. The SPI ROM includes first and second blocks, the first block stores a main program, and the second block stores backup program. The logic controlling unit includes a protecting module, a determining module, and a controlling module. The protecting module write-protects the main program and the backup program of the SPI ROM. The determining module determines whether the main program of the first block is altered or damaged when the main program is obtained by the BMC. If so, the controlling module invokes the backup program from the second block, and writes the backup program to the first block. A firmware protecting method is also provided.


