C/C++ Secure Coding Training Course
Developing secure C and C++ code demands rigorous defenses against malicious exploitation, memory corruption, and input validation bypasses. This course analyzes vulnerability patterns such as buffer overflows, use-after-free errors, integer overflows, and type confusion. Participants will apply secure coding standards, static analysis tools, and defensive programming techniques to eliminate weaknesses, enforce input sanitization, and deliver hardened software that is resilient against cyberattacks.
This course is available as onsite live training in Turkey or online live training.Course Outline
- C/C++ programming vulnerabilities
- Core security principles
- Input validation
- Improper error and exception handling
- Buffer overflow
- Stack overflow
- Heap overflow
- Defenses against stack overflow
- Address Space Layout Randomization (ASLR)
- Secure coding resources
Requirements
Foundational 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 Turkey (online or onsite) is designed for developers who want to master advanced C++ programming techniques to build complex, secure, and high-performance systems and applications.
Upon completion of this training, participants will be able to:
- Configure a development environment that includes all necessary C++ libraries, packages, and frameworks.
- Grasp the features, components, and foundational elements of C++.
- Develop complex C++ applications using advanced programming methodologies.
- Write code that is readable, fast, and secure in C++.
- Identify common security pitfalls in C++ and learn how to mitigate them.
- Implement test strategies to ensure code quality and security control.
- Utilize diagnostics and debugging tools within C++ development.
Advanced C++ : Practical workshop
21 HoursThis C++ course explores essential modern programming concepts, such as templates, move semantics, and first-class functions.
It focuses on memory management through the use of smart pointers and adheres to secure coding standards.
Participants will study runtime errors, operator overloading, polymorphism, and STL containers alongside algorithms.
The program finishes with an overview of effective testing strategies in C++.
C++ for Modeling Quantitative Finance
49 HoursEmpowers quantitative developers with advanced C++ techniques specifically designed for financial modeling. The course covers essential computational algorithms and data structures, derivatives pricing models, risk analytics, and performance-optimized implementations. It guides practitioners through a comprehensive, project-based curriculum that connects 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 HoursImplementing a secure networked application can be challenging, even for developers who have prior experience with various cryptographic building blocks (such as encryption and digital signatures). To ensure participants grasp the role and application of these cryptographic primitives, the course begins by establishing a solid foundation on the core requirements of secure communication – including secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights typical issues that can compromise these requirements alongside real-world solutions.
Since cryptography is a critical aspect of network security, the course covers the most important algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on in-depth mathematical theory, these topics are explored from a developer's perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. Security protocols used in various aspects of secure communication are introduced, with a detailed discussion on widely adopted protocol families like IPSEC and SSL/TLS.
The course examines typical cryptographic vulnerabilities associated with specific algorithms and protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each issue, practical considerations and potential consequences are described, avoiding deep mathematical details.
Finally, as XML technology is central to data exchange in networked applications, the course describes its security aspects. This includes using XML within web services and SOAP messages, along with protection measures like XML signature and XML encryption. It also addresses weaknesses in these protection measures and XML-specific security issues such as XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Understand the requirements of secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain a practical understanding of cryptography
- Understand essential security protocols
- Understand recent attacks against cryptosystems
- Gain information about some recent related vulnerabilities
- Understand security concepts of Web services
- Get sources and further readings on secure coding practices
Audience
Developers, Professionals
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the full range of security services provided by Java, nor are they always aware of the distinct vulnerabilities that impact web applications built with Java.
In addition to introducing the security components of Standard Java Edition, this course addresses security challenges within Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the fundamentals of cryptography and secure communication. Through various exercises, participants explore declarative and programmatic security techniques in JEE, while also covering both transport-layer and end-to-end security for web services. Participants gain hands-on experience with the discussed APIs and tools through several practical exercises.
The course also examines and explains the most common and severe programming flaws and web-related vulnerabilities associated with the Java language and platform. Beyond typical bugs made by Java developers, the identified security vulnerabilities encompass both language-specific issues and problems arising from the runtime environment. All vulnerabilities and corresponding attacks are demonstrated through clear, understandable 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 avoid them
- Understand the security concepts underlying web services
- Learn to utilize various security features within the Java development environment
- Develop a practical understanding of cryptography
- Comprehend the security solutions offered by Java EE
- Identify typical coding mistakes and learn how to prevent them
- Gain information on recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Access resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
The Java language and the Java Runtime Environment (JRE) were engineered to eliminate many of the critical security vulnerabilities commonly found in languages like C and C++. However, software developers and architects must do more than simply utilize the positive security features available in the Java ecosystem; they must also maintain a keen awareness of the numerous vulnerabilities that remain relevant to Java development (negative security).
This course begins with a concise overview of cryptographic foundations, establishing a common baseline for understanding the purpose and operation of applicable security components. Participants will then engage in practical exercises to explore these components and test the discussed APIs firsthand.
Additionally, the course examines and explains the most frequent and severe programming flaws within the Java language and platform. It covers typical errors made by Java programmers as well as issues specific to the language and its environment. All identified vulnerabilities and associated attacks are demonstrated through accessible exercises, followed by recommended coding guidelines and effective mitigation techniques.
Participants attending this course will
- Gain a solid understanding of fundamental security concepts, IT security principles, and secure coding practices.
- Learn about Web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them.
- Master the use of various security features within the Java development environment.
- Develop a practical understanding of cryptography.
- Identify typical coding mistakes and learn strategies to avoid them.
- Receive insights into recent vulnerabilities affecting the Java framework.
- Obtain sources and further reading materials focused on secure coding practices.
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages allow developers to compile code for the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, it is essential for developers to understand how to apply programming techniques at both the architectural and coding levels. This knowledge is crucial for implementing desired security features while avoiding vulnerabilities or limiting their potential exploitation.
This course aims to equip developers with the skills to prevent untrusted code from executing privileged actions, protect resources through strong authentication and authorization, implement remote procedure calls, manage sessions, and introduce various implementations for specific functionalities, among other objectives. Through numerous hands-on exercises, participants will gain practical expertise in these areas.
The course introduces various vulnerabilities by first presenting typical programming errors made when using .NET. The discussion on ASP.NET vulnerabilities also covers different environment settings and their impacts. Furthermore, the topic of ASP.NET-specific vulnerabilities addresses not only general web application security challenges but also specialized issues and attack methods, such as ViewState attacks and string termination attacks.
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 avoid them
- Master the use of various security features within the .NET development environment
- Acquire practical knowledge of security testing tools
- Identify common coding mistakes and learn how to prevent them
- Stay informed about recent vulnerabilities in .NET and ASP.NET
- Access resources and further readings on secure coding practices
Audience
Developers
Secure coding in PHP
21 HoursThis course equips PHP developers with the essential skills needed to fortify their applications against modern internet threats. It explores web vulnerabilities through PHP-based examples, extending beyond the OWASP Top Ten to address various injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. PHP-related vulnerabilities are categorized into standard types such as missing or improper input validation, flawed error and exception handling, misuse of security features, and time- and state-related problems. The latter includes discussions on attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In each scenario, participants will master the key techniques and functions required to mitigate these risks.
A special emphasis is placed on client-side security, addressing issues within JavaScript, Ajax, and HTML5. The course introduces several PHP extensions, including hash, mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for input validation. It also outlines best practices for hardening PHP configurations (php.ini), Apache, and the server environment generally. Additionally, an overview of various security testing tools and techniques is provided for developers and testers, covering security scanners, penetration testing, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
The introduction of vulnerabilities and configuration practices is reinforced by hands-on exercises that demonstrate the impact of successful attacks, show how to apply mitigation techniques, and introduce the use of various extensions and tools.
Participants attending this course will:
- Grasp fundamental concepts of security, IT security, and secure coding.
- Understand web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them.
- Gain knowledge of client-side vulnerabilities and secure coding practices.
- Develop a practical understanding of cryptography.
- Learn to utilize various security features within PHP.
- Identify common coding mistakes and understand how to prevent them.
- Stay informed about recent vulnerabilities affecting the PHP framework.
- Acquire practical experience with security testing tools.
- Access resources and further reading on secure coding practices.
Audience
Developers
Microsoft SDL Core
14 HoursThe Combined SDL core training offers an in-depth look at secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It begins with a level 100 overview of the fundamental SDL building blocks, followed by design techniques aimed at detecting and correcting flaws early in the development process.
Focusing on the development phase, the course outlines common security-related programming bugs in both managed and native code. It presents attack methods for the discussed vulnerabilities alongside mitigation techniques, all explained through hands-on exercises that provide participants with practical, live hacking experience. The course introduces various security testing methods and demonstrates the effectiveness of different testing tools. Participants can understand how these tools operate by applying them to previously discussed vulnerable code through practical exercises.
Participants attending this course will
Understand basic 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 methodology
- Get sources and further readings on secure coding practices
Audience
Developers, Managers
C++ for Embedded Systems
21 HoursIs C++ a viable choice for embedded environments like microcontrollers and real-time operating systems?
Can object-oriented programming be effectively applied to microcontrollers?
Does C++ introduce too much abstraction to remain efficient at the hardware level?
This instructor-led, live training explores these questions. Through guided discussion and practical exercises, it demonstrates how C++ can be utilized to build embedded systems with code that is precise, readable, and efficient. Participants will apply theoretical knowledge by developing a sample embedded application in C++.
Upon completing this training, participants will be able to:
- Grasp the core principles of object-oriented modeling, embedded software development, and real-time programming
- Write code for embedded systems that is compact, fast, and secure
- Prevent code bloat resulting from templates, exceptions, and other language features
- Recognize the challenges associated with implementing C++ in safety-critical and real-time systems
- Debug C++ programs running on target devices
Audience
- Developers
- Designers
Course Format
- A mix of lectures, discussions, exercises, and extensive hands-on practice
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led, live course in Turkey, participants will learn how to formulate an appropriate security strategy to tackle the DevOps security challenge.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) program is a practical course designed to empower professionals with the expertise needed to embed security throughout the entire DevOps lifecycle, facilitating secure software development from initial planning through to deployment.
This instructor-led, live training, available both online and onsite, targets intermediate-level software and DevOps professionals who aim to integrate robust security practices into CI/CD pipelines, ensuring that code delivery is both secure and compliant.
Upon completion of this training, participants will be capable of:
- Grasping the core principles and practices of DevSecOps.
- Securing every phase of the CI/CD pipeline using automated tools.
- Executing secure coding standards and vulnerability scanning techniques.
- Preparing for the ECDE certification through hands-on labs and comprehensive reviews.
Course Format
- Interactive lectures and discussions.
- Practical application of DevSecOps tools within simulated pipelines.
- Guided exercises centered on secure development and deployment processes.
Customization Options
- For customized training tailored to your team’s specific workflows or toolchains, please contact us to arrange a session.
How to Write Secure Code
35 HoursThis course aims to assist in the following areas:
- Assist developers in mastering secure coding techniques.
- Support software testers in evaluating application security before deployment to production.
- Help software architects understand the risks associated with applications.
- Enable team leaders to establish security baselines for developers.
- Assist web masters 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). The Open Web Application Security Project is an online community that develops freely accessible articles, methodologies, documentation, tools, and technologies focused on web application security.
Secure Developer .NET (Inc OWASP)
21 HoursThis course delves into the principles and practices of secure coding with ASP.NET, guided by the methodologies of the Open Web Application Security Project (OWASP). OWASP is a global online community dedicated to producing freely accessible resources such as articles, guidelines, documentation, tools, and technologies aimed at enhancing web application security.
Participants will explore the security features of the .NET Framework and learn effective strategies for hardening web applications.