Get in Touch
 Duration 21 hours

Course Outline

A01:2025 – Broken Access Control

Access control mechanisms enforce policies to ensure users cannot exceed their intended permissions. Failures in this area often result in unauthorized information disclosure, data modification or destruction, or the execution of business functions beyond a user's authority.

Practical Aspects

  • Real-world examples of broken access control scenarios

  • Best practices for implementing secure access controls

A02:2025 – Security Misconfiguration

Security misconfiguration occurs when systems, applications, or cloud services are set up incorrectly, inadvertently creating security vulnerabilities.

Practical Aspects

  • Analysis of real-world misconfiguration cases

  • Strategies to prevent misconfiguration, including the use of configuration management and automation tools

A03:2025 – Software Supply Chain Failures

Supply chain failures involve compromises or breakdowns in the software building, distribution, or update processes. These are frequently caused by vulnerabilities or malicious alterations in third-party code, tools, or other dependencies upon which the system relies.

A04:2025 – Cryptographic Failures

Generally, all data in transit should be encrypted at the transport layer (OSI layer 4). Historical challenges such as CPU performance constraints and complex private key/certificate management have been mitigated by modern CPUs featuring encryption acceleration instructions (e.g., AES support) and the simplification of certificate management through services like LetsEncrypt.org, alongside tightly integrated solutions offered by major cloud vendors.

Beyond securing the transport layer, it is crucial to determine which data requires encryption at rest and which data necessitates additional encryption in transit (at the application layer, OSI layer 7).

For instance, passwords, credit card numbers, health records, personal information, and business secrets require heightened protection, particularly when subject to privacy laws such as the EU's General Data Protection Regulation (GDPR) or regulations like the PCI Data Security Standard (PCI DSS).

Practical Aspects

  • In-depth analysis of cryptographic failures, including weak encryption algorithms and improper key management

  • The significance of robust cryptographic mechanisms, secure protocols (SSL/TLS), and examples of modern cryptography in web security

A05:2025 – Injection

Injection vulnerabilities are system flaws that allow attackers to inject malicious code or commands (such as SQL or shell code) into input fields, tricking the system into executing these as if they were legitimate system components. This can lead to severe consequences.

Practical Aspects

  • A detailed breakdown of SQL, NoSQL, OS, and LDAP injection techniques

  • Mitigation techniques utilizing prepared statements, parameterized queries, and input escaping

A06:2025 – Insecure Design

Insecure design is a broad category encompassing various weaknesses characterized by "missing or ineffective control design."

It is important to distinguish insecure design from other Top Ten risk categories. There is a clear difference between insecure design and insecure implementation. We differentiate between design flaws and implementation defects because they stem from different root causes, occur at different stages of the development process, and require distinct remediation approaches.

Even a secure design may contain implementation defects that lead to exploitable vulnerabilities. Conversely, an insecure design cannot be resolved by perfect implementation, as the necessary security controls to defend against specific attacks were never established.

A key contributor to insecure design is the lack of business risk profiling inherent in the software or system under development, leading to an inability to determine the required level of security design.

Practical Aspects

  • Exploration of design flaws that lead to vulnerabilities, such as improper input validation

  • Study of secure architecture strategies and secure design principles

A07:2025 – Authentication Failures

Authentication failures occur when an attacker succeeds in tricking a system into recognizing an invalid or incorrect user as legitimate.

Practical Aspects

  • Common authentication issues and pitfalls

  • Secure authentication strategies, including multi-factor authentication and proper session handling

A08:2025 – Software or Data Integrity Failures

Software and data integrity failures occur when code and infrastructure fail to protect against invalid or untrusted code or data being treated as trusted and valid.

An example includes applications relying on plugins, libraries, or modules from untrusted sources, repositories, or content delivery networks (CDNs).

An insecure CI/CD pipeline that lacks software integrity checks in its consumption and provision processes can introduce risks of unauthorized access, insecure or malicious code, or system compromise.

Another example is a CI/CD system that pulls code or artifacts from untrusted locations and/or fails to verify them before use (e.g., by checking signatures or similar mechanisms).

Practical Aspects

  • Focus on issues such as untrusted software updates and data tampering

  • Implementation of safe update mechanisms and data integrity checks

A09:2025 – Security Logging and Alerting Failures

Without adequate logging and monitoring, attacks and breaches remain undetected, and without effective alerting, it becomes very difficult to respond quickly and effectively during security incidents.

Insufficient logging, continuous monitoring, detection, and alerting capabilities hinder the initiation of active responses at any time.

Practical Aspects

  • The importance of logging security-relevant information and monitoring for suspicious activities

  • Tools and practices for proper logging and real-time monitoring to detect breaches early

A10:2025 – Mishandling of Exceptional Conditions

Mishandling exceptional conditions in software occurs when programs fail to prevent, detect, and respond to unusual or unpredictable situations, potentially leading to crashes, unexpected behavior, and vulnerabilities.

This involves one or more of the following failings:

  • The application fails to prevent an unusual situation from occurring

  • The application fails to identify the situation as it is happening

  • The application responds poorly or not at all to the situation afterwards

SAST – Static Application Security Testing

  1. Understanding static analysis and its optimal timing within the SDLC (shifting left)

  2. Types of vulnerabilities detectable via SAST, comparing vulnerable code versus secure code

  3. Overview of SAST tools (e.g., Semgrep, SonarQube, Checkmarx, depending on the client's tech stack)

  4. Practical exercise: Execute a SAST scan on a repository with deliberately introduced vulnerabilities, interpret the results, and triage false positives versus real vulnerabilities

DAST – Dynamic Application Security Testing

  1. Distinguishing between SAST and DAST, focusing on black-box testing of the running application

  2. The DAST scan workflow, including crawling, fuzzing, and response analysis

  3. Overview of DAST tools (e.g., OWASP ZAP, Burp Suite)

  4. Practical exercise: Perform a DAST scan on a vulnerable test application (e.g., OWASP Juice Shop), and identify and validate the findings

SCA – Software Composition Analysis

  1. Risks associated with third-party dependencies and libraries, including inherited vulnerabilities

  2. Understanding SBOM (Software Bill of Materials): what it is and why it matters

  3. Overview of SCA tools (e.g., Dependency Check, Snyk, GitHub Dependabot)

  4. Practical exercise: Run an SCA scan on a real project, identify vulnerable dependencies, and develop a remediation plan (update, patch, or mitigate)

Requirements

Participants are expected to have the following background:

  • Fundamental knowledge of software development concepts
  • A basic grasp of web applications and common web technologies
  • Familiarity with the Software Development Lifecycle (SDLC)
  • An introductory understanding of source code and software dependencies
  • Basic knowledge of security concepts is advantageous but not strictly required

Target Audience

  • Software Developers
  • Software Engineers
  • QA and Software Test Engineers
  • DevOps and DevSecOps Engineers
  • Application Security Professionals
  • Security Engineers
  • Software Architects
  • Technical Leads
  • Professionals engaged in secure software development and application security testing

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories