Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 21 hours
Course Outline
Introduction to Secure C and C++ Development
- Foundations of secure software development principles
- Typical security risks found in C and C++ applications
- How programming errors contribute to security vulnerabilities
- Established secure coding standards and best practices
Common C and C++ Programming Vulnerabilities
- Recognising coding mistakes that lead to security risks
- Memory safety concerns specific to C and C++
- Vulnerability patterns and their potential impact
- Analyzing examples of insecure code
Secure Programming Principles
- Implementing defence-in-depth strategies
- Writing robust and maintainable code
- Reducing the attack surface
- Secure design principles tailored for C and C++ applications
Input Validation and Data Handling
- The critical role of input validation
- Mitigating exploitation through malicious input
- Techniques for data sanitisation
- Secure management of user and external data sources
Error Handling and Exception Management
- Risks posed by inadequate error handling
- Designing secure mechanisms for errors and exceptions
- Preventing information leakage via error messages
- Building application resilience
Memory Safety and Buffer Overflow Protection
- Understanding vulnerabilities in memory management
- Stack-based buffer overflows
- Heap-based buffer overflows
- Techniques for detecting and preventing memory corruption
- Best practices for safe memory handling
Stack Protection and Runtime Security Features
- Understanding stack overflow vulnerabilities
- Security protections provided by compilers
- Stack canaries and related protection mechanisms
- Address Space Layout Randomization (ASLR)
- Security features in modern operating systems
Advanced C++ Security Considerations
- Managing the secure lifecycle of objects
- Preventing use-after-free vulnerabilities
- Safely managing pointers and references
- Avoiding type confusion issues
- Secure utilisation of C++ language features
Secure Coding Tools and Techniques
- Employing static analysis tools to detect vulnerabilities
- Conducting security-focused code reviews
- Approaches to automated security testing
- Integrating security checks into the development workflow
Secure Coding Standards and Best Practices
- Examining 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 samples
- Applying security fixes and enhancements
- Testing code against common vulnerabilities
- Course recap and recommendations for secure development
Requirements
Fundamentals of C/C++
Testimonials (6)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
the balance between lectures and practice, the rhythm, the trainer knowledge and pedagogic skill
Armando Pinto - EID
Course - C/C++ Secure Coding
The trainer provided up-to-date information and valuable references and tools.
Jose Vicente - EID
Course - C/C++ Secure Coding
to get a lot of good info about the course subject
Paulo Pereira - EID
Course - C/C++ Secure Coding
The coach solid knowledge and the experience, nice slides, good examples.
Celso Almeida - EID
Course - C/C++ Secure Coding
General course information