Get in Touch
 Duration 21 hours

Course Outline

A01:2025 – Broken Access Control

Access control mechanisms ensure that users operate within their intended permissions. Failures in this area often result in unauthorized data disclosure, modification, or destruction, as well as the execution of business functions beyond authorized limits.

Practical Aspects

  • Real-world examples of broken access controls

  • Implementing secure access controls and adhering to best practices

A02:2025 – Security Misconfiguration

Security misconfiguration occurs when systems, applications, or cloud services are not set up with security in mind, inadvertently creating exploitable vulnerabilities.

Practical Aspects

  • Case studies of real-world misconfigurations

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

A03:2025 – Software Supply Chain Failures

These failures stem from compromises in the software build, distribution, or update processes. They are frequently caused by vulnerabilities or malicious alterations in third-party code, tools, or dependencies relied upon by the system.

A04:2025 – Cryptographic Failures

Generally, all data in transit should be encrypted at the transport layer (OSI layer 4). Past challenges such as CPU performance and key management have been mitigated by modern CPUs with encryption acceleration instructions (e.g., AES support) and simplified certificate management through services like LetsEncrypt.org and major cloud providers.

Beyond transport layer security, it is crucial to identify data requiring encryption at rest and additional encryption at the application layer (OSI layer 7) for sensitive transit.

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

Practical Aspects

  • In-depth analysis of cryptographic failures, such as weak encryption algorithms or poor key management

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

A05:2025 – Injection

Injection vulnerabilities are flaws that allow attackers to insert malicious code or commands (such as SQL or shell code) into input fields, deceiving the system into executing them as legitimate instructions. This can have severe consequences.

Practical Aspects

  • Detailed examination of SQL, NoSQL, OS, and LDAP injection

  • Mitigation techniques including 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 distinct from other Top Ten categories and should not be confused with insecure implementation. This distinction is vital because design flaws and implementation defects have different root causes, occur at different stages of development, and require different remediation approaches.

While secure designs can still suffer from implementation defects, an insecure design cannot be corrected by perfect implementation because the necessary security controls were never established to defend against specific attacks.

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

Practical Aspects

  • Exploring design flaws that lead to vulnerabilities, such as inadequate input validation

  • Studying strategies for secure architecture and design principles

A07:2025 – Authentication Failures

This vulnerability exists when attackers can deceive a system into recognizing invalid or incorrect users as legitimate.

Practical Aspects

  • Common authentication issues and pitfalls

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

A08:2025 – Software or Data Integrity Failures

These failures involve code and infrastructure that fails to protect against invalid or untrusted code and 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).

Insecure CI/CD pipelines that lack software integrity checks can introduce risks of unauthorized access, malicious code injection, or system compromise.

Another instance is a CI/CD pipeline that retrieves code or artifacts from untrusted locations without verifying them (e.g., via signature checks) before use.

Practical Aspects

  • Addressing issues such as untrusted software updates and data tampering

  • Implementing safe update mechanisms and data integrity checks

A09:2025 – Security Logging and Alerting Failures

Without adequate logging and monitoring, attacks and breaches go undetected. Furthermore, the absence of alerting makes it extremely difficult to respond quickly and effectively to security incidents.

Gaps in logging, continuous monitoring, detection, and alerting prevent organizations from initiating active responses in a timely manner.

Practical Aspects

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

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

A10:2025 – Mishandling of Exceptional Conditions

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

This typically involves one or more of the following failures:

  • The application fails to prevent an unusual situation from occurring

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

  • The application responds poorly or not at all after the situation occurs

SAST – Static Application Security Testing

  1. Understanding static analysis and its optimal timing in the SDLC (shift-left approach)

  2. Vulnerabilities detectable via SAST, comparing vulnerable code with secure code

  3. Overview of SAST tools (e.g., Semgrep, SonarQube, Checkmarx, tailored to the client stack)

  4. Hands-on exercise: performing a SAST scan on a repository with intentional vulnerabilities, interpreting results, and triaging false positives versus true vulnerabilities

DAST – Dynamic Application Security Testing

  1. Distinguishing SAST from DAST, focusing on black-box testing of running applications

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

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

  4. Hands-on exercise: executing a DAST scan on a vulnerable test application (e.g., OWASP Juice Shop) and validating the findings

SCA – Software Composition Analysis

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

  2. Understanding the Software Bill of Materials (SBOM) and its importance

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

  4. Hands-on exercise: running an SCA scan on a real project to identify vulnerable dependencies and formulate a remediation plan (updating, patching, or mitigating)

Requirements

Participants are expected to have:

  • A foundational grasp of software development concepts
  • A basic understanding of web applications and common web technologies
  • Familiarity with the Software Development Lifecycle (SDLC)
  • Basic knowledge of source code and software dependencies
  • Knowledge of security concepts is advantageous but not 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

Testimonials (3)

Related Categories