Get in Touch
 Duration 21 hours

Course Outline

Foundations of Secure C and C++ Development

  • Core principles of secure software development
  • Typical security risks found in C and C++ applications
  • How programming errors lead to security vulnerabilities
  • Industry standards and best practices for secure coding

Identifying C and C++ Programming Vulnerabilities

  • Recognizing coding mistakes that pose security threats
  • Memory safety challenges specific to C and C++
  • Common vulnerability patterns and their potential impact
  • Analysis of insecure code examples

Principles of Secure Programming

  • Implementing defense-in-depth strategies
  • Developing robust and maintainable code
  • Reducing the application's attack surface
  • Secure design methodologies for C and C++ systems

Input Validation and Data Management

  • The critical role of input validation
  • Preventing exploitation through malicious inputs
  • Techniques for data sanitization
  • Secure processing of user and external data

Error Handling and Exception Control

  • Risks arising from inadequate error handling
  • Designing secure error and exception mechanisms
  • Preventing information disclosure via errors
  • Building resilient applications

Memory Safety and Buffer Overflow Defense

  • Understanding vulnerabilities in memory management
  • Stack-based buffer overflow issues
  • Heap-based buffer overflow issues
  • Detection and prevention of memory corruption
  • Safe practices for memory handling

Stack Protection and Runtime Security

  • Analyzing stack overflow vulnerabilities
  • Security protections provided by compilers
  • Stack canaries and related defense mechanisms
  • Address Space Layout Randomization (ASLR)
  • Security features in modern operating systems

Advanced C++ Security Topics

  • Securing object lifecycle management
  • Mitigating use-after-free vulnerabilities
  • Safe management of pointers and references
  • Preventing type confusion issues
  • Secure utilization of C++ language features

Tools and Techniques for Secure Coding

  • Employing static analysis tools to detect vulnerabilities
  • Code review methods for security assessment
  • Approaches to automated security testing
  • Integrating security checks into the development workflow

Secure Coding Standards and Best Practices

  • Reviewing industry-wide secure coding guidelines
  • Implementing defensive programming techniques
  • Embedding security into the software development lifecycle
  • Maintaining secure and reliable C/C++ applications

Practical Secure Coding Workshop

  • Analyzing vulnerable C/C++ code samples
  • Applying security fixes and enhancements
  • Testing code against common vulnerabilities
  • Course summary and recommendations for secure development

Requirements

Foundational knowledge of C and C++

Number of participants


Price per participant (excl. VAT)

Testimonials (7)

Upcoming Courses

Related Categories