Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore AMD Zen CPU microcode manipulation through a comprehensive conference talk that demonstrates how to exploit the EntrySign vulnerability for custom microcode development. Learn about the fundamental concepts of CPU microcode, including how modern processors translate complex x86_64 instructions into simpler internal instruction sets and the role of microcode decoders in handling complex operations like wrmsr and rdrand. Discover the research methodology used to extract and analyze physical ROM contents from Zen 1 CPUs using electron microscopy, enabling disassembly and understanding of hardcoded microcode implementations including XXTEA decryption algorithms. Master the AngryTools framework, consisting of AngryUEFI (a UEFI application for low-level testing) and AngryCAT (a Python framework for test development), designed to safely test microcode updates without risking system corruption. Examine the ZenUtils Python toolkit for microcode development, featuring assembly/disassembly capabilities, macro assembler functionality, and support for creating complete microcode updates from assembly-like input files. Study practical examples ranging from basic CString strlen implementations to complex subleq virtual machine implementations entirely within microcode, demonstrating memory operations, arithmetic functions, and conditional branching. Understand the security implications and defensive measures AMD has implemented to address microcode vulnerabilities, while learning how unpatched systems can still be utilized for research purposes. Access the complete open-source toolchain available on GitHub to conduct your own microcode research and contribute to the broader understanding of CPU internals and low-level system programming.