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) targets intermediate to advanced developers who aim to grasp and apply secure coding practices, recognize security risks in software, and establish defenses against cyber threats.
Upon completion of this training, participants will be capable of:
- Comprehending typical security vulnerabilities in web and software applications.
- Analyzing security threats and exploitation techniques employed by attackers.
- Applying secure coding practices to reduce security risks.
- Utilizing security testing tools to detect and rectify vulnerabilities.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practice sessions.
- Practical implementation within a live lab environment.
Course Customization Options
- To request customized training for this course, please contact us to arrange it.
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 every 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.
- Typical coding flaws that lead to vulnerabilities.
- Exploiting insecure applications (hands-on exercises using 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
- Managing session security: best practices for cookies, tokens, and JWT.
- Data encryption techniques and secure storage methods.
- 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 within 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
- Basic 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 platform for mobile devices, including smartphones and tablets. While it offers a wide range of security features designed to simplify the creation of secure software, it also lacks certain security aspects found in other handheld platforms. This course provides a comprehensive examination of these features, highlighting the most critical shortcomings related to the underlying Linux system, the file structure, and the general environment, as well as issues concerning permissions and other Android software development components.
The course describes common security pitfalls and vulnerabilities in both native code and Java applications, offering recommendations and best practices to prevent and mitigate them. Many of the discussed issues are illustrated with real-life examples and case studies. Finally, we provide a brief overview of how to utilize security testing tools to identify potential security-related programming errors.
Participants attending this course will
- Gain a solid understanding of the fundamental concepts of security, IT security, and secure coding
- Learn about the security solutions available on Android
- Acquire the skills to utilize various security features of the Android platform
- Receive information on recent Java vulnerabilities within the Android environment
- Understand typical coding errors and learn how to avoid them
- Develop an understanding of native code vulnerabilities on Android
- Recognize the serious consequences of insecure buffer handling in native code
- Comprehend architectural protection techniques and their limitations
- Access resources and further reading materials on secure coding practices
Target Audience
Professionals
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
C/C++ Secure Coding
21 HoursOver the course of three days, this training program delves into the foundational aspects of protecting C/C++ code from malicious actors who seek to exploit vulnerabilities arising from poor memory management and inadequate input handling. The course focuses on the core principles necessary for writing secure, resilient code.
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
The Secure Coding Landscape
14 HoursThis course provides an overview of fundamental security concepts and the nature of vulnerabilities across different programming languages and platforms. It explains how to manage software security risks throughout the various stages of the software development lifecycle. Rather than delving deeply into technical specifics, the program highlights significant and critical vulnerabilities in diverse software development technologies. It also addresses the challenges of security testing, offering techniques and tools to help identify potential issues in code.
Participants attending this course will
- Grasp the core concepts of security, IT security, and secure coding
- Gain insight into web vulnerabilities affecting both server and client sides
- Appreciate the serious implications of improper buffer handling
- Stay informed about recent vulnerabilities in development environments and frameworks
- Learn about common coding errors and strategies to prevent them
- Understand various approaches and methodologies for security testing
Audience
Managers
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
Security Testing
14 HoursAfter becoming familiar with vulnerabilities and attack methods, participants learn about the general approach and methodology for security testing, as well as techniques that can be applied to reveal specific vulnerabilities. Security testing should start with information gathering about the system (ToC, i.e. Target of Evaluation), then a thorough threat modeling should reveal and rate all threats, arriving to the most appropriate risk analysis-driven test plan.
Security evaluations can happen at various steps of the SDLC, and so we discuss design review, code review, reconnaissance and information gathering about the system, testing the implementation and the testing and hardening the environment for secure deployment. Many security testing techniques are introduced in details, like taint analysis and heuristics-based code review, static code analysis, dynamic web vulnerability testing or fuzzing. Various types of tools are introduced that can be applied in order to automate security evaluation of software products, which is also supported by a number of exercises, where we execute these tools to analyze the already discussed vulnerable code. Many real life case studies support better understanding of various vulnerabilities.
This course prepares testers and QA staff to adequately plan and precisely execute security tests, select and use the most appropriate tools and techniques to find even hidden security flaws, and thus gives essential practical skills that can be applied on the next day working day.
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 client-side vulnerabilities and secure coding practices
- Understand security testing approaches and methodologies
- Get practical knowledge in using security testing techniques and tools
- Get sources and further readings on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications demands skilled security professionals who remain constantly updated on current attack vectors and trends. A wide array of technologies and environments facilitate the comfortable development of web applications. Developers must not only understand platform-specific security issues but also be aware 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 emphasis on understanding the most critical cryptographic techniques. Various web application vulnerabilities are examined on both the server side (following the OWASP Top Ten) and the client side, illustrated through relevant attack scenarios. These are followed by recommended coding practices and mitigation strategies to prevent associated problems. The module on secure coding concludes by discussing common security-related programming errors, including issues with 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, ranging from high-level auditing and penetration testing to ethical hacking, can be employed to identify different types of vulnerabilities. However, to go beyond easily discoverable 'low-hanging fruits,' security testing must be well-planned and properly executed. Recall that while a security tester ideally needs to find all bugs to fully protect a system, an adversary only needs to find one exploitable vulnerability to gain access.
Practical exercises will aid in understanding web application vulnerabilities, programming mistakes, and, most importantly, mitigation techniques. Through hands-on trials with various testing tools—ranging from security scanners and sniffers to proxy servers, fuzzing tools, and static source code analyzers—this course equips participants with essential practical skills applicable directly in the workplace the following day.
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 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
- Access resources and further readings on secure coding practices
Audience
Developers, Testers
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.