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 often result in unauthorized disclosure, modification, or destruction of data, as well as the execution of business functions outside a user's authorized scope.
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 incorrectly set up from a security perspective, thereby 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 involve breakdowns or compromises in the software building, distribution, or update processes. They are frequently caused by vulnerabilities or malicious alterations in third-party code, tools, or 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). Previous obstacles such as CPU performance and private key/certificate management have been mitigated by modern CPUs with encryption acceleration instructions (e.g., AES support) and simplified key management through services like LetsEncrypt.org, along with integrated certificate management from major cloud providers.
Beyond securing the transport layer, it is crucial to identify which data requires encryption at rest and which requires 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 when 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, 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
An injection vulnerability is a flaw that allows attackers to insert malicious code or commands (such as SQL or shell code) into program input fields. This tricks the system into executing the malicious code as if it were a legitimate part of the application, potentially leading to severe consequences.
Practical Aspects
-
Detailed examination of SQL, NoSQL, OS, and LDAP injection vectors
-
Mitigation techniques using 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 risk categories. A clear differentiation exists between insecure design and insecure implementation; they have different root causes, occur at different stages of the development process, and require different remediation approaches.
Even a secure design can suffer from implementation defects that create exploitable vulnerabilities. Conversely, an insecure design cannot be remediated by perfect implementation because the necessary security controls were never initially designed to defend against specific attacks.
A significant contributor to insecure design is the lack of business risk profiling during the development of the software or system, leading to an undefined level of required 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
This vulnerability arises when an attacker successfully tricks 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 involve 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, malicious code injection, or system compromise.
Another scenario is a CI/CD pipeline that retrieves code or artifacts from untrusted locations or fails to verify them (e.g., via signature checking) before use.
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 effective logging and monitoring, attacks and breaches remain undetected. Furthermore, the absence of proper alerting makes it extremely difficult to respond quickly and effectively during a security incident.
Insufficient logging, continuous monitoring, detection, and alerting are common gaps that hinder active response capabilities.
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
This occurs when software fails to prevent, detect, and respond to unusual or unpredictable situations, resulting in crashes, unexpected behavior, and potential vulnerabilities.
This typically involves one or more of the following failures:
-
The application does not prevent the unusual situation from occurring
-
The application does not identify the situation as it is happening
-
The application responds poorly or not at all to the situation afterwards
SAST – Static Application Security Testing
-
Understanding static analysis and its optimal timing in the SDLC (shift-left approach)
-
Types of vulnerabilities detectable via SAST, comparing vulnerable code with 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 intentionally introduced vulnerabilities, interpreting results, and triaging false positives versus 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) to identify and validate findings
SCA – Software Composition Analysis
-
Risks associated with third-party dependencies and libraries, including inherited vulnerabilities
-
Understanding SBOM (Software Bill of Materials) and its significance
-
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 constructing a remediation plan (update, patch, mitigate)
Requirements
Participants are expected to possess the following:
- Fundamental knowledge of software development principles
- A basic grasp of web applications and common web technologies
- Familiarity with the Software Development Lifecycle (SDLC)
- An elementary understanding of source code and software dependencies
- While prior knowledge of security concepts is advantageous, it is not a strict requirement
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