Get in Touch
 Duration 21 hours

Course Outline

A01:2025 – Broken Access Control

Access control mechanisms enforce policies that prevent users from acting beyond their intended permissions. Failures in this area often result in unauthorized disclosure, modification, or destruction of data, or the execution of business functions outside user limits.

Practical Aspects

  • Real-world examples of broken access controls

  • Best practices for implementing secure access controls

A02:2025 – Security Misconfiguration

Security misconfiguration occurs when systems, applications, or cloud services are set up incorrectly from a security standpoint, thereby creating exploitable vulnerabilities.

Practical Aspects

  • Case studies of common misconfigurations

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

A03:2025 – Software Supply Chain Failures

Software supply chain failures refer to breakdowns or compromises in the building, distribution, or updating of software. These issues often stem from vulnerabilities or malicious alterations in third-party code, tools, or other dependencies relied upon by the system.

A04:2025 – Cryptographic Failures

In general, all data in transit should be encrypted at the transport layer (OSI layer 4). Previous challenges, such as CPU performance constraints and the complexity of private key/certificate management, have been mitigated by modern CPUs featuring instructions that accelerate encryption (e.g., AES support) and by services like LetsEncrypt.org, along with major cloud vendors offering tightly integrated certificate management for their platforms.

Beyond securing the transport layer, it is crucial to identify 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 demand enhanced protection, particularly if they are subject to privacy laws such as the EU's General Data Protection Regulation (GDPR) or standards like the PCI Data Security Standard (PCI DSS).

Practical Aspects

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

  • The importance 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 insert malicious code or commands (such as SQL or shell code) into a program's input fields, tricking the system into executing these as if they were legitimate parts of the system. The consequences of such attacks can be severe.

Practical Aspects

  • Detailed breakdown of SQL, NoSQL, OS, and LDAP injection techniques

  • Mitigation strategies using prepared statements, parameterized queries, and input escaping

A06:2025 – Insecure Design

Insecure design is a broad category representing various weaknesses, often described as "missing or ineffective control design."

It is important to note that insecure design is distinct from insecure implementation. We differentiate between design flaws and implementation defects because they arise from different root causes, occur at different stages of the development process, and require different remediation approaches.

Even a secure design may suffer from implementation defects that lead to exploitable vulnerabilities. Conversely, an insecure design cannot be remedied by perfect implementation if the necessary security controls were never designed to defend against specific attacks.

A contributing factor to insecure design is the lack of business risk profiling inherent in the software or system being developed, leading to an inability to determine the required level of security design.

Practical Aspects

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

  • Studying strategies for secure architecture and secure design principles

A07:2025 – Authentication Failures

This vulnerability is present when an attacker can trick a system into recognizing an invalid or incorrect user as legitimate.

Practical Aspects

  • Common authentication issues

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

A08:2025 – Software or Data Integrity Failures

Software and data integrity failures relate to code and infrastructure that fails 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 can introduce risks of unauthorized access, insecure or malicious code, or system compromise.

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

Practical Aspects

  • Focusing on 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 cannot be detected. Furthermore, without effective alerting, responding quickly and effectively during a security incident becomes extremely difficult.

Insufficient logging, continuous monitoring, detection, and alerting for initiating active responses are critical gaps to address.

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 and unpredictable situations. This leads to crashes, unexpected behavior, and potentially exploitable vulnerabilities.

This can involve one or more of the following failings:

  • The application does not 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 placement in the SDLC (shift left approach)

  2. Types of vulnerabilities detectable through SAST, comparing vulnerable code vs. secure code

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

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

DAST – Dynamic Application Security Testing

  1. Differences between SAST and DAST, focusing on black box testing on 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: Run a DAST scan on a vulnerable test application (e.g., OWASP Juice Shop), then identify and validate the findings

SCA – Software Composition Analysis

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

  2. SBOM (Software Bill of Materials): definition and importance

  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 build a remediation plan (update, patch, or mitigate)

Requirements

Participants are expected to possess:

  • A foundational grasp of software development principles
  • Basic comprehension of web applications and prevalent web technologies
  • Familiarity with the Software Development Lifecycle (SDLC)
  • A basic understanding of source code and software dependencies
  • 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

Testimonials (3)

Upcoming Courses

Related Categories