Application Security for Developers Training Course
Application security is a vital component of contemporary software development, ensuring that applications are constructed to resist security threats and vulnerabilities.
This instructor-led, live training (available online or onsite) is designed for developers at intermediate to advanced levels who aim to comprehend and apply secure coding practices, identify security risks within software, and implement defenses against cyber threats.
By the conclusion of this training, participants will be capable of:
- Understanding common security vulnerabilities in web and software applications.
- Analyzing security threats and exploitation techniques employed by attackers.
- Implementing secure coding practices to mitigate security risks.
- Utilizing security testing tools to identify and resolve vulnerabilities.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical sessions.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request customized training for this course, please contact us to arrange.
Course Outline
Introduction to Application Security
- The importance of application security in modern software development
- Overview of common cyber threats and attack vectors
- Understanding security risks in web and mobile applications
Secure Software Development Lifecycle (SDLC)
- Integrating security into each phase of development
- Threat modeling and risk assessment
- Automated security testing in CI/CD pipelines
Understanding Common Security Vulnerabilities
- Introduction to OWASP Top 10 security risks
- Common coding flaws that lead to vulnerabilities
- Exploiting insecure applications (hands-on exercises with DVWA/WebGoat)
Input Validation and Secure Coding Practices
- Preventing SQL injection, cross-site scripting (XSS), and command injection
- Best practices for input sanitization and validation
- Implementing secure authentication and authorization mechanisms
Session Management and Data Protection
- Handling session security: cookies, tokens, and JWT best practices
- Data encryption techniques and secure storage
- Secure API development and protection against API abuses
Security Testing and Vulnerability Assessment
- Using OWASP ZAP and Burp Suite for security testing
- Static and dynamic application security testing (SAST/DAST)
- Penetration testing fundamentals for developers
Implementing Secure DevOps (DevSecOps)
- Security automation in DevOps workflows
- Container security and securing cloud applications
- Incident response and security monitoring
Summary and Next Steps
- Key takeaways from the course
- Resources for further learning
- Q&A and closing remarks
Requirements
- Foundational knowledge of any programming language
- Experience in application development
Audience
- Software developers
- Application security engineers
- DevOps and security teams
Open Training Courses require 5+ participants.
Application Security for Developers Training Course - Booking
Application Security for Developers Training Course - Enquiry
Application Security for Developers - Consultancy Enquiry
Testimonials (1)
Lot's of information explained very well. Good examples, interesting exercises. Trainer showed us his real world experience.
Gergely Batho - GE Medical Systems Polska Sp. Z O.O.
Course - Application Security for Developers
Upcoming Courses
Related Courses
Android Security
14 HoursAndroid serves as an open-source platform for mobile devices, including smartphones and tablets. It offers a wide array of security features designed to facilitate the development of secure software. Nevertheless, it lacks certain security elements found on other mobile platforms. This course provides a thorough examination of these features and highlights critical gaps associated with the underlying Linux system, file structure, and general environment, as well as issues related to permission management and other Android development components.
The course details common security pitfalls and vulnerabilities for both native code and Java applications, offering recommendations and best practices to prevent and mitigate these risks. Many of the discussed issues are illustrated with real-world examples and case studies. Additionally, the course covers how to utilise security testing tools to identify potential programming flaws related to security.
Participants attending this course will
- Gain a solid understanding of fundamental security principles, IT security, and secure coding techniques
- Learn about the security solutions available on Android
- Master the use of various Android platform security features
- Receive updates on recent Java vulnerabilities within the Android environment
- Identify common coding errors and learn how to avoid them
- Understand vulnerabilities associated with native code on Android
- Recognise the serious implications of insecure buffer handling in native code
- Comprehend architectural protection mechanisms and their limitations
- Access resources and further reading on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursDeveloping secure networked applications can be challenging, even for developers who have previously utilized various cryptographic building blocks, such as encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, the course begins by establishing a solid foundation regarding the core requirements of secure communication: secure acknowledgement, integrity, confidentiality, remote identification, and anonymity. It also addresses typical threats that may compromise these requirements, alongside real-world solutions.
As 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 complex mathematical theory, these topics are presented from a developer's perspective, illustrating typical use-case examples and practical considerations, such as the implementation of public key infrastructures. Additionally, security protocols used in various areas of secure communication are introduced, with an in-depth discussion on widely-used protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are examined, covering issues related to specific algorithms and protocols such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each problem, practical considerations and potential consequences are described without delving into deep mathematical details.
Finally, since XML technology is central to data exchange for networked applications, the security aspects of XML are detailed. This includes the use of XML in web services and SOAP messages, along with protection mechanisms like XML Signature and XML Encryption. The course also covers 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
- Grasp the requirements of secure communication
- Learn about network attacks and defenses across different OSI layers
- Develop a practical understanding of cryptography
- Understand essential security protocols
- Comprehend recent attacks against cryptosystems
- Gain information on recent related vulnerabilities
- Understand security concepts of Web services
- Access sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursSpanning three days, this course explores the foundational principles of securing C/C++ code. Participants will learn how to protect against malicious exploitation of common vulnerabilities, particularly those arising from memory management and input handling.
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the array of security services provided by Java, nor are they always aware of the distinct vulnerabilities that affect web applications built with Java.
This course not only introduces the security components of the Standard Java Edition but also addresses security challenges within the Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the fundamental principles of cryptography and secure communication. A series of practical exercises covers both declarative and programmatic security techniques in JEE, while the course explores transport-layer and end-to-end security for web services. Participants will engage in several hands-on exercises to apply and experiment with the discussed APIs and tools.
The course also examines and clarifies the most common and severe programming flaws associated with the Java language and platform, along with web-related vulnerabilities. Beyond typical bugs made by Java programmers, the security vulnerabilities covered include issues specific to the language and those arising from the runtime environment. Each vulnerability and its corresponding attack vector are demonstrated through clear, easy-to-follow 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
- Acquire the skills to utilise various security features within the Java development environment
- Develop a practical understanding of cryptography
- Comprehend the security solutions provided by Java EE
- Learn to identify typical coding mistakes and how to avoid them
- Gain insights into some recent vulnerabilities within the Java framework
- Obtain practical experience in using security testing tools
- Access resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
While the Java language and its Runtime Environment (JRE) were engineered to eliminate many of the common security vulnerabilities found in languages such as C and C++, it remains crucial for software developers and architects to possess a dual understanding. This includes mastery of the Java environment's positive security features, as well as awareness of the negative security aspects—specifically, the vulnerabilities that still impact Java development.
Before introducing security services, the course provides a concise overview of cryptography fundamentals, establishing a shared baseline for understanding the purpose and functionality of the relevant components. Participants apply this knowledge through practical exercises, allowing them to experiment with the discussed APIs firsthand.
Furthermore, the course examines and elucidates the most frequent and severe programming flaws within the Java language and platform. It addresses both typical errors made by Java programmers and issues specific to the language and its environment. Each vulnerability and its corresponding attack vector are demonstrated via accessible exercises, followed by recommended coding guidelines and mitigation strategies.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Identify web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Utilise various security features within the Java development environment
- Develop a practical understanding of cryptography
- Recognise common coding mistakes and learn how to avoid them
- Gain insights into recent vulnerabilities affecting the Java framework
- Access resources and further reading on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, a variety of programming languages enable code compilation for the .NET and ASP.NET frameworks. While these environments offer robust security development capabilities, developers must understand how to apply architecture-level and coding-level techniques to implement desired security functions effectively, prevent vulnerabilities, and mitigate potential exploitation.
This course aims to equip developers with practical skills through extensive hands-on exercises. Participants will learn how to prevent untrusted code from executing privileged actions, protect resources via strong authentication and authorization, manage remote procedure calls and sessions, and explore various functional implementations, among other key topics.
The introduction to different vulnerabilities begins by examining typical programming issues associated with .NET, while the discussion on ASP.NET vulnerabilities covers various environment settings and their impacts. Furthermore, the module on ASP.NET-specific vulnerabilities addresses general web application security challenges alongside special 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 practices
- Gain knowledge of web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them
- Learn to utilise various security features within the .NET development environment
- Acquire practical experience using security testing tools
- Understand common coding mistakes and discover how 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
The Secure Coding Landscape
14 HoursThis course provides an introduction to fundamental security principles, offering a broad perspective on vulnerability types across different programming languages and platforms. It outlines strategies for managing software security risks throughout all stages of the software development lifecycle. While avoiding deep technical complexities, the course highlights prominent and impactful vulnerabilities prevalent in modern software development technologies. It also addresses the challenges of security testing and introduces practical techniques and tools to help participants identify and resolve existing issues in their code.
Upon completion of this course, participants will
- Grasp the core concepts of security, IT security, and secure coding practices
- Comprehend web vulnerabilities affecting both server and client sides
- Recognize the serious implications of improper buffer handling
- Gain awareness of recent vulnerabilities found in development environments and frameworks
- Learn about common coding errors and methods to prevent them
- Understand various security testing approaches and methodologies
Intended Audience
Managers
Secure coding in PHP
21 HoursThis course equips PHP developers with the essential skills required to harden applications against modern internet-based threats. It explores web vulnerabilities through practical PHP examples that extend beyond the OWASP Top Ten, addressing issues such as injection attacks, script injection, session handling weaknesses, insecure direct object references, file upload flaws, and more. The curriculum categorizes PHP-related vulnerabilities into standard types, including inadequate or missing input validation, improper error and exception handling, misused security features, and time- or state-related defects. Specific attack vectors discussed include open_basedir circumvention, denial-of-service attacks via magic floats, and hash table collision exploits. Participants will master the critical techniques and functions needed to mitigate these risks.
A significant emphasis is placed on client-side security, covering vulnerabilities in JavaScript, Ajax, and HTML5. The course introduces key PHP extensions for cryptography, such as hash, mcrypt, and OpenSSL, as well as those for input validation, including Ctype, ext/filter, and HTML Purifier. Best practices for hardening are provided regarding PHP configuration (php.ini), Apache server settings, and general server administration. Additionally, the course offers an overview of various security testing tools and techniques available to developers and testers, including security scanners, penetration testing utilities, exploit kits, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the vulnerability concepts and configuration guidelines are reinforced through hands-on exercises. These practical sessions demonstrate the impact of successful attacks, illustrate how to implement mitigation strategies, and guide the use of various extensions and tools.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Gain insight into client-side vulnerabilities and secure coding methodologies
- Develop a practical understanding of cryptography
- Learn to effectively utilise various PHP security features
- Identify common coding mistakes and discover how to avoid them
- Stay informed about recent vulnerabilities within the PHP framework
- Acquire hands-on experience with security testing tools
- Access resources and further reading materials 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 through the Microsoft Secure Development Lifecycle (SDL). It provides a foundational overview (Level 100) of the core components of SDL, followed by design strategies aimed at detecting and remedying flaws early in the development cycle.
Addressing the development phase, the course surveys common security-related programming vulnerabilities in both managed and native code. It presents attack vectors for these vulnerabilities alongside corresponding mitigation techniques, illustrated through numerous hands-on exercises that offer participants engaging, practical hacking experiences. The introduction to various security testing methods is complemented by demonstrations of the effectiveness of different testing tools. Participants will gain a clear understanding of how these tools operate through practical exercises, applying them to the vulnerable code scenarios discussed throughout the course.
Participants attending this course will
Grasp fundamental concepts of security, IT security, and secure coding
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle
Acquire knowledge of secure design and development practices
Learn about secure implementation principles
Understand security testing methodology
- Access sources and further readings on secure coding practices
Audience
Developers, Managers
Security Testing
14 HoursHaving gained an understanding of vulnerabilities and attack vectors, participants will explore the overarching approach and methodology for security testing, along with the techniques used to uncover specific weaknesses. A robust security testing process begins with comprehensive information gathering regarding the system under evaluation (ToC), followed by detailed threat modeling to identify and prioritise all potential threats, ultimately leading to a risk analysis-driven test plan.
Security evaluations can be conducted at various stages of the Software Development Life Cycle (SDLC). Consequently, this course covers design reviews, code inspections, reconnaissance, and information gathering about the system, as well as testing implementation and hardening the environment for secure deployment. Detailed attention is given to various security testing techniques, such as taint analysis, heuristics-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing. A range of tools is introduced to automate the security evaluation of software products, supported by practical exercises where participants execute these tools to analyse previously discussed vulnerable code. Additionally, real-life case studies are utilised to deepen understanding of various vulnerabilities.
This course equips testers and QA personnel with the ability to plan and execute security tests effectively, select and utilise the most suitable tools and techniques to identify even concealed security flaws, and provides essential practical skills that can be applied immediately in their daily work.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to mitigate them
- Acquire knowledge of client-side vulnerabilities and secure coding best practices
- Comprehend security testing approaches and methodologies
- Gain practical experience with 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 applications accessible via the web demands security professionals who are consistently up to date with current attack methods and trends. A wide array of technologies and environments facilitate the comfortable development of web applications. It is essential to be aware not only of security issues specific to these platforms but also of general vulnerabilities that apply regardless of the development tools used.
This course provides an overview of applicable security solutions for web applications, with a special focus on understanding key cryptographic solutions. We present various web application vulnerabilities on both the server side (following the OWASP Top Ten) and the client side, demonstrating relevant attacks alongside recommended coding techniques and mitigation methods to prevent associated problems. The topic of secure coding concludes with a discussion on typical security-relevant programming mistakes, particularly in input validation, improper use of security features, and code quality.
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, to go beyond easily found 'low-hanging fruit,' security testing must be well-planned and properly executed. Remember: ideally, security testers should find all bugs to protect a system, whereas adversaries only need to find one exploitable vulnerability to breach it.
Practical exercises will aid in understanding 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 provides essential practical skills that can be applied immediately in the workplace.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and know 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 sources and further reading on secure coding practices
Audience
Developers, Testers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led live course in Malaysia, participants will learn how to formulate an effective security strategy to address the challenges of DevOps security.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) is a practical course designed to equip professionals with the skills to embed security throughout the DevOps lifecycle, facilitating secure software development from initial planning through to deployment.
This instructor-led, live training (available online or onsite) targets intermediate-level software and DevOps professionals who aim to integrate security practices into CI/CD pipelines, ensuring the delivery of secure and compliant code.
Upon completion of this training, participants will be able to:
- Grasp the core principles and practices of DevSecOps.
- Secure every stage of the CI/CD pipeline using automated tools.
- Implement secure coding practices and conduct vulnerability scanning.
- Prepare for the ECDE certification through practical labs and review sessions.
Course Format
- Interactive lectures and discussions.
- Hands-on application of DevSecOps tools within simulated pipelines.
- Guided exercises focused on secure development and deployment processes.
Course Customization Options
- To arrange customized training tailored to your team’s specific workflows or toolchain, please contact us.
How to Write Secure Code
35 HoursThis course aims to achieve the following:
- Assist developers in mastering the techniques of writing secure code.
- Enable software testers to assess application security before deployment to the production environment.
- Help software architects understand the risks surrounding applications.
- Assist team leaders in establishing security baselines for developers.
- Support webmasters in configuring servers to avoid misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores the fundamental concepts and principles of secure coding in Java, utilizing the testing methodology 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.