During the course the students work in groups to develop techniques for protecting system software. We focus on vulnerabilities such as buffer overflows, code injection, control flow manipulation, side-channel attacks, and fault injection. The project will use techniques based on memory isolation, runtime monitoring, static analysis, and diversification to prevent, detect, or mitigate illegal behavior. Our experiments are based on an existing operating system and existing compilers.
- Part I. Introductions and tutorials on the operating system and compiler chosen by the teacher for this course.
- Part II. Lectures on the latest defense mechanisms.
