Course Outline
A01:2025 – Broken Access Control
Access control mechanisms enforce policies to ensure users cannot operate outside their intended permissions. Failures in this area often result in unauthorised disclosure, modification, or destruction of data, or the performance of business functions beyond a user's authorised limits.
Practical Aspects
-
Real-world examples of broken access controls
-
Implementation of secure access controls and industry best practices
A02:2025 – Security Misconfiguration
Security misconfiguration occurs when systems, applications, or cloud services are set up incorrectly from a security standpoint, thereby creating vulnerabilities.
Practical Aspects
-
Cases of real-world misconfigurations
-
Strategies to prevent misconfiguration, including the use of configuration management and automation tools
A03:2025 – Software Supply Chain Failures
Supply chain failures involve breakdowns or compromises during the building, distribution, or updating of software. These are frequently caused by vulnerabilities or malicious modifications in third-party code, tools, or other dependencies that the system relies upon.
A04:2025 – Cryptographic Failures
In general, all data in transit should be encrypted at the transport layer (OSI layer 4). Previous barriers, such as CPU performance and private key/certificate management, are now mitigated by modern CPUs featuring instructions to accelerate encryption (e.g., AES support) and simplified key/certificate management services, such as LetsEncrypt.org, alongside tightly integrated certificate management solutions offered by major cloud providers.
Beyond securing the transport layer, it is crucial to determine which data requires encryption at rest and which data needs additional encryption in transit at the application layer (OSI layer 7).
For instance, sensitive data such as passwords, credit card numbers, health records, personal information, and business secrets require 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, such as 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 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 part of the legitimate application. This can lead to severe consequences.
Practical Aspects
-
Detailed examination of SQL, NoSQL, OS, and LDAP injection
-
Mitigation techniques using prepared statements, parameterized queries, and input escaping
A06:2025 – Insecure Design
Insecure design is a broad category representing various weaknesses, typically manifested as missing or ineffective control design.
Insecure design is not the root cause of all other Top Ten risk categories. 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 that create exploitable vulnerabilities. Conversely, an insecure design cannot be resolved by perfect implementation because the necessary security controls were never established to defend against specific attacks.
A contributing factor to insecure design is the lack of business risk profiling during software 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 strategies for secure architecture and secure design principles
A07:2025 – Authentication Failures
Authentication failures occur when an attacker successfully tricks 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 prevent invalid or untrusted code or data from being treated as trusted and valid.
This often happens when applications rely 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 unauthorised access, insecure or malicious code, or system compromise.
Another example is a CI/CD pipeline that retrieves code or artifacts from untrusted locations and fails to verify them before use (e.g., by checking signatures).
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 robust 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 initiation of active response measures.
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, or respond to unusual and unpredictable situations, leading to crashes, unexpected behaviour, and potential vulnerabilities.
This typically involves one or more of the following failures:
-
The application does not prevent the unusual situation from occurring
-
It fails to identify the situation while it is happening
-
It responds poorly or not at all to the situation afterwards
SAST – Static Application Security Testing
-
Understanding static analysis and when to run it in the SDLC (shift left)
-
Types of vulnerabilities detectable via SAST, comparing vulnerable code vs secure code
-
Overview of SAST tools (e.g., Semgrep, SonarQube, Checkmarx, tailored to the client stack)
-
Practical exercise: running a SAST scan on a repository with deliberately introduced vulnerabilities, interpreting results, and triaging false positives vs real vulnerabilities
DAST – Dynamic Application Security Testing
-
Differences between SAST and DAST, focusing on black-box testing of the running application
-
The DAST scan flow, 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), identifying and validating findings
SCA – Software Composition Analysis
-
Risks associated with third-party dependencies and libraries, including inherited vulnerabilities
-
SBOM (Software Bill of Materials): what it is and why it matters
-
Overview of SCA tools (e.g., Dependency Check, Snyk, GitHub Dependabot)
-
Practical exercise: running an SCA scan on a real project, identifying vulnerable dependencies, and building a remediation plan (update, patch, mitigate)
Requirements
Participants are expected to have the following:
- A foundational understanding of software development concepts
- Basic knowledge of web applications and common web technologies
- Familiarity with the Software Development Lifecycle (SDLC)
- An understanding of source code and software dependencies
- While not mandatory, basic knowledge of security concepts is advantageous
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