Get in Touch

Course Outline

Introduction to Secure C and C++ Development

  • Understanding secure software development principles
  • Common security risks in C and C++ applications
  • The relationship between programming errors and security vulnerabilities
  • Secure coding standards and best practices

Common C and C++ Programming Vulnerabilities

  • Identifying common coding mistakes that introduce security risks
  • Memory safety issues in C and C++
  • Vulnerability patterns and their impact
  • Analysing insecure code examples

Secure Programming Principles

  • Applying defence-in-depth techniques
  • Writing robust and maintainable code
  • Minimising attack surfaces
  • Secure design principles for C and C++ applications

Input Validation and Data Handling

  • Understanding the importance of input validation
  • Preventing malicious input exploitation
  • Data sanitisation techniques
  • Secure handling of user and external data

Error Handling and Exception Management

  • Risks associated with improper error handling
  • Designing secure error and exception handling mechanisms
  • Avoiding information leakage through errors
  • Creating resilient applications

Memory Safety and Buffer Overflow Protection

  • Understanding memory management vulnerabilities
  • Stack-based buffer overflows
  • Heap-based buffer overflows
  • Detecting and preventing memory corruption
  • Safe memory handling techniques

Stack Protection and Runtime Security Features

  • Understanding stack overflow vulnerabilities
  • Compiler-based security protections
  • Stack canaries and protection mechanisms
  • Address Space Layout Randomization (ASLR)
  • Modern operating system security features

Advanced C++ Security Considerations

  • Secure object lifecycle management
  • Preventing use-after-free vulnerabilities
  • Managing pointers and references safely
  • Avoiding type confusion issues
  • Secure use of C++ language features

Secure Coding Tools and Techniques

  • Using static analysis tools to identify vulnerabilities
  • Code review techniques for security assessment
  • Automated security testing approaches
  • Integrating security checks into development workflows

Secure Coding Standards and Best Practices

  • Reviewing industry secure coding guidelines
  • Applying defensive programming techniques
  • Building security into the software development lifecycle
  • Maintaining secure and reliable C/C++ applications

Practical Secure Coding Workshop

  • Analysing vulnerable C/C++ code examples
  • Applying security fixes and improvements
  • Testing code against common vulnerabilities
  • Course review and secure development recommendations

Requirements

Basics of C/C++

 21 Hours

Testimonials (6)

Upcoming Courses

Related Categories