• Online, Self-Paced
Course Description

Discover how to protect your applications from attacks and bad data! This course shows you how to identify and defend your C/C++ applications from potential risks, and how to control user input to reduce the possibility of bad data entry.

Learning Objectives

Risks in C/C++ Applications

  • start the course
  • identify potential risks to C/C++ UI applications
  • describe what buffer overflows are and how to limit their impact
  • recall how to prevent buffer overflows in C/C++ applications


Defense against Attacks

  • describe what code injection attacks are and how to mitigate them in C/C++ applications
  • identify how to prevent formatted string vulnerabilities
  • recognize how to prevent DLL hijacking in C/C++ applications
  • use exceptions in C/C++ applications


User Input

  • specify how to handle bad data in your C/C++ applications
  • work with regular expressions to help with input validation
  • recognize how to constrain user input to prevent the input of bad data


Practice: Defense and User Input

  • use defensive coding techniques to handle user input


Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development