Randomizing firmware loaded to a processor memory
Abstract:
Apparatus and method for protecting firmware and other types of control data used in a processor-based device, such as but not limited to a solid-state drive (SSD). In some embodiments, the firmware is stored in a firmware store as a plurality of program instructions in a first sequence. The program instructions are loaded to a local memory in a different, second sequence. In some cases, a random number is generated and the second sequence is selected using the random number. A translation table may be generated and used by a programmable processor to locate the various program instructions in the second sequence. In other cases, instructions with calls and other references to other instruction lines are modified based on the order in the local memory. Other forms of control data may also be generated and stored to the local memory in a random order and interspersed with the firmware.
Information query
Patent Agency Ranking
0/0