An Exploratory Analysis of Microcode as a Building Block for System Defenses
Benjamin Kollenda, Philipp Koppe, Marc Fyrbiak, Christian Kison,, Christof Paar, Thorsten Holz

TL;DR
This paper explores the potential of microcode as a flexible platform for implementing system security defenses, reverse engineering its inner workings and demonstrating practical security features on commercial CPUs.
Contribution
It provides new reverse engineering insights into proprietary microcode and demonstrates how to implement security defenses and a trusted environment using microcode on off-the-shelf CPUs.
Findings
Microcode can implement timing attack mitigations.
Microcode enables hardware-assisted address sanitization.
Microcode can support a microcode-assisted instrumentation framework.
Abstract
Microcode is an abstraction layer used by modern x86 processors that interprets user-visible CISC instructions to hardware-internal RISC instructions. The capability to update x86 microcode enables a vendor to modify CPU behavior in-field, and thus patch erroneous microarchitectural processes or even implement new features. Most prominently, the recent Spectre and Meltdown vulnerabilities were mitigated by Intel via microcode updates. Unfortunately, microcode is proprietary and closed source, and there is little publicly available information on its inner workings. In this paper, we present new reverse engineering results that extend and complement the public knowledge of proprietary microcode. Based on these novel insights, we show how modern system defenses and tools can be realized in microcode on a commercial, off-the-shelf AMD x86 CPU. We demonstrate how well-established system…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Physical Unclonable Functions (PUFs) and Hardware Security · Advanced Malware Detection Techniques
