Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Lab 02 — Hardening System Programming

In this lab session, we will take a practical tour of existing techniques to secure system programs implemented in traditional system programming languages. We will experiment with testing, fuzzing, code instrumentation (of both binary and source code), and static analysis.

By the end of the session, you will have a better understanding of the state of the art of hardening system programming, including its limitations.

Credits

The exercises of this lab session contain material and ideas reused with permission from the week 1 assignments of Stanford’s course CS 110L (2022) by Ryan Eberhardt, Armin Namavari, Will Crichton, Julio Ballista, and Thea Rossman.