CRJul 6, 2020

An Exploratory Analysis of Microcode as a Building Block for System Defenses

arXiv:2007.03549v113 citations
Originality Incremental advance
AI Analysis

This work addresses the need for enhanced system security defenses in computing by enabling microcode-based implementations, though it is incremental as it builds on existing reverse engineering efforts.

The paper tackled the problem of limited public knowledge about proprietary x86 microcode by presenting new reverse engineering results, enabling the implementation of system defenses like timing attack mitigations and hardware-assisted address sanitization on a commercial AMD CPU, with all programs and infrastructure made publicly available.

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 security defenses such as timing attack mitigations, hardware-assisted address sanitization, and instruction set randomization can be realized in microcode. We also present a proof-of-concept implementation of a microcode-assisted instrumentation framework. Finally, we show how a secure microcode update mechanism and enclave functionality can be implemented in microcode to realize a small trusted execution environment. All microcode programs and the whole infrastructure needed to reproduce and extend our results are publicly available.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes