TUM Logo

Reverse Engineering Intel Microcode

Reverse Engineering Intel Microcode

Supervisor(s): Manuel Andreas
Status: inprogress
Topic: Reverse Engineering, Binary Exploitation
Type of Thesis: Masterthesis Bachelorthesis

Description

Topic Description

The internals of modern, proprietary CPUs have long been an interesting area of research. However, due to the proprietary nature of these CPUs, reverse engineering their internals has been notoriously difficult . One highly interesting part of a CPU is its microcode, as it is the intermediate layer between the CPUs circuits and its advertised ISA. As such, many (complex) x86 instructions are implemented by a sequence of micro-operations contained in the microcode.

In 2020, researchers were, for the first time ever, able to read and write microcode contained on an Intel Goldmont CPU. Together with their utilized technique and dumps of the microcode, they released a basic disassembler along with basic documentation of the the individual instructions.

In this thesis, we aim to achieve some of the following goals:

  • Gain a more refined understanding of the microcode ISA
  • Extend existing documentation
  • Figure out which and how detailed CPU extensions are implemented in microcode
  • Potentially discover bugs in the microcode implementation

Prerequisites

  • Confident in reading and writing x86 assembly
  • Confident in working with Python
  • Basic knowledge about CPU internals and extensions
  • Interest in reverse engineering
  • Interest in CPU internals

Contact

Manuel Andreas