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
- Comprehending secure software development principles
- Identifying prevalent security risks in C and C++ applications
- The link between programming errors and security vulnerabilities
- Adhering to secure coding standards and best practices
Common C and C++ Programming Vulnerabilities
- Recognising coding errors that introduce security risks
- Addressing memory safety concerns in C and C++
- Understanding vulnerability patterns and their potential impact
- Examining examples of insecure code
Secure Programming Principles
- Implementing defence-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 Handling
- Recognising the critical importance of input validation
- Preventing the exploitation of malicious inputs
- Employing data sanitization techniques
- Securing the handling of user and external data
Error Handling and Exception Management
- Risks posed by improper error handling
- Designing secure mechanisms for error and exception management
- Preventing information leakage via error messages
- Building resilient applications
Memory Safety and Buffer Overflow Protection
- Understanding vulnerabilities related to memory management
- Stack-based buffer overflows
- Heap-based buffer overflows
- Detecting and preventing memory corruption
- Techniques for safe memory handling
Stack Protection and Runtime Security Features
- Understanding stack overflow vulnerabilities
- Security protections provided by compilers
- Stack canaries and other protection mechanisms
- Address Space Layout Randomization (ASLR)
- Security features in modern operating systems
Advanced C++ Security Considerations
- Securing object lifecycle management
- Preventing use-after-free vulnerabilities
- Safe management of pointers and references
- Mitigating type confusion issues
- Secure utilization of C++ language features
Secure Coding Tools and Techniques
- Utilising static analysis tools to detect vulnerabilities
- Techniques for security-focused code review
- Approaches to automated security testing
- Integrating security checks into development workflows
Secure Coding Standards and Best Practices
- Reviewing industry-standard secure coding guidelines
- Applying defensive programming techniques
- Embedding security throughout the software development lifecycle
- Maintaining secure and reliable C/C++ applications
Practical Secure Coding Workshop
- Analysing examples of vulnerable C/C++ code
- Applying security fixes and enhancements
- Testing code against common vulnerabilities
- Course summary and recommendations for secure development
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