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 prevalent security risks in C and C++ applications
- Examining the link between programming errors and security vulnerabilities
- Adopting secure coding standards and best practices
Common C and C++ Programming Vulnerabilities
- Recognising coding mistakes that introduce security risks
- Addressing memory safety issues specific to C and C++
- Understanding vulnerability patterns and their potential impact
- Analysing examples of insecure code
Secure Programming Principles
- Implementing defence-in-depth strategies
- Writing code that is both robust and maintainable
- Reducing the attack surface of applications
- Applying secure design principles for C and C++
Input Validation and Data Handling
- Recognising the critical importance of input validation
- Preventing the exploitation of malicious input
- Employing effective data sanitisation techniques
- Handling user and external data securely
Error Handling and Exception Management
- Understanding the risks of improper error handling
- Designing secure mechanisms for error and exception management
- Preventing information leakage through error messages
- Building applications with greater resilience
Memory Safety and Buffer Overflow Protection
- Comprehending memory management vulnerabilities
- Addressing stack-based buffer overflows
- Mitigating heap-based buffer overflows
- Detecting and preventing memory corruption
- Utilising safe memory handling techniques
Stack Protection and Runtime Security Features
- Understanding stack overflow vulnerabilities
- Leveraging compiler-based security protections
- Utilising stack canaries and other protection mechanisms
- Implementing Address Space Layout Randomization (ASLR)
- Benefiting from modern operating system security features
Advanced C++ Security Considerations
- Managing object lifecycles securely
- Preventing use-after-free vulnerabilities
- Safely managing pointers and references
- Avoiding type confusion issues
- Utilising C++ language features securely
Secure Coding Tools and Techniques
- Using static analysis tools to detect vulnerabilities
- Applying code review techniques for security assessment
- Employing automated security testing approaches
- Integrating security checks into development workflows
Secure Coding Standards and Best Practices
- Reviewing industry-standard 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
- Analysing vulnerable C/C++ code examples
- Applying security fixes and improvements
- Testing code against common vulnerabilities
- Reviewing the course and receiving secure development recommendations
Requirements
Fundamental 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