Course Outline
A01:2025 – Broken Access Control
Access control mechanisms enforce policies to ensure users cannot act beyond their intended permissions. Failures in this area typically result in unauthorized disclosure, modification, or destruction of data, or the execution of business functions outside of authorized limits.
Practical Aspects
-
Case studies demonstrating 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 in a way that creates security vulnerabilities due to incorrect setup or lack of security hardening.
Practical Aspects
-
Analysis of real-world misconfiguration cases
-
Strategies to prevent misconfigurations, including the use of configuration management and automation tools
A03:2025 – Software Supply Chain Failures
These failures involve compromises or breakdowns in the process of building, distributing, or updating software. They often stem from vulnerabilities or malicious alterations in third-party code, tools, or other dependencies that the system relies upon.
A04:2025 – Cryptographic Failures
Generally, all data in transit should be encrypted at the transport layer (OSI layer 4). While previous challenges such as CPU performance and key management have been mitigated by hardware acceleration (e.g., AES support) and simplified services like LetsEncrypt.org, further security measures are often required.
In addition to securing the transport layer, it is essential to determine which data requires encryption at rest and which data needs additional encryption in transit at the application layer (OSI layer 7).
Sensitive data, such as passwords, credit card numbers, health records, and personal information, demands extra protection, particularly when subject to privacy laws like the EU's General Data Protection Regulation (GDPR) or regulations such as the PCI Data Security Standard (PCI DSS).
Practical Aspects
-
In-depth analysis of cryptographic failures, including weak encryption algorithms and 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 input fields, tricking the system into executing them as if they were legitimate commands. This can have severe consequences.
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 weaknesses expressed as "missing or ineffective control design."
It is important to distinguish between insecure design and insecure implementation. They have different root causes, occur at different stages of the development process, and require different remediation approaches.
A secure design can still suffer from implementation defects leading to exploitable vulnerabilities. Conversely, an insecure design cannot be remedied by a perfect implementation because the necessary security controls were never initially created to defend against specific attacks.
A key factor contributing to insecure design is the lack of business risk profiling, which leads to a failure in determining the appropriate level of security design required.
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
Authentication failures occur when an attacker can trick 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
These failures relate to code and infrastructure that fails to protect against invalid or untrusted code or data being treated as trusted and valid.
One example is an application 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, malicious code, or system compromise.
Another example is a CI/CD pipeline that pulls code or artifacts from untrusted sources and fails to verify them (e.g., via signature checks) before use.
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 logging and monitoring, attacks and breaches remain undetected. Furthermore, without effective alerting, it is difficult to respond quickly and effectively during a security incident.
Insufficient logging, continuous monitoring, detection, and alerting capabilities hinder the ability to initiate 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 occurs when software fails to prevent, detect, and respond to unusual or unpredictable situations, leading to crashes, unexpected behavior, or potential vulnerabilities.
This can involve one or more of the following failures:
-
The application fails to prevent an unusual situation from occurring
-
The application fails to identify the situation as it happens
-
The application responds poorly or not at all to the situation afterward
SAST – Static Application Security Testing
-
Understanding static analysis and its role in shifting left within the SDLC
-
Types of vulnerabilities detectable through SAST, comparing vulnerable code with secure code
-
Overview of SAST tools (e.g., Semgrep, SonarQube, Checkmarx, tailored to the client stack)
-
Practical exercise: Executing a SAST scan on a repository with introduced vulnerabilities, interpreting results, and triaging false positives from real vulnerabilities
DAST – Dynamic Application Security Testing
-
Distinguishing between SAST and DAST, focusing on black-box testing of running applications
-
The DAST scan workflow, including crawling, fuzzing, and response analysis
-
Overview of DAST tools (e.g., OWASP ZAP, Burp Suite)
-
Practical exercise: Running a DAST scan on a vulnerable test application (e.g., OWASP Juice Shop) and validating findings
SCA – Software Composition Analysis
-
The risks associated with third-party dependencies and libraries, including inherited vulnerabilities
-
Understanding the SBOM (Software Bill of Materials): what it is and why it is critical
-
Overview of SCA tools (e.g., Dependency Check, Snyk, GitHub Dependabot)
-
Practical exercise: Performing an SCA scan on a real project, identifying vulnerable dependencies, and creating a remediation plan (update, patch, or mitigate)
Requirements
Prospective participants are expected to have:
- A foundational grasp of software development principles
- Basic knowledge of web applications and common web technologies
- Familiarity with the Software Development Lifecycle (SDLC)
- A basic understanding of source code structure and software dependencies
- Prior exposure to 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)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
get to understand more about the product and some key differences between RHDS and open source OpenLDAP.
Jackie Xie - Westpac Banking Corporation
Course - 389 Directory Server for Administrators
the knowledge of the trainer was very high - he knew what he was talking about, and knew the answers to our questions