The recent news of micro-architecture level security vulnerabilities and exploits like Spectre and Meltdown has highlighted the need to consider the full computer system stack when implementing performance or security concepts. In this project-based learning activity, we will cover: (i) application level security concepts such as control flow hijacking, return oriented programming vulnerabilities, code injection attacks, (ii) conventional processor organization and its vulnerabilities, and finally (iii) secure applications and processor design principles.
The key learning outcomes are to provide junior and senior undergraduate students interested in cybersecurity with: