Code Injection Module for Secure Firmware Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for rebranding server systems and updating BIOS require costly and frequent releases of new firmware, especially when addressing bugs or security vulnerabilities, and involve complex processes that are inefficient and resource-intensive.
Innovation Solution
The implementation of a code injection module (CIM) that allows for the injection and execution of executable code images into existing firmware, enabling hot fixes and behavior changes without a full BIOS update, allowing for separate and independent management of OEM ID injection modules from BIOS code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional BIOS updates are released to address bugs or security vulnerabilities, then system reliability is improved, but the frequency of releases increases and development costs increase
Solution Approach 1:
The patent segments the BIOS into a base BIOS and separate personality modules. The base BIOS remains stable while personality modules can be independently updated to address bugs or security vulnerabilities. This allows targeted updates without requiring full BIOS re-releases, thus improving reliability while reducing release frequency.
Solution Approach 2:
The patent extracts personality-specific code and configuration into separate personality modules that are stored in SPI flash memory rather than being compiled into the base BIOS. This extraction allows the base BIOS to remain unchanged while personality modules are updated independently, resolving the contradiction between maintaining reliability and avoiding frequent releases.
2Adaptability or versatility
If custom BIOS code is created for each OEM rebranding, then adaptability is improved, but device complexity and development resources increase
Solution Approach 1:
The patent segments the BIOS functionality into a common base BIOS and OEM-specific personality modules. Each personality module contains only the necessary customization code for a specific OEM, allowing multiple OEMs to use the same base BIOS without requiring separate custom BIOS builds. This reduces device complexity while maintaining adaptability.
Solution Approach 2:
The base BIOS is designed to be universal and work with multiple different personality modules from different OEMs. The BIOS includes a personality module loader that can automatically load the appropriate personality module based on the detected OEM ID, eliminating the need to create separate custom BIOS code for each OEM while maintaining full adaptability.
3Adaptability or versatility
If personality modules are applied to rebrand server systems, then adaptability is improved, but the process becomes resource-intensive and time-consuming
Solution Approach 1:
The patent implements preliminary action by pre-compiling personality modules and storing them in the SPI flash memory before the server needs to be rebranded. When rebranding is required, the system simply loads the pre-prepared personality module rather than compiling or generating it at runtime. This significantly reduces the time required for rebranding while maintaining adaptability.
Solution Approach 2:
The patent uses copying by storing personality modules as separate binary images in the SPI flash memory that can be rapidly copied and loaded into the BIOS execution environment. This copying mechanism is much faster than regenerating or compiling personality modules on-demand, thus reducing rebranding time while maintaining the ability to support multiple OEMs.
Data Source
AI summary
Systems and methods are provided that may be implemented to execute firmware and to inject executable code images into the executing firmware that are extracted from a code injection module (CIM) so as to execute the injected code and/or binary images from the firmware implementation environment.


