This repository serves as a showcase of my master's project for Operating Systems: Design and Security course, which delves into the implementation of Meltdown and Spectre exploits within an Ubuntu 16.04 environment. It includes implementations for Meltdown, Spectre V1, Spectre V2, and Flush and Reload, all provided as proof-of-concepts (PoCs).
Throughout this project, I acquired knowledge on:
- Out-of-order Execution
- Speculative Execution
- Side-Channel Attacks (utilizing the CPU cache)
- Writing a kernel module
- Understanding CPU instruction processing
- Optimizing codes for Meltdown/Spectre
- Branch Predictors
Moreover, the repository features comprehensive documentation elucidating the code's inner workings and detailing various optimizations applied.