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.
Learning Objectives
Explain how vulnerabilities are found and how they are exploited. Write secure code (code without vulnerabilities) and mitigate vulnerabilities that might be present on modern Linux and embedded systems. Differentiate between software in embedded systems and other modern computing systems, and explain the similarities and differences between securing both of them.
Framework Connections
Feedback
If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.