C/C++ Secure Coding Training Course
Course Outline
- C/C++ programming bugs for government
- Protection principles
- Input validation
- Improper error and exception handling
- Buffer overflow
- Stack overflow
- Heap overflow
- Protection against stack overflow
- Address Space Layout Randomization (ASLR)
- Secure coding sources for government
Requirements
Basics of C/C++ for Government
Runs with a minimum of 4 + people. For 1-to-1 or private group training, request a quote.
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 delivered in US (via online or onsite formats) is designed for software engineers seeking to leverage advanced C++ methodologies to construct complex, secure, and high-performance systems and applications. This program provides essential knowledge for government and private sector professionals requiring robust technical standards.
Upon completion of this instruction, participants will be equipped to:
- Configure a comprehensive development environment incorporating necessary C++ libraries, packages, and frameworks.
- Analyze the core features, components, and fundamental elements inherent to the C++ language.
- Develop sophisticated C++ applications utilizing advanced programming techniques.
- Draft code that prioritizes readability, performance efficiency, and security integrity.
- Identify prevalent security vulnerabilities within C++ implementations and apply appropriate mitigation strategies.
- Execute testing protocols to ensure code quality and enforce security controls.
- Utilize diagnostic and debugging utilities effective for C++ development workflows.
Advanced C++ : Practical workshop
21 HoursThis curriculum for government professionals addresses essential contemporary C++ programming principles, such as templates, move semantics, and first-class functions.
Instruction prioritizes memory management through the utilization of smart pointers and adherence to secure coding standards.
Participants examine runtime errors, operator overloading, polymorphism, and Standard Template Library (STL) containers integrated with algorithms.
The program concludes with foundational instruction on effective C++ testing strategies.
Network Security and Secure Communication
21 HoursImplementing a secure networked application can be challenging, even for developers who have previously used various cryptographic building blocks (such as encryption and digital signatures). To ensure participants understand the role and usage of these cryptographic primitives, a solid foundation is provided on the main requirements of secure communication—secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. The course also presents typical problems that can compromise these requirements along with real-world solutions.
As a critical aspect of network security, cryptography is thoroughly discussed, covering the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. These elements are presented from a developer's perspective, focusing on practical use-case examples and considerations related to the use of crypto, such as public key infrastructures. Security protocols in various areas of secure communication are introduced, with an in-depth discussion on widely-used protocol families such as IPSEC and SSL/TLS.
Typical cryptographic vulnerabilities are examined, including issues related to certain crypto algorithms and cryptographic protocols like BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar attacks, as well as the RSA timing attack. In each case, practical considerations and potential consequences are described without delving into deep mathematical details.
Finally, since XML technology is central to data exchange in networked applications, the security aspects of XML are discussed. This includes the use of XML within web services and SOAP messages, along with protection measures such as XML signature and XML encryption—along with weaknesses in these 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 for government
- Understand the requirements of secure communication
- Learn about network attacks and defenses at different OSI layers
- Have a practical understanding of cryptography
- Understand essential security protocols
- Understand some recent attacks against cryptosystems
- Get information about recent related vulnerabilities
- Understand security concepts of Web services
- Get sources and further readings on secure coding practices for government
Audience
Developers, Professionals
Advanced Java Security
21 HoursEven experienced Java programmers may not fully master all the security services provided by Java, nor are they always aware of the vulnerabilities relevant to web applications written in this language.
This course introduces the security components of Standard Java Edition and delves into the security issues of Java Enterprise Edition (JEE) and web services. Before discussing specific services, the course covers the fundamentals of cryptography and secure communication. Various exercises focus on declarative and programmatic security techniques in JEE, as well as transport-layer and end-to-end security for web services. Practical exercises allow participants to use the discussed APIs and tools firsthand.
The course also examines the most frequent and severe programming flaws in the Java language and platform, along with web-related vulnerabilities. It covers both language-specific issues and problems arising from the runtime environment. Each vulnerability and associated attack is demonstrated through straightforward exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding for government applications
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to prevent them
- Understand the security principles of web services
- Learn to utilize various security features in the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions offered by Java EE
- Learn about common coding mistakes and how to avoid them
- Receive information on recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursSecure coding in PHP
21 HoursMicrosoft SDL Core
14 HoursThe Combined SDL Core Training provides an in-depth understanding of secure software design, development, and testing through the Microsoft Secure Development Lifecycle (SDL). It offers a foundational overview of the key components of SDL, followed by practical techniques for identifying and addressing security flaws early in the development process.
During the development phase, the course covers common security-related programming bugs in both managed and native code. It presents various attack methods associated with these vulnerabilities along with effective mitigation strategies. These concepts are reinforced through hands-on exercises that offer participants a practical understanding of live hacking techniques. The training also introduces different security testing methodologies and demonstrates the effectiveness of various testing tools, allowing participants to apply these tools to previously discussed vulnerable code.
Participants attending this course will
Understand basic concepts of security, IT security, and secure coding for government.
Gain knowledge of the essential steps in the Microsoft Secure Development Lifecycle.
Learn secure design and development practices.
Understand secure implementation principles.
Grasp security testing methodologies.
- Access sources and further readings on secure coding practices.
Audience
Developers, Managers
C++ for Embedded Systems
21 HoursDoes C++ provide adequate support for embedded environments, including microcontrollers and real-time operating systems?
Is it appropriate to apply object-oriented programming methodologies within microcontroller architectures?
Does the abstraction level of C++ compromise performance efficiency relative to hardware proximity?
This instructor-led, live training addresses these inquiries and demonstrates through discussion and practice how C++ can be used to develop embedded systems with code that is accurate, readable, and efficient for government applications. Participants put theory into practice through the creation of a sample embedded application in C++.
By the end of this training, participants will be able to:
- Understand the principles of object-oriented modelling, embedded software programming and real-time programming
- Produce code for embedded systems that is small, fast and safe
- Avoid code bloat from templates, exceptions, and other language features
- Understand the issues related to 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 heavy hands-on practice
C++ 11 Programming
14 HoursAccelerated C++ Programming with CUDA
8 HoursThis instructor-led, live training delivered in US (online or onsite) is designed for C++ developers seeking to utilize CUDA to accelerate applications, develop high-performance GPU kernels, and employ parallel algorithm libraries for scientific computing, data processing, and machine learning workloads. This program is tailored specifically for government.
DevOps Security: Creating a DevOps Security Strategy
7 HoursThis instructor-led training session US, equips attendees with the knowledge needed to develop a robust security strategy for addressing DevOps challenges. Designed specifically for government audiences, this course provides practical insights into integrating security practices within agile development workflows, ensuring compliance and operational resilience.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) certification program is an experiential learning opportunity engineered to provide practitioners with the expertise necessary to integrate security protocols throughout the entire DevOps lifecycle. This approach facilitates robust software development processes, ranging from initial planning through final deployment.
This live, instructor-led training—available in both virtual and on-site configurations—is specifically targeted at mid-level software engineers and DevOps specialists seeking to embed security controls within continuous integration and continuous delivery (CI/CD) pipelines. The curriculum ensures the delivery of code that meets stringent compliance and security standards for government and enterprise environments.
Upon completion of this instructional series, participants will be capable of:
- Articulating the fundamental principles and operational practices associated with DevSecOps.
- Applying automated security tools to protect each phase of the CI/CD pipeline.
- Executing secure coding methodologies and conducting comprehensive vulnerability assessments.
- Preparing for the ECDE certification examination through practical laboratory exercises and strategic review.
Training Delivery Format
- Engaging lectures paired with structured group discussions.
- Practical application of DevSecOps tools within simulated pipeline environments.
- Facilitated exercises emphasizing secure development and deployment protocols.
Program Customization Capabilities
- To arrange customized training tailored to your organization’s specific workflows and technical toolchains, please contact our team for government solutions directly.
How to Write Secure Code
35 HoursThis training module located at US provides essential guidance for government personnel by addressing the following objectives:
- E Equipping software developers with advanced methodologies for creating secure code.
- Enabling quality assurance professionals to conduct rigorous security assessments prior to deploying applications into production environments.
- Increasing the ability of systems architects to identify and evaluate potential risks associated with application design.
- Supporting team supervisors in establishing comprehensive security standards for development teams.
- Aiding system administrators in configuring servers to prevent common misconfigurations that could compromise system integrity.
Secure Developer Java (Inc OWASP)
21 HoursThis program instructs participants on secure Java coding principles and practices, utilizing the Open Web Application Security Project (OWASP) testing framework. OWASP is a collaborative global community dedicated to developing and disseminating open-source resources, including methodologies, documentation, tools, and technologies designed to enhance web application security for government and other public sector audiences.
Secure Developer .NET (Inc OWASP)
21 HoursThis curriculum addresses secure coding principles and practices for ASP.NET, utilizing the Open Web Application Security Project (OWASP) testing methodology. OWASP is an open community dedicated to producing freely accessible articles, methods, documentation, tools, and technologies related to web application security.
This training examines .NET Framework security features and best practices for hardening web applications.