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
- Core principles of secure software development
- Prevalent security risks in C and C++ environments
- The link between coding errors and security vulnerabilities
- Industry secure coding standards and best practices
Common C and C++ Programming Vulnerabilities
- Recognizing coding errors that introduce security risks
- Memory safety concerns specific to C and C++
- Understanding vulnerability patterns and their potential impact
- Analyzing examples of insecure code
Secure Programming Principles
- Implementing defense-in-depth strategies
- Developing robust and maintainable code
- Reducing the attack surface
- Secure design methodologies for C and C++ applications
Input Validation and Data Handling
- The critical role of input validation
- Mitigating exploitation of malicious inputs
- Effective data sanitization techniques
- Secure processing of user-generated and external data
Error Handling and Exception Management
- Risks posed by inadequate error handling
- Designing secure error and exception mechanisms
- Preventing information disclosure via error messages
- Building resilient application architectures
Memory Safety and Buffer Overflow Protection
- Understanding memory management weaknesses
- Stack-based buffer overflow prevention
- Heap-based buffer overflow prevention
- Identifying and preventing memory corruption
- Best practices for safe memory management
Stack Protection and Runtime Security Features
- Identifying stack overflow vulnerabilities
- Compiler-integrated security measures
- Stack canaries and related protection mechanisms
- Address Space Layout Randomization (ASLR)
- Security features in modern operating systems
Advanced C++ Security Considerations
- Managing object lifecycles securely
- Preventing use-after-free vulnerabilities
- Safe management of pointers and references
- Avoiding type confusion issues
- Secure utilization of C++ language features
Secure Coding Tools and Techniques
- Leveraging static analysis tools for vulnerability detection
- Conducting security-focused code reviews
- Implementing automated security testing
- Integrating security checks into development workflows
Secure Coding Standards and Best Practices
- Examining industry secure coding guidelines
- Applying defensive programming methods
- Embedding security within the software development lifecycle
- Maintaining secure and reliable C/C++ applications
Practical Secure Coding Workshop
- Reviewing vulnerable C/C++ code samples
- Implementing security fixes and enhancements
- Testing code against common vulnerability classes
- Course summary 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