Security Analysis of x86 Processor Microcode
Description
Modern computer processors contain an embedded firmware known as microcode that controls decode and execution of x86 instructions. Although proprietary and relatively obscure, this microcode can be modified using updates released by hardware manufacturers to correct processor logic flaws (errata). At the same time, a malicious microcode update could compromise a processor by implementing new malicious instructions or altering the functionality of existing instructions, including processor-accelerated virtualization or cryptographic primitives. Not only is this attack vector capable of subverting all software-enforced security policies and access controls, but it also leaves behind no postmortem forensic evidence since the write-only patch memory is cleared upon system reset. Although supervisor privileges (ring zero) are required to update processor microcode, this attack cannot be easily mitigated due to the implementation of microcode update functionality within processor silicon. In this paper, we reveal the microarchitecture and mechanism of microcode updates, present a security analysis of this attack vector, and provide some mitigation suggestions.
Date Created
The date the item was original created (prior to any relationship with the ASU Digital Repositories.)
2014-05
Agent
- Author (aut): Chen, Daming Dominic
- Thesis director: Ahn, Gail-Joon
- Committee member: Lee, Joohyung
- Contributor (ctb): Barrett, The Honors College
- Contributor (ctb): Computer Science and Engineering Program
- Contributor (ctb): School of International Letters and Cultures
- Contributor (ctb): School of Mathematical and Statistical Sciences