This curriculum spans the breadth of secure coding practices expected in a multi-workshop security upskilling program for development teams, addressing the same technical and coordination challenges encountered in real-world application security rollouts across design, development, deployment, and incident response phases.
Module 1: Threat Modeling and Risk Assessment in Application Design
- Conducting STRIDE-based threat modeling during the architecture phase to identify spoofing risks in authentication flows.
- Selecting between data flow diagrams and attack trees based on system complexity and team familiarity.
- Integrating threat modeling outputs into Jira tickets to ensure actionable developer follow-up.
- Deciding whether to use automated tools like Microsoft Threat Modeling Tool or manual facilitation for cloud-native microservices.
- Managing stakeholder resistance when threat modeling reveals fundamental design flaws late in development.
- Establishing thresholds for risk acceptance based on business impact, regulatory exposure, and exploit likelihood.
Module 2: Secure Authentication and Session Management
- Choosing between OAuth 2.0 and OpenID Connect based on identity provider support and user experience requirements.
- Implementing multi-factor authentication without degrading usability for high-frequency internal users.
- Configuring session timeout policies that balance security and user productivity in enterprise applications.
- Storing and rotating refresh tokens securely using encrypted storage and short-lived access tokens.
- Preventing session fixation by regenerating session identifiers after login and privilege changes.
- Enforcing password policies that comply with NIST 800-63B guidelines while avoiding counterproductive complexity rules.
Module 3: Input Validation and Injection Defense
- Selecting context-specific output encoding strategies for HTML, JavaScript, and URL contexts in templating engines.
- Implementing parameterized queries across multiple database drivers while maintaining performance benchmarks.
- Configuring WAF rule sets to block SQL injection without introducing false positives on legitimate inputs.
- Validating file uploads by content type, size, and header inspection to prevent malicious payload execution.
- Sanitizing rich text input using allow-list-based HTML filtering with libraries like DOMPurify.
- Handling international character sets in input validation without introducing encoding-related vulnerabilities.
Module 4: Secure Error Handling and Logging
- Designing error responses that avoid information leakage while providing sufficient detail for debugging.
- Masking sensitive data such as tokens and PII in application logs before ingestion into SIEM systems.
- Configuring log levels in production to capture security-relevant events without overwhelming storage.
- Implementing structured logging formats (e.g., JSON) to enable automated log parsing and correlation.
- Managing log retention periods in compliance with GDPR and industry-specific regulatory requirements.
- Securing log transmission channels using TLS and mutual authentication between applications and log collectors.
Module 5: Cryptographic Implementation and Key Management
- Selecting AES-GCM over CBC mode for symmetric encryption to prevent padding oracle attacks.
- Integrating with HSMs or cloud KMS for key generation, storage, and rotation in distributed systems.
- Implementing envelope encryption for large data sets to reduce key exposure and improve performance.
- Managing key rotation schedules that align with compliance mandates without disrupting active sessions.
- Avoiding hardcoded cryptographic keys in source code using environment variables and secret management tools.
- Validating certificate chains and enforcing certificate pinning in mobile applications with evolving CA trust models.
Module 6: Secure API Design and Protection
- Enforcing rate limiting on REST APIs to prevent brute-force and denial-of-service attacks.
- Validating and sanitizing query parameters in GraphQL endpoints to mitigate query depth and complexity attacks.
- Implementing proper scope-based authorization in OAuth 2.0 to prevent privilege escalation.
- Securing gRPC services with mTLS and ensuring metadata is not used to bypass access controls.
- Documenting API security requirements in OpenAPI specifications with security schemes and scopes.
- Monitoring for anomalous API usage patterns using behavioral analytics and anomaly detection rules.
Module 7: Secure Deployment and CI/CD Integration
- Integrating SAST tools into CI pipelines with fail-on-critical rules without blocking non-critical findings.
- Managing false positives in automated scanning by tuning rulesets and maintaining suppression policies.
- Signing container images and verifying signatures in production deployment workflows.
- Enforcing infrastructure-as-code security checks using policy engines like OPA or Checkov.
- Isolating build environments to prevent credential leakage and supply chain compromise.
- Implementing immutable deployment artifacts to prevent runtime modifications and ensure auditability.
Module 8: Incident Response and Post-Breach Code Remediation
- Conducting code forensics to identify exploited vulnerabilities after a breach using version control history.
- Prioritizing patch deployment based on exploitability, data exposure, and affected user base.
- Updating secure coding standards based on root cause analysis of real incidents.
- Coordinating disclosure timelines with legal, PR, and customer support teams during vulnerability remediation.
- Rolling back vulnerable releases while maintaining data consistency and service availability.
- Implementing runtime protection mechanisms like RASP as a temporary control during patch development.