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
- The correlation between programming errors and security vulnerabilities
- Industry secure coding standards and best practices
Common C and C++ Programming Vulnerabilities
- Recognizing coding errors that compromise security
- Addressing memory safety concerns in C and C++
- Examining vulnerability patterns and their potential impact
- Analyzing examples of insecure code
Secure Programming Principles
- Implementing defense-in-depth strategies
- Developing robust, maintainable code
- Reducing attack surfaces
- Applying secure design principles to C and C++ applications
Input Validation and Data Handling
- The critical role of input validation
- Safeguarding against malicious input exploitation
- Techniques for data sanitization
- Secure management of user and external data
Error Handling and Exception Management
- Risks posed by inadequate error handling
- Designing secure error and exception handling mechanisms
- Preventing information leakage through error messages
- Building resilient applications
Memory Safety and Buffer Overflow Protection
- Understanding memory management vulnerabilities
- Stack-based buffer overflows
- Heap-based buffer overflows
- Identifying and preventing memory corruption
- Employing safe memory handling techniques
Stack Protection and Runtime Security Features
- Understanding stack overflow vulnerabilities
- Compiler-integrated security protections
- Stack canaries and protective mechanisms
- Address Space Layout Randomization (ASLR)
- Security features in modern operating systems
Advanced C++ Security Considerations
- Secure management of object lifecycles
- Mitigating use-after-free vulnerabilities
- Safe handling of pointers and references
- Preventing type confusion issues
- Utilizing C++ language features securely
Secure Coding Tools and Techniques
- Utilizing static analysis tools to detect vulnerabilities
- Security-focused code review techniques
- Approaches to automated security testing
- Integrating security checks into development workflows
Secure Coding Standards and Best Practices
- Reviewing industry-established 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
- Analyzing vulnerable C/C++ code samples
- Implementing security fixes and enhancements
- Testing code resilience against common vulnerabilities
- Course summary and secure development recommendations
Requirements
Fundamental 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