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 programming errors and security vulnerabilities
- Industry standards and best practices for secure coding
Common C and C++ Programming Vulnerabilities
- Recognizing coding errors that introduce security risks
- Memory safety challenges specific to C and C++
- Typical vulnerability patterns and their potential impact
- Analyzing examples of insecure code
Secure Programming Principles
- Implementing defence-in-depth strategies
- Writing code that is both robust and maintainable
- Reducing the application's attack surface
- Applying secure design principles to C and C++ projects
Input Validation and Data Handling
- The critical role of input validation in security
- Strategies to prevent exploitation of malicious inputs
- Effective data sanitisation methods
- Secure management of user-generated and external data
Error Handling and Exception Management
- Security risks arising from inadequate error handling
- Designing secure mechanisms for error and exception management
- Preventing information leakage via error messages
- Building resilient application architectures
Memory Safety and Buffer Overflow Protection
- Understanding memory management flaws
- Stack-based buffer overflow issues
- Heap-based buffer overflow scenarios
- Techniques for detecting and preventing memory corruption
- Best practices for safe memory handling
Stack Protection and Runtime Security Features
- Navigating stack overflow vulnerabilities
- Leveraging compiler-based security features
- Utilizing stack canaries and related protection mechanisms
- Address Space Layout Randomization (ASLR)
- Modern operating system security capabilities
Advanced C++ Security Considerations
- Managing secure object lifecycles
- Mitigating use-after-free vulnerabilities
- Safe management of pointers and references
- Preventing type confusion issues
- Utilizing C++ language features securely
Secure Coding Tools and Techniques
- Employing static analysis tools for vulnerability detection
- Conducting security-focused code reviews
- Implementing automated security testing approaches
- Integrating security checks into the development workflow
Secure Coding Standards and Best Practices
- Reviewing industry-standard secure coding guidelines
- Applying defensive programming methodologies
- Embedding security within the software development lifecycle
- Maintaining high standards for secure and reliable C/C++ applications
Practical Secure Coding Workshop
- Examining vulnerable C/C++ code samples
- Implementing security fixes and enhancements
- Testing code against common vulnerability classes
- Course wrap-up and recommendations for secure development
Requirements
Foundational knowledge 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