Get in Touch
 Duration 21 hours

Course Outline

Introduction to Secure C and C++ Development

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

Common C and C++ Programming Vulnerabilities

  • Recognising coding mistakes that introduce security risks
  • Addressing memory safety issues specific to C and C++
  • Evaluating 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 to C and C++ projects

Input Validation and Data Handling

  • Recognising the critical role of input validation
  • Thwarting the exploitation of malicious inputs
  • Employing data sanitisation methods
  • Ensuring the secure processing of user and external data

Error Handling and Exception Management

  • Assessing risks posed by inadequate error handling
  • Designing secure mechanisms for errors and exceptions
  • Preventing information leakage via error messages
  • Building applications with greater resilience

Memory Safety and Buffer Overflow Protection

  • Understanding vulnerabilities related to memory management
  • Addressing stack-based buffer overflows
  • Addressing heap-based buffer overflows
  • Detecting and mitigating memory corruption
  • Applying safe memory handling practices

Stack Protection and Runtime Security Features

  • Understanding stack overflow vulnerabilities
  • Leveraging compiler-based security protections
  • Utilising stack canaries and similar protection mechanisms
  • Address Space Layout Randomization (ASLR)
  • 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
  • Securing the use of specific C++ language features

Secure Coding Tools and Techniques

  • Using static analysis tools to pinpoint vulnerabilities
  • Employing code review techniques for security assessment
  • Adopting 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 into the software development lifecycle
  • Maintaining secure and reliable C/C++ applications

Practical Secure Coding Workshop

  • Analysing examples of vulnerable C/C++ code
  • Applying security fixes and improvements
  • Testing code against common vulnerabilities
  • Reviewing the course and discussing secure development recommendations

Requirements

Foundational knowledge of C/C++

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 4350 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (7)

Upcoming Courses

Related Categories