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
- Grasping core principles of secure software development
- Key security risks within C and C++ applications
- The link between programming errors and security vulnerabilities
- Establishing secure coding standards and best practices
Prevalent Vulnerabilities in C and C++ Programming
- Recognizing common coding errors that create security risks
- Memory safety challenges in C and C++
- Vulnerability patterns and their consequences
- Analyzing examples of insecure code
Foundations of Secure Programming
- Implementing defense-in-depth strategies
- Writing code that is both robust and maintainable
- Reducing the attack surface
- Applying secure design principles to C and C++ applications
Input Validation and Data Management
- The critical role of input validation
- Preventing the exploitation of malicious inputs
- Techniques for data sanitization
- Secure processing of user and external data
Error Handling and Exception Management
- Dangers posed by inadequate error handling
- Designing secure mechanisms for error and exception management
- Preventing information leakage through error messages
- Building resilient applications
Memory Safety and Buffer Overflow Mitigation
- Comprehending memory management vulnerabilities
- Stack-based buffer overflows
- Heap-based buffer overflows
- Identifying and preventing memory corruption
- Employing safe memory handling methods
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 Security Considerations for C++
- Managing the object lifecycle securely
- Preventing use-after-free vulnerabilities
- Safely managing pointers and references
- Addressing type confusion issues
- Secure utilization of C++ language features
Secure Coding Tools and Methodologies
- Utilizing static analysis tools to detect vulnerabilities
- Conducting code reviews for security assessment
- Approaches to automated security testing
- Embedding security checks into development workflows
Industry Standards and Secure Coding Best Practices
- Reviewing established industry guidelines for secure coding
- Applying defensive programming techniques
- Integrating security throughout the software development lifecycle
- Ensuring C/C++ applications remain secure and reliable
Hands-On Secure Coding Workshop
- Analyzing vulnerable C/C++ code samples
- Applying security fixes and enhancements
- Testing code for common vulnerabilities
- Course summary and recommendations for secure development
Requirements
Familiarity with the 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