• Online, Self-Paced
Course Description

The C and C++ languages cover a wide range of systems spanning several decades of development. Although all programming languages are susceptible to security vulnerabilities, C and C++ are particularly prone to them due to the low-level nature of the language. In this course, you will learn how to prevent the most serious vulnerabilities in your C and C++ applications. After completing this course, you will be able to mitigate buffer overflows, understand and prevent several additional types of memory management vulnerabilities, protect data in memory, prevent format string vulnerabilities, understand integer overflows, mitigate race conditions, and avoid the most common types of Injection vulnerabilities.

Learning Objectives

On successful completion of this course, learners should have the knowledge and skills to:

  • Mitigate buffer overflows
  • Prevent memory management vulnerabilities
  • Protect data in memory
  • Prevent format string vulnerabilities
  • Understand integer overflows
  • Mitigate race conditions
  • Avoid injection vulnerabilities

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.

Feedback

If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.