Reverse Engineering x86 Processor Microcode

10/01/2019
by   Philipp Koppe, et al.
0

Microcode is an abstraction layer on top of the physical components of a CPU and present in most general-purpose CPUs today. In addition to facilitate complex and vast instruction sets, it also provides an update mechanism that allows CPUs to be patched in-place without requiring any special hardware. While it is well-known that CPUs are regularly updated with this mechanism, very little is known about its inner workings given that microcode and the update mechanism are proprietary and have not been throughly analyzed yet. In this paper, we reverse engineer the microcode semantics and inner workings of its update mechanism of conventional COTS CPUs on the example of AMD's K8 and K10 microarchitectures. Furthermore, we demonstrate how to develop custom microcode updates. We describe the microcode semantics and additionally present a set of microprograms that demonstrate the possibilities offered by this technology. To this end, our microprograms range from CPU-assisted instrumentation to microcoded Trojans that can even be reached from within a web browser and enable remote code execution and cryptographic implementation attacks.

READ FULL TEXT

page 10

page 17

research
07/06/2020

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

Microcode is an abstraction layer used by modern x86 processors that int...
research
09/30/2020

An Embedded RISC-V Core with Fast Modular Multiplication

One of the biggest concerns in IoT is privacy and security. Encryption a...
research
05/11/2023

REMaQE – Reverse Engineering Math Equations from Executables

Cybersecurity attacks against industrial control systems and cyber-physi...
research
06/21/2014

Thermodynamic-RAM Technology Stack

We introduce a technology stack or specification describing the multiple...
research
01/23/2013

An Update Semantics for Defeasible Obligations

The deontic logic DUS is a Deontic Update Semantics for prescriptive obl...
research
10/20/2022

Thwarting Piracy: Anti-debugging Using GPU-assisted Self-healing Codes

Software piracy is one of the concerns in the IT sector. Pirates leverag...

Please sign up or login with your details

Forgot password? Click here to reset