C/C++ Secure Coding Training Course
Developing secure C and C++ applications demands stringent measures against malicious exploitation, memory corruption, and input validation circumvention. This course explores common vulnerability patterns such as buffer overflows, use-after-free errors, integer overflows, and type confusion. Participants will implement secure coding standards, utilize static analysis tools, and apply defensive programming strategies to mitigate weaknesses, enforce input sanitization, and produce robust software capable of withstanding cyber threats.
This course is available as onsite live training in India or online live training.Course Outline
- Common C/C++ programming bugs
- Core principles of protection
- Input validation techniques
- Handling errors and exceptions improperly
- Buffer overflow vulnerabilities
- Stack overflow risks
- Heap overflow issues
- Strategies to protect against stack overflow
- Address Space Layout Randomization (ASLR)
- Resources for secure coding
Requirements
Fundamental knowledge of C/C++
Open Training Courses require 5+ participants.
C/C++ Secure Coding Training Course - Booking
C/C++ Secure Coding Training Course - Enquiry
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
Paulo Gouveia - EID
Course - C/C++ Secure Coding
Upcoming Courses
Related Courses
Advanced C++
35 HoursThis instructor-led live training in India (online or onsite) is aimed at developers who wish to use advanced C++ programming techniques to develop complex, secure, and high-performance systems and applications.
By the end of this training, participants will be able to:
- Set up a development environment that includes all C++ libraries, packages and frameworks.
- Understand the features, components, and basic elements of C++.
- Create complex C++ applications using advanced programming techniques.
- Learn how to write readable, fast, and secure code in C++.
- Know the common security pitfalls in C++ language and how to mitigate them.
- Implement test strategies for code quality and security control.
- Use the diagnostics and debugging tools in C++ development.
Applications Security Foundation
21 HoursThis course addresses the essential secure coding practices pertinent to a broad spectrum of web application developers. Participants will learn the principles of secure programming by examining specific code snippets, identifying security vulnerabilities, and implementing effective remediation strategies.
Throughout this training, you will observe demonstrations of real-world attack scenarios and learn how to counter them, thereby building confidence in enhancing the security posture of your applications.
Duration: 3 days
Target Audience: Developers seeking to deepen their expertise in secure coding.
Learning Outcomes
• Upon completion, participants will gain knowledge in:
• Web Application Security.
• Common Web Application Risks.
• Penetration Testing on Demo Web Applications.
• Data Validation.
• Authentication.
• Session Management.
• Secure SDLC.
C++ for Modeling Quantitative Finance
49 HoursThis course empowers quantitative developers with advanced C++ techniques specifically designed for financial modeling. It covers core computational algorithms and data structures, derivatives pricing models, risk analytics, and performance-optimized implementations. Through a comprehensive project-based curriculum, the course bridges theoretical finance with production-grade code, enabling professionals to build accurate, high-speed simulation systems for trading, market analysis, and risk management.
Network Security and Secure Communication
21 HoursBuilding secure networked applications can be challenging, even for developers who have previously worked with cryptographic building blocks like encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, this course first establishes a strong foundation on the core requirements of secure communication—such as secure acknowledgement, integrity, confidentiality, remote identification, and anonymity. It also highlights common issues that can compromise these requirements and presents practical real-world solutions.
Since cryptography is a critical component of network security, the course covers essential cryptographic algorithms, including symmetric cryptography, hashing, asymmetric cryptography, and key agreement protocols. Rather than focusing on complex mathematical theories, these concepts are explored from a developer's perspective, featuring typical use-case examples and practical considerations related to cryptographic implementation, such as Public Key Infrastructures (PKI). The course also introduces security protocols used in various areas of secure communication, providing an in-depth look at widely adopted protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are discussed, covering both specific algorithms and protocols. This includes attacks such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding Oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each vulnerability, the practical implications and potential consequences are explained, avoiding deep mathematical details to maintain focus on practical understanding.
Finally, given that XML technology is central to data exchange in networked applications, the course addresses XML security. This includes the use of XML within web services and SOAP messages, along with protective measures like XML Signature and XML Encryption. Additionally, it covers weaknesses in these protection mechanisms and XML-specific security issues, such as XML injection, XML External Entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Gain an understanding of fundamental security concepts, IT security, and secure coding practices
- Comprehend the requirements for secure communication
- Learn about network attacks and defenses across different OSI layers
- Develop a practical understanding of cryptography
- Understand essential security protocols
- Recognize recent attacks targeting cryptosystems
- Gain insights into recent related vulnerabilities
- Understand security concepts within Web services
- Access resources and further readings on secure coding practices
Audience
Developers, Professionals
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the diverse security services provided by Java, nor are they always conscious of the various vulnerabilities pertinent to web applications developed in Java.
Aside from introducing the security components of Standard Java Edition, this course addresses security concerns related to Java Enterprise Edition (JEE) and web services. The discussion of specific services builds upon the foundations of cryptography and secure communication. A range of exercises focuses on declarative and programmatic security techniques within JEE, while both transport-layer and end-to-end security for web services are explored. The application of all these components is illustrated through practical exercises, allowing participants to experiment with the discussed APIs and tools firsthand.
The course also examines and explains the most common and severe programming flaws associated with the Java language and platform, as well as web-related vulnerabilities. Beyond the typical errors made by Java developers, the covered security vulnerabilities include both language-specific issues and problems arising from the runtime environment. All vulnerabilities and their corresponding attacks are demonstrated through straightforward exercises, followed by recommended coding guidelines and potential mitigation techniques.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Comprehend the security concepts underlying web services
- Acquire skills in utilizing various security features of the Java development environment
- Develop a practical understanding of cryptography
- Understand the security solutions offered by Java EE
- Learn about typical coding mistakes and how to avoid them
- Gain insights into recent vulnerabilities within the Java framework
- Acquire practical knowledge in using security testing tools
- Obtain resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
Although the Java language and the Runtime Environment (JRE) were designed to be free from the most problematic common security vulnerabilities experienced in other languages, like C/C++, software developers and architects must do more than just use the various security features of the Java environment (positive security). They must also be aware of the numerous vulnerabilities that are still relevant for Java development (negative security).
The introduction of security services is preceded by a brief overview of the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. The use of these components is presented through several practical exercises, where participants can try out the discussed APIs for themselves.
The course also goes through and explains the most frequent and severe programming flaws of the Java language and platform, covering both the typical bugs committed by Java programmers and the language- and environment-specific issues. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
- Learn to use various security features of the Java development environment
- Have a practical understanding of cryptography
- Learn about typical coding mistakes and how to avoid them
- Get information about some recent vulnerabilities in the Java framework
- Get sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages enable code compilation for the .NET and ASP.NET frameworks. While this environment offers robust security development capabilities, developers must master architecture-level and coding-level techniques to implement desired security features, avoid vulnerabilities, and limit their potential exploitation.
This course aims to equip developers with practical skills through extensive hands-on exercises. Participants will learn to prevent untrusted code from executing privileged actions, safeguard resources using strong authentication and authorization mechanisms, manage remote procedure calls and sessions, and explore various implementation strategies for enhanced security.
The course begins by introducing various vulnerabilities, starting with common programming pitfalls in .NET. It then examines ASP.NET-specific vulnerabilities, including the impact of different environment settings. Furthermore, the discussion covers general web application security challenges alongside specialized issues and attack vectors, such as ViewState manipulation and string termination attacks.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding principles
- Identify web vulnerabilities beyond the OWASP Top Ten and understand prevention strategies
- Utilize the security features available in the .NET development environment
- Acquire practical expertise in employing security testing tools
- Recognize typical coding errors and learn how to sidestep them
- Gain insights into recent vulnerabilities affecting .NET and ASP.NET
- Access resources and further reading materials on secure coding practices
Audience
Developers
Secure coding in PHP
21 HoursThis course equips PHP developers with the vital skills needed to build applications that are resilient against modern internet-based threats. It explores web vulnerabilities through practical PHP examples, going beyond the OWASP Top Ten to cover a wide range of injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload flaws, and more. PHP-specific vulnerabilities are categorized into common vulnerability types such as inadequate input validation, improper error and exception handling, misuse of security features, and time- and state-related issues. For the latter, we examine attacks such as open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. Throughout, participants will learn the key techniques and functions required to mitigate these risks.
A significant emphasis is placed on client-side security, addressing issues related to JavaScript, Ajax, and HTML5. The course introduces essential PHP security extensions like Hash, Mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for robust input validation. Comprehensive hardening best practices are provided for PHP configuration (including php.ini settings), Apache, and the server environment at large. Additionally, an overview of various security testing tools and methodologies is offered for developers and testers, including security scanners, penetration testing tools, exploit kits, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the theoretical introduction of vulnerabilities and the configuration best practices are reinforced with numerous hands-on exercises. These demonstrate the real-world impact of successful attacks, illustrate how to apply mitigation strategies, and provide practical experience with various extensions and tools.
Participants attending this course will
- Gain a solid understanding of fundamental security concepts, IT security, and secure coding principles
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Explore client-side vulnerabilities and adopt secure coding practices
- Develop a practical understanding of cryptography
- Learn how to leverage various built-in security features of PHP
- Identify common coding mistakes and learn how to avoid them
- Stay informed about the latest vulnerabilities affecting the PHP framework
- Acquire practical skills in using security testing tools
- Receive curated resources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThis comprehensive SDL core training provides an in-depth look at secure software design, development, and testing methodologies through the Microsoft Secure Development Lifecycle (SDL). It begins with a level 100 overview of the fundamental building blocks of SDL, followed by design techniques aimed at detecting and resolving flaws during the early stages of the development process.
Focusing on the development phase, the course outlines typical security-related programming bugs found in both managed and native code. It presents attack vectors for the discussed vulnerabilities alongside associated mitigation techniques, all explained through a series of hands-on exercises that offer participants engaging, live hacking experiences. The introduction to various security testing methods is followed by a demonstration of the effectiveness of different testing tools. Participants gain a practical understanding of these tools by applying them to previously discussed vulnerable code in numerous practical exercises.
Participants attending this course will
Understand the fundamental concepts of security, IT security, and secure coding
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle
Learn secure design and development practices
Learn about secure implementation principles
Understand security testing methodologies
- Access sources and further readings on secure coding practices
Audience
Developers, Managers
C++ for Embedded Systems
21 HoursIs C++ appropriate for embedded systems like microcontrollers and real-time operating systems?
Should object-oriented programming be employed in microcontrollers?
Is C++ too abstracted from the hardware to be efficient?
This instructor-led live training answers these questions and demonstrates, through discussion and practical exercises, how C++ can be utilized to develop embedded systems with code that is precise, readable, and efficient. Participants will apply theory to practice by creating a sample embedded application in C++.
Upon completion of this training, participants will be able to:
- Grasp the principles of object-oriented modeling, embedded software programming, and real-time programming
- Write code for embedded systems that is compact, fast, and secure
- Avoid code bloat caused by templates, exceptions, and other language features
- Understand the challenges associated with using C++ in safety-critical and real-time systems
- Debug a C++ program on a target device
Audience
- Developers
- Designers
Format of the course
- Part lecture, part discussion, exercises, and extensive hands-on practice
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led live course in India, participants will learn how to formulate a robust security strategy to address DevOps security challenges.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) is a practical course tailored to empower professionals with the expertise to embed security throughout the DevOps lifecycle, thereby facilitating secure software development from the initial planning stages to final deployment.
This instructor-led, live training session (available online or onsite) targets intermediate-level software engineers and DevOps specialists aiming to integrate security protocols into CI/CD pipelines, ensuring the delivery of secure and compliant code.
Upon completing this training, participants will be capable of:
- Comprehending the core principles and practices of DevSecOps.
- Securing each phase of the CI/CD pipeline through the use of automated tools.
- Applying secure coding standards and performing vulnerability scanning.
- Preparing for the ECDE certification via practical labs and review sessions.
Course Format
- Interactive lectures and discussions.
- Hands-on engagement with DevSecOps tools within simulated pipelines.
- Guided exercises emphasizing secure development and deployment strategies.
Customization Options
- For teams wishing to customize this training based on specific workflows or toolchains, please contact us to make arrangements.
How to Write Secure Code
35 HoursThis course aims to assist with the following:
- Helping developers master the techniques for writing secure code.
- Assisting software testers in evaluating application security before deployment to production environments.
- Helping software architects comprehend the risks associated with their applications.
- Supporting team leaders in establishing security baselines for developers.
- Guiding webmasters in configuring servers to prevent misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores secure coding principles and practices for Java, utilizing the testing methodology of the Open Web Application Security Project (OWASP). OWASP is a vibrant online community dedicated to producing freely accessible articles, methodologies, documentation, tools, and technologies focused on web application security.
Secure Developer .NET (Inc OWASP)
21 HoursThis course delves into secure coding concepts and principles using ASP.NET, guided by the testing methodologies of the Open Web Application Security Project (OWASP). OWASP is an active online community that provides freely available articles, methodologies, documentation, tools, and technologies focused on web application security.
The course explores the security features of the .NET Framework and demonstrates how to safeguard web applications effectively.