Course Outline
A01:2025 – Broken Access Control
Effective access control ensures that users cannot perform actions beyond their intended permissions. When this control fails, it can result in unauthorized disclosure, modification, or destruction of data, or the execution of business functions outside of user limits.
Practical Aspects
-
Examination of real-world examples of broken access controls
-
Implementation of secure access controls and adherence to best practices
A02:2025 – Security Misconfiguration
Security misconfiguration occurs when systems, applications, or cloud services are improperly set up from a security standpoint, thereby introducing vulnerabilities.
Practical Aspects
-
Review of real-world misconfiguration scenarios
-
Strategies for preventing misconfigurations, including the use of configuration management and automation tools
A03:2025 – Software Supply Chain Failures
Supply chain failures involve compromises or breakdowns in the software building, distribution, or updating process. These issues often stem from vulnerabilities or malicious alterations in third-party code, tools, or dependencies upon which the system relies.
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 complex private key/certificate management, have been mitigated by modern CPUs featuring instructions for accelerated encryption (e.g., AES support) and simplified certificate management services like LetsEncrypt.org, with major cloud vendors offering even more integrated solutions for their platforms.
Beyond securing the transport layer, it is crucial to identify which data requires encryption at rest and which data needs additional encryption during 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 regulations such as the EU's General Data Protection Regulation (GDPR) or the PCI Data Security Standard (PCI DSS).
Practical Aspects
-
In-depth analysis of cryptographic failures, including weak encryption algorithms and improper key management
-
The role of robust cryptographic mechanisms, secure protocols (SSL/TLS), and modern cryptography examples in web security
A05:2025 – Injection
Injection vulnerabilities are flaws that allow attackers to inject malicious code or commands (such as SQL or shell code) into input fields, tricking the system into executing them as if they were legitimate parts of the program. This can lead to severe consequences.
Practical Aspects
-
Detailed analysis 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 encompassing various weaknesses, characterized by "missing or ineffective control design."
It is important to distinguish between insecure design and insecure implementation, as they differ in root causes, timing within the development process, and remediation approaches. An insecure design is not the sole source of all Top Ten risk categories.
Even a secure design may suffer from implementation defects that lead to exploitable vulnerabilities. Conversely, an insecure design cannot be remediated by a perfect implementation if the necessary security controls were never designed to defend against specific threats.
A key contributor to insecure design is the lack of business risk profiling for the software or system, 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 secure architecture strategies and secure design principles
A07:2025 – Authentication Failures
Authentication failures occur when a system is tricked 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
Software and data integrity failures involve code or 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, or system compromise.
Another example is CI/CD processes that pull code or artifacts from untrusted locations without verifying them before use (e.g., via signature checks).
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 go undetected. Furthermore, without effective alerting, rapid and effective responses to security incidents are nearly impossible.
Failures occur when there is insufficient logging, continuous monitoring, detection, or alerting to initiate active responses.
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 of exceptional conditions occurs when software fails to prevent, detect, or respond to unusual and unpredictable situations, leading to crashes, unexpected behavior, or potential vulnerabilities.
This typically involves one or more of the following failings:
-
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
-
Definition of static analysis and its optimal timing in the SDLC (shift-left approach)
-
Vulnerability types detectable via SAST, comparing vulnerable code with secure code
-
Overview of SAST tools (e.g., Semgrep, SonarQube, Checkmarx, based on client stack)
-
Hands-on exercise: Execute a SAST scan on a repository with intentionally introduced vulnerabilities, interpret results, and triage false positives from genuine vulnerabilities
DAST – Dynamic Application Security Testing
-
Distinguishing SAST from DAST, focusing on black-box testing of running applications
-
The DAST scanning workflow, including crawling, fuzzing, and response analysis
-
Overview of DAST tools (e.g., OWASP ZAP, Burp Suite)
-
Hands-on exercise: Perform 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
-
Understanding SBOM (Software Bill of Materials) and its significance
-
Overview of SCA tools (e.g., Dependency Check, Snyk, GitHub Dependabot)
-
Hands-on exercise: Run an SCA scan on a real project to identify vulnerable dependencies and develop a remediation plan (update, patch, or mitigate)
Requirements
Participants are expected to possess the following foundational knowledge:
- Fundamentals of software development concepts
- Basic understanding of web applications and common web technologies
- Familiarity with the Software Development Lifecycle (SDLC)
- Basic comprehension of source code and software dependencies
- General knowledge of security concepts is advantageous but not a prerequisite
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