Prerequisite: ENPM691. Restriction: Permission of Maryland Applied Graduate Engineering.
This course provides an in-depth understanding of how to find flaws in Linux (both user space and kernel space) and software within embedded devices (focusing on bare-metal software/firmware and hardware-focused techniques). Students will get an inside look at how modern operating systems and embedded devices protect their programs, flaws within the protection mechanisms, and how to exploit them. Although this is an offensive-focused course, mitigations to protect the programs will also be discussed.