Course Outline
A01:2025 – Broken Access Control
Access control mechanisms enforce policies to ensure users cannot perform actions beyond their authorized permissions. Failures in this area can result in unauthorized disclosure, modification, or destruction of data, as well as the execution of business functions outside intended user limits.
Practical Aspects
-
Real-world examples of broken access controls
-
Best practices for implementing secure access control
A02:2025 – Security Misconfiguration
Security misconfiguration occurs when systems, applications, or cloud services are improperly set up from a security standpoint, creating exploitable vulnerabilities.
Practical Aspects
-
Case studies of real-world misconfigurations
-
Preventive measures, including the use of configuration management and automation tools
A03:2025 – Software Supply Chain Failures
Software supply chain failures refer to compromises in the process of building, distributing, or updating software. These are often caused by vulnerabilities or malicious alterations in third-party code, tools, or other 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 challenges, such as CPU performance and private key/certificate management, have been mitigated by modern CPUs with instructions designed to accelerate encryption (e.g., AES support) and simplified key management through services like LetsEncrypt.org, alongside tightly integrated certificate management 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 enhanced protection, particularly if subject to privacy laws like the EU's General Data Protection Regulation (GDPR) or standards 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 modern cryptography examples 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, causing the system to execute them as if they were legitimate parts of the application. This can have severe consequences.
Practical Aspects
-
Comprehensive breakdown 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 described as “missing or ineffective control design.”
Insecure design is distinct from the other Top Ten risk categories. It is important to differentiate between insecure design and insecure implementation, as 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 lead to exploitable vulnerabilities. Conversely, an insecure design cannot be remediated by perfect implementation, as the necessary security controls were never established to defend against specific threats.
A key contributor to insecure design is the lack of business risk profiling during development, 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
Authentication failures occur when an attacker successfully tricks a system into recognizing an invalid or incorrect user as legitimate.
Practical Aspects
-
Common authentication pitfalls
-
Secure authentication strategies, including multi-factor authentication and proper session management
A08:2025 – Software or Data Integrity Failures
Software and data integrity failures relate to code and infrastructure that fail to protect against invalid or untrusted code or data being treated as trusted and valid.
This often occurs when applications rely on plugins, libraries, or modules from untrusted sources, repositories, or content delivery networks (CDNs).
An insecure CI/CD pipeline lacking software integrity checks can introduce risks such as unauthorized access, insecure or malicious code, or system compromise.
Another example is a CI/CD process that pulls code or artifacts from untrusted locations and/or fails to verify them before use (e.g., by checking signatures or similar mechanisms).
Practical Aspects
-
Focusing on issues like 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 remain undetected. Furthermore, the lack of alerting makes it extremely difficult to respond quickly and effectively during a security incident.
Inadequate logging, continuous monitoring, detection, and alerting capabilities hinder the initiation of 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, or respond to unusual and unpredictable situations, leading to crashes, unexpected behavior, and potential vulnerabilities.
This may involve one or more of the following failures:
-
The application does not prevent an unusual situation from occurring
-
It fails to identify the situation as it is happening
-
It 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)
-
Types of vulnerabilities detectable via SAST, comparing vulnerable code with secure code
-
Overview of SAST tools (e.g., Semgrep, SonarQube, Checkmarx, depending on the technology stack)
-
Practical exercise: Execute a SAST scan on a repository with intentional vulnerabilities, interpret results, and triage 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: Perform a DAST scan on a vulnerable test application (e.g., OWASP Juice Shop), and identify and validate findings
SCA – Software Composition Analysis
-
Assessing the risk of third-party dependencies and libraries, including inherited vulnerabilities
-
SBOM (Software Bill of Materials): Definition and significance
-
Overview of SCA tools (e.g., Dependency Check, Snyk, GitHub Dependabot)
-
Practical exercise: Run an SCA scan on a real project, identify vulnerable dependencies, and develop a remediation plan (update, patch, mitigate)
Requirements
Participants are expected to possess the following skills and knowledge:
- Fundamental understanding of software development principles
- Basic comprehension of web applications and standard web technologies
- Awareness of the Software Development Lifecycle (SDLC)
- Basic familiarity with source code structure and software dependencies
- Foundational knowledge of security concepts is advantageous but not 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