Get in Touch

Course Outline

Introduction to Secure C and C++ Development

  • Exploring the core principles of secure software development
  • Identifying prevalent security risks in C and C++ applications
  • Examining the link between programming errors and security vulnerabilities
  • Adopting secure coding standards and best practices

Common C and C++ Programming Vulnerabilities

  • Recognising coding mistakes that introduce security risks
  • Addressing memory safety issues specific to C and C++
  • Understanding vulnerability patterns and their potential impact
  • Analysing examples of insecure code

Secure Programming Principles

  • Implementing defence-in-depth strategies
  • Writing code that is both robust and maintainable
  • Reducing the attack surface of applications
  • Applying secure design principles for C and C++

Input Validation and Data Handling

  • Recognising the critical importance of input validation
  • Preventing the exploitation of malicious input
  • Employing effective data sanitisation techniques
  • Handling user and external data securely

Error Handling and Exception Management

  • Understanding the risks of improper error handling
  • Designing secure mechanisms for error and exception management
  • Preventing information leakage through error messages
  • Building applications with greater resilience

Memory Safety and Buffer Overflow Protection

  • Comprehending memory management vulnerabilities
  • Addressing stack-based buffer overflows
  • Mitigating heap-based buffer overflows
  • Detecting and preventing memory corruption
  • Utilising safe memory handling techniques

Stack Protection and Runtime Security Features

  • Understanding stack overflow vulnerabilities
  • Leveraging compiler-based security protections
  • Utilising stack canaries and other protection mechanisms
  • Implementing Address Space Layout Randomization (ASLR)
  • Benefiting from modern operating system security features

Advanced C++ Security Considerations

  • Managing object lifecycles securely
  • Preventing use-after-free vulnerabilities
  • Safely managing pointers and references
  • Avoiding type confusion issues
  • Utilising C++ language features securely

Secure Coding Tools and Techniques

  • Using static analysis tools to detect vulnerabilities
  • Applying code review techniques for security assessment
  • Employing automated security testing approaches
  • Integrating security checks into development workflows

Secure Coding Standards and Best Practices

  • Reviewing industry-standard secure coding guidelines
  • Applying defensive programming techniques
  • Embedding security within 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
  • Reviewing the course and receiving secure development recommendations

Requirements

Fundamental knowledge of C/C++

 21 Hours

Number of participants


Price per participant

Testimonials (6)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories