• Online, Self-Paced
Course Description

In this course, you'll explore techniques to help you secure your C/C++ code including how to securely work with and validate data and a number of best practices for writing defensive and secure code.

Learning Objectives

Defending Code in C/C++

  • start the course
  • recognize how to properly interface with data in C/C++
  • demonstrate some common data validation techniques employed to create secure C/C++ applications
  • identify why casting in the C++ style is preferred to the C style

Best Practices for Defensive Coding

  • recognize how to properly use operator overloading in C/C++
  • identify the correct way to access internal class data
  • describe why for-loops are preferred to while-loops
  • recognize how to keep functions focused and concise
  • identify the best way to use references and pointers and why you should avoid raw pointers
  • recognize the importance of good readability for planning and maintaining code

Practice: Secure a C/C++ Application

  • use defensive coding techniques to create a secure C/C++ application

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.