The Secure Coding Landscape Training Course
This course provides an introduction to fundamental security principles, offering a comprehensive overview of vulnerability types that transcend specific programming languages and platforms. It explains how to manage software security risks across all phases of the software development lifecycle. While avoiding overly technical deep dives, the course highlights some of the most critical and prevalent vulnerabilities across various development technologies. It also addresses the challenges associated with security testing, presenting practical techniques and tools to help identify and resolve existing issues in your code.
Participants attending this course will
- Grasp the core concepts of security, IT security, and secure coding practices
- Comprehend web vulnerabilities on both server-side and client-side environments
- Recognize the severe consequences of insecure buffer handling
- Stay informed about recent vulnerabilities affecting development environments and frameworks
- Learn about common coding mistakes and strategies to avoid them
- Understand various security testing approaches and methodologies
Audience
Managers
This course is available as onsite live training in Czech Republic or online live training.Course Outline
- Agenda
- Introduction
- IT security and secure coding
- Security challenges of various platforms – highlights –
- C/C++ (native code) secure coding
- Web application security
- Java platform security
- Challenges of security testing
Open Training Courses require 5+ participants.
The Secure Coding Landscape Training Course - Booking
The Secure Coding Landscape Training Course - Enquiry
The Secure Coding Landscape - Consultancy Enquiry
Testimonials (4)
The learning material
morena xaba - Vodacom
Course - The Secure Coding Landscape
Content - really learnt alot.
Shaun Bosch - Vodacom
Course - The Secure Coding Landscape
The trainer is very knowledgeable about the subject. He showed so much passion for his work. He also kept everyone engaged.
Karabo Ngwato - Vodacom SA
Course - The Secure Coding Landscape
The labs
Katekani Nkuna - Vodacom
Course - The Secure Coding Landscape
Upcoming Courses
Related Courses
Android Security
14 HoursAndroid serves as an open-source platform for mobile devices, including smartphones and tablets. While it offers a wide array of security features to facilitate the development of secure software, it also lacks certain security aspects found in other handheld platforms. This course provides a comprehensive overview of these features and highlights the most critical shortcomings related to the underlying Linux environment, file system, and general architecture, as well as the use of permissions and other Android software development components.
The curriculum describes common security pitfalls and vulnerabilities for both native code and Java applications, offering recommendations and best practices to avoid and mitigate them. Many discussed issues are supported by real-life examples and case studies. Additionally, the course briefly outlines how to utilize security testing tools to identify security-related programming bugs.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Learn about security solutions available on Android
- Learn to utilize various security features of the Android platform
- Gain insights into recent Java vulnerabilities on Android
- Understand typical coding mistakes and how to prevent them
- Develop an understanding of native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their weaknesses
- Access resources and further readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursBuilding a secure networked application presents challenges even for developers experienced with cryptographic primitives like encryption and digital signatures. To help participants grasp the role and application of these tools, the course establishes a solid foundation on the core requirements of secure communication: secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common threats to these requirements and presents real-world solutions.
Since cryptography is fundamental to network security, the course examines key algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on deep mathematical theory, the content takes a developer-centric approach, illustrating typical use cases and practical considerations such as public key infrastructures (PKI). The course introduces security protocols across various domains, with a detailed exploration of widely used families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are analyzed in relation to specific algorithms and protocols. This includes well-known issues such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each, the course outlines practical implications and potential consequences without diving into complex mathematical details.
Given that XML technology is central to data exchange for networked applications, the course also covers XML security. This includes the use of XML in web services and SOAP messages, along with protective measures like XML Signature and XML Encryption. Additionally, it addresses weaknesses in these measures and XML-specific threats such as XML injection, XML External Entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand the requirements for secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain a practical understanding of cryptography
- Comprehend essential security protocols
- Understand recent attacks targeting cryptosystems
- Receive information on recent related vulnerabilities
- Understand the security concepts underlying web services
- Access resources and further reading on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursOver the course of three days, this program introduces the fundamental principles of protecting C and C++ code from malicious exploitation. Participants will learn how to mitigate vulnerabilities arising from memory management and input handling, thereby mastering the core practices necessary for writing secure software.
Advanced Java Security
21 HoursEven seasoned Java developers do not always fully grasp the security services provided by Java, nor are they necessarily aware of the vulnerabilities pertinent to Java-based web applications.
Aside from introducing the security components of Standard Java Edition, this course addresses security challenges in Java Enterprise Edition (JEE) and web services. The discussion of specific services is grounded in the fundamentals of cryptography and secure communication. A variety of exercises focus on declarative and programmatic security techniques in JEE, while covering both transport-layer and end-to-end security for web services. Participants can apply these concepts through practical exercises, experimenting with the discussed APIs and tools firsthand.
The course also examines and clarifies the most common and critical programming flaws inherent to the Java language and platform, as well as web-related vulnerabilities. Beyond typical errors made by Java programmers, the covered security vulnerabilities include language-specific issues and problems arising from the runtime environment. All identified vulnerabilities and corresponding attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and potential mitigation strategies.
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
- Understand the security principles underlying web services
- Gain proficiency in using the various security features of the Java development environment
- Develop a practical understanding of cryptography
- Understand the security solutions provided by Java EE
- Learn to identify typical coding mistakes and how to avoid them
- Gain insights into recent vulnerabilities within the Java framework
- Acquire practical skills in using security testing tools
- Receive resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
While the Java programming language and its Runtime Environment (JRE) were engineered to minimize the common security vulnerabilities prevalent in languages like C/C++, developers and architects must possess a dual awareness. They need to master the positive security features available in the Java ecosystem while simultaneously understanding the persistent vulnerabilities that still threaten Java applications. This 'negative security' perspective is crucial for robust defense.
The course introduces essential security services by first establishing a solid foundation in cryptography, ensuring all participants share a common understanding of how cryptographic components function and why they are important. This theoretical background is reinforced through practical exercises, allowing attendees to directly apply and test the discussed APIs.
Furthermore, the training examines the most frequent and critical programming flaws within the Java language and platform. This includes both typical errors made by Java developers and issues specific to the Java environment itself. Each vulnerability and its corresponding attack vector are demonstrated via accessible exercises, followed by clear coding guidelines and mitigation strategies.
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 learn how to prevent them
- Effectively utilize various security features within the Java development environment
- Develop a practical understanding of cryptography
- Recognize typical coding mistakes and learn how to avoid them
- Gain insight into recent vulnerabilities affecting the Java framework
- Access valuable resources and further reading on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages support compilation for the .NET and ASP.NET frameworks. While these environments offer robust tools for security development, developers must understand how to apply architecture- and code-level techniques to implement desired security measures, prevent vulnerabilities, and mitigate potential exploitation.
This course aims to equip developers with practical skills through hands-on exercises, teaching them how to prevent untrusted code from executing privileged actions, safeguard resources using strong authentication and authorization, manage remote procedure calls, handle sessions, and explore various functional implementations, among other topics.
The discussion on vulnerabilities begins by highlighting typical programming pitfalls associated with .NET. It further examines ASP.NET vulnerabilities, including the impact of various environment configurations. The section on ASP.NET-specific vulnerabilities addresses general web application security challenges as well as specialized issues and attack vectors, such as ViewState attacks and string termination attacks.
Participants in this course will
- Grasp fundamental concepts of security, IT security, and secure coding practices
- Gain insight into web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them
- Learn to utilize various security features within the .NET development environment
- Acquire practical expertise in using security testing tools
- Understand common coding errors and strategies to prevent them
- Receive information on 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 essential skills needed to build applications that are resilient against modern internet-based threats. The curriculum explores web vulnerabilities through PHP-centric examples, extending beyond the OWASP Top Ten to cover a wide range of injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. These PHP-specific vulnerabilities are categorized into standard vulnerability types, such as missing or flawed input validation, incorrect error and exception handling, misuse of security features, and time- and state-related issues. For the latter category, the course examines attacks like open_basedir circumvention, denial-of-service via magic float, and hash table collision attacks. In each scenario, participants learn the critical 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 several PHP extensions, including hash, mcrypt, and OpenSSL for cryptographic purposes, as well as Ctype, ext/filter, and HTML Purifier for robust input validation. Best practices for hardening are provided in the context of PHP configuration (php.ini), Apache settings, and general server security. Additionally, the course offers a comprehensive overview of security testing tools and techniques available to developers and testers, such as security scanners, penetration testing methodologies, exploit packs, packet sniffers, proxy servers, fuzzing tools, and static source code analyzers.
The introduction of vulnerabilities and configuration practices is reinforced by numerous hands-on exercises. These exercises demonstrate the impact of successful attacks, illustrate how to implement mitigation strategies, and guide participants in utilizing various extensions and tools effectively.
By the end of this course, participants will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Identify web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Comprehend client-side vulnerabilities and secure coding methodologies
- Develop a practical understanding of cryptography
- Master the use of various PHP security features
- Recognize common coding errors and learn how to avoid them
- Stay informed about recent vulnerabilities within the PHP framework
- Gain practical experience with security testing tools
- Access resources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThis consolidated SDL core training provides a comprehensive look at secure software design, development, and testing through the lens of Microsoft's Secure Development Lifecycle (SDL). It offers a level 100 overview of the fundamental building blocks of SDL, followed by design techniques to help identify and resolve flaws in the early stages of the development process.
Focusing on the development phase, the course outlines common security-related programming bugs found in both managed and native code. The curriculum presents attack vectors for discussed vulnerabilities alongside their mitigation techniques, all illustrated through hands-on exercises that offer participants practical, live hacking experiences. The introduction to various security testing methods is followed by demonstrations of the effectiveness of different testing tools. Participants can grasp the operation of these tools through practical exercises, applying them to previously discussed vulnerable code.
Participants attending this course will
Understand the 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
Gain knowledge of secure implementation principles
Understand security testing methodology
- Obtain sources and further reading materials on secure coding practices
Audience
Developers, Managers
Security Testing
14 HoursHaving familiarized themselves with vulnerabilities and attack vectors, participants gain insight into the general approach, methodology, and techniques used in security testing to uncover specific weaknesses. Effective security testing begins with information gathering about the system under evaluation (ToC), followed by comprehensive threat modeling to identify and rate all potential threats, ultimately leading to a risk-analysis-driven test plan.
Security assessments can occur at various stages of the SDLC; therefore, the course covers design reviews, code reviews, system reconnaissance, implementation testing, and environment hardening for secure deployment. Detailed exploration of techniques such as taint analysis, heuristic-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing is provided. A variety of tools for automating the security evaluation of software products are introduced, supported by hands-on exercises where these tools are applied to previously discussed vulnerable code. Real-life case studies further enhance the understanding of diverse vulnerabilities.
This course equips testers and QA personnel with the skills to effectively plan and execute security tests, select and utilize appropriate tools and techniques to detect even concealed security flaws, and acquire essential practical abilities ready for immediate application in daily work.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and discover how to prevent them
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Understand security testing approaches and methodologies
- Acquire practical experience using security testing techniques and tools
- Access resources and further reading materials on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications demands skilled security professionals who are constantly updated on the latest attack vectors and trends. While a wide array of technologies and environments facilitate the comfortable development of web applications, developers must be aware not only of platform-specific security issues but also of general vulnerabilities that exist independently of the chosen development tools.
This course provides an overview of applicable security solutions for web applications, with a special emphasis on understanding essential cryptographic mechanisms. We present various web application vulnerabilities on both the server side (following the OWASP Top Ten) and the client side, demonstrating relevant attacks along with recommended coding techniques and mitigation strategies to prevent associated problems. The topic of secure coding concludes with a discussion of typical security-related programming errors, including input validation issues, misuse of security features, and code quality concerns.
Testing plays a crucial role in ensuring the security and robustness of web applications. Various approaches—from high-level auditing and penetration testing to ethical hacking—can be employed to identify different types of vulnerabilities. However, moving beyond easily discovered 'low-hanging fruits' requires security testing to be carefully planned and executed. Remember: while security testers should ideally find all bugs to protect a system, an adversary needs to find only one exploitable vulnerability to breach it.
Practical exercises will help you understand web application vulnerabilities, programming mistakes, and most importantly, mitigation techniques. Through hands-on trials with various testing tools—including security scanners, sniffers, proxy servers, fuzzing tools, and static source code analyzers—this course delivers essential practical skills that can be applied immediately in the workplace.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Understand security testing approaches and methodologies
- Acquire practical knowledge in using security testing techniques and tools
- Stay informed about recent vulnerabilities in various platforms, frameworks, and libraries
- Receive resources and further reading materials on secure coding practices
Audience
Developers, Testers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led, live course in Czech Republic, participants will learn how to develop an effective security strategy to address DevOps security challenges.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) course is a practical program designed to empower professionals with the expertise needed to integrate security throughout the DevOps lifecycle, ensuring secure software development from initial planning through to deployment.
This instructor-led training, available online or on-site, targets intermediate-level software developers and DevOps practitioners looking to embed security practices into their CI/CD pipelines, thereby guaranteeing the delivery of secure and compliant code.
Upon completion of this training, participants will be able to:
- Comprehend the core principles and practices of DevSecOps.
- Secure all stages of the CI/CD pipeline using automated tools.
- Apply secure coding standards and execute vulnerability scanning.
- Prepare for the ECDE certification through practical labs and comprehensive reviews.
Course Format
- Interactive lectures and discussions.
- Hands-on experience with DevSecOps tools within simulated pipelines.
- Guided exercises centered on secure development and deployment processes.
Customization Options
- For teams seeking customized training tailored to their specific workflows or toolchains, please contact us to arrange.
How to Write Secure Code
35 HoursThis course aims to achieve the following:
- Enable developers to master secure coding techniques.
- Assist software testers in verifying application security before it is deployed to the production environment.
- Help software architects understand the risks associated with their applications.
- Guide team leaders in establishing security baselines for their development teams.
- Support webmasters in configuring servers to avoid misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores secure coding principles and practices for Java, utilizing the testing methodologies of the Open Web Application Security Project (OWASP). The Open Web Application Security Project is a global 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 for ASP.NET, utilizing the testing methodology of the Open Web Application Security Project (OWASP). OWASP is an online community that provides freely accessible 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 secure web applications.