Course Outline
A01:2025 – Broken Access Control
Access control ensures that users operate strictly within their intended permissions. When this control fails, it often results in the unauthorized exposure, alteration, or destruction of data, or the execution of business functions beyond the user’s authorized scope.
Practical Aspects
-
Real-world examples demonstrating broken access controls
-
Best practices for implementing secure access controls
A02:2025 – Security Misconfiguration
Security misconfiguration occurs when systems, applications, or cloud services are configured incorrectly from a security standpoint, thereby introducing vulnerabilities.
Practical Aspects
-
Real-world case studies of common misconfigurations
-
Strategies to prevent misconfiguration, including the use of configuration management and automation tools
A03:2025 – Software Supply Chain Failures
Software supply chain failures refer to compromises or breakdowns in the process of building, distributing, or updating software. These are frequently caused by vulnerabilities or malicious modifications in third-party code, tools, or other 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 limitations and complex private key/certificate management, have been mitigated by modern CPUs featuring instructions for accelerated encryption (e.g., AES support) and streamlined certificate management services like LetsEncrypt.org, alongside tightly integrated offerings from major cloud providers.
Beyond securing the transport layer, it is crucial to identify which data requires encryption at rest and which necessitates 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 when subject to privacy regulations 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 role of robust cryptographic mechanisms, secure protocols (SSL/TLS), and modern cryptography examples in web security
A05:2025 – Injection
An injection vulnerability is a systemic flaw that permits attackers to insert malicious code or commands (such as SQL or shell code) into input fields, deceiving the system into executing them as native commands. This can lead to severe consequences.
Practical Aspects
-
A detailed examination of SQL, NoSQL, OS, and LDAP injection techniques
-
Mitigation strategies utilizing prepared statements, parameterized queries, and input escaping
A06:2025 – Insecure Design
Insecure design is a broad category representing various weaknesses characterized by missing or ineffective control design.
It is important to distinguish insecure design from other Top Ten risk categories. There is a clear difference between insecure design and insecure implementation; they have distinct root causes, occur at different stages of the development process, and require different remediation approaches.
A secure design may still suffer from implementation defects that lead to exploitable vulnerabilities. However, an insecure design cannot be resolved by perfect implementation, as the necessary security controls were never originally designed to defend against specific threats.
A key contributor to insecure design is the lack of business risk profiling during the development process, leading to an inability to determine the required level of security design.
Practical Aspects
-
Exploration of design flaws that can lead to vulnerabilities, such as improper input validation
-
Study of strategies for secure architecture and secure design principles
A07:2025 – Authentication Failures
This vulnerability exists 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
Software and data integrity failures occur when code and infrastructure fail to protect against invalid or untrusted code and data being treated as legitimate.
An example is when an application relies 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 injection, or system compromise.
Another scenario is a CI/CD system that pulls code or artifacts from unverified sources without validating them before use (e.g., through signature verification).
Practical Aspects
-
Addressing issues such as untrusted software updates and data tampering
-
Implementing safe update mechanisms and robust data integrity checks
A09:2025 – Security Logging and Alerting Failures
Without adequate logging and monitoring, attacks and breaches remain undetected. Furthermore, without effective alerting, rapid and effective response during a security incident becomes extremely difficult.
Gaps in logging, continuous monitoring, detection, and alerting hinder the initiation of 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 exceptional conditions occurs when software fails to prevent, detect, or respond to unusual or unpredictable situations, leading to crashes, unexpected behavior, or vulnerabilities.
This typically involves 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 after the situation occurs
SAST – Static Application Security Testing
-
Understanding static analysis and its optimal timing in the SDLC (shift-left approach)
-
Vulnerabilities detectable via SAST, contrasting vulnerable code with secure code
-
Overview of SAST tools (e.g., Semgrep, SonarQube, Checkmarx, tailored to the client’s tech stack)
-
Practical exercise: Running a SAST scan on a repository with intentional vulnerabilities, interpreting results, and triaging false positives against real vulnerabilities
DAST – Dynamic Application Security Testing
-
Distinguishing between SAST and 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)
-
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
-
SBOM (Software Bill of Materials): Definition and its significance
-
Overview of SCA tools (e.g., Dependency Check, Snyk, GitHub Dependabot)
-
Practical exercise: Running an SCA scan on a real project to identify vulnerable dependencies and develop a remediation plan (update, patch, mitigate)
Requirements
Participants are expected to have:
- A foundational grasp of software development principles
- A basic understanding of web applications and standard web technologies
- Familiarity with the Software Development Lifecycle (SDLC)
- Basic knowledge of source code structure and software dependencies
- While not mandatory, a fundamental understanding of security concepts is highly 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