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.
Course Outline
Introduction to Secure C and C++ Development
- Exploring the core principles of secure software development
- Identifying common security risks in C and C++ applications
- Examining the link between programming errors and security vulnerabilities
- Reviewing secure coding standards and industry best practices
Common C and C++ Programming Vulnerabilities
- Recognizing coding mistakes that introduce security risks
- Addressing memory safety challenges in C and C++
- Analyzing vulnerability patterns and their potential impact
- Evaluating insecure code examples
Secure Programming Principles
- Implementing defence-in-depth strategies
- Crafting robust and maintainable code
- Reducing attack surfaces
- Applying secure design principles for C and C++ applications
Input Validation and Data Handling
- Recognizing the critical role of input validation
- Preventing the exploitation of malicious input
- Employing data sanitisation methods
- Ensuring secure management of user and external data
Error Handling and Exception Management
- Identifying risks stemming from inadequate error handling
- Designing secure mechanisms for error and exception management
- Preventing information leakage via error messages
- Building fault-tolerant applications
Memory Safety and Buffer Overflow Protection
- Understanding memory management weaknesses
- Addressing stack-based buffer overflows
- Addressing heap-based buffer overflows
- Detecting and preventing memory corruption
- Applying safe memory handling practices
Stack Protection and Runtime Security Features
- Understanding stack overflow vulnerabilities
- Leveraging compiler-based security protections
- Utilizing stack canaries and related protection mechanisms
- Implementing Address Space Layout Randomization (ASLR)
- Incorporating modern operating system security features
Advanced C++ Security Considerations
- Managing secure object lifecycles
- Mitigating use-after-free vulnerabilities
- Handling pointers and references safely
- Avoiding type confusion issues
- Utilizing C++ language features securely
Secure Coding Tools and Techniques
- Utilizing static analysis tools to uncover vulnerabilities
- Applying code review techniques for security assessment
- Implementing automated security testing strategies
- Embedding security checks into development workflows
Secure Coding Standards and Best Practices
- Studying industry secure coding guidelines
- Applying defensive programming techniques
- Integrating security into the software development lifecycle
- Ensuring the security and reliability of C/C++ applications
Practical Secure Coding Workshop
- Analyzing vulnerable C/C++ code samples
- Implementing security fixes and enhancements
- Testing code for resistance to common vulnerabilities
- Reviewing course material and secure development recommendations
Requirements
Foundational knowledge of C/C++
21 Hours
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