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
- Prevalent security risks in C and C++ applications
- Correlating programming errors with security vulnerabilities
- Establishing secure coding standards and best practices
Common C and C++ Programming Vulnerabilities
- Identifying coding mistakes that introduce security risks
- Addressing memory safety issues in C and C++
- Evaluating vulnerability patterns and their potential impact
- Analyzing examples of insecure code
Secure Programming Principles
- Implementing defense-in-depth strategies
- Writing robust, maintainable code
- Minimizing potential attack surfaces
- Applying secure design principles to C and C++ applications
Input Validation and Data Handling
- Understanding the critical importance of input validation
- Mitigating exploitation through malicious input
- Employing data sanitization techniques
- Handling user and external data securely
Error Handling and Exception Management
- Risks posed by improper error handling
- Designing secure error and exception handling mechanisms
- Preventing information leakage via error messages
- Building resilient application architectures
Memory Safety and Buffer Overflow Protection
- Comprehending memory management vulnerabilities
- Stack-based buffer overflows
- Heap-based buffer overflows
- Detecting and preventing memory corruption
- Techniques for safe memory handling
Stack Protection and Runtime Security Features
- Understanding stack overflow vulnerabilities
- Compiler-based security protections
- Stack canaries and associated protection mechanisms
- Address Space Layout Randomization (ASLR)
- Modern operating system security features
Advanced C++ Security Considerations
- Managing secure object lifecycles
- Preventing use-after-free vulnerabilities
- Safely managing pointers and references
- Avoiding type confusion issues
- Secure utilization of C++ language features
Secure Coding Tools and Techniques
- Utilizing static analysis tools for vulnerability identification
- Code review methods for security assessment
- Approaches to automated security testing
- Integrating security checks into development workflows
Secure Coding Standards and Best Practices
- Reviewing industry-specific 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
- Analyzing vulnerable C/C++ code examples
- Applying security fixes and enhancements
- Testing code against common vulnerabilities
- Course summary and secure development recommendations
Requirements
Foundational knowledge 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