Program: Degree
Specialty: Software Engineering
Facilitator: MR ERNEST MBUMBO
COURSE OUTLINE: SOFTWARE SECURITY
Learning Outcomes
By completing this four‑chapter course, students will:
Apply secure coding principles across the software lifecycle
Implement authentication, access control, and cryptographic solutions
Identify and mitigate web and API vulnerabilities
Use industry tools for security testing and secure deployment
Critically analyze real-world breaches to design stronger defenses
Chapter 1: Foundations of Software Security
Topics:
Importance of secure software development
Common vulnerabilities (OWASP Top 10 overview)
Secure coding principles
Secure Software Development Lifecycle (SSDLC)
Lab:
Analyze insecure code snippets and identify vulnerabilities
Perform threat modeling (STRIDE) for a sample application
1|Page
Hands-on with OWASP Juice Shop: identify and document one vulnerability
Chapter 2: Authentication, Access Control, and Cryptography
Topics:
Secure password storage (hashing, salting)
Multi-factor authentication
Role-based access control (RBAC)
Cryptography basics (AES, RSA, TLS/SSL)
Lab:
Implement secure login with bcrypt hashing
Configure RBAC in a sample Django/Flask app
Encrypt/decrypt files using AES
Enable HTTPS in a sample web server
Chapter 3: Web and API Security
Topics:
Web application vulnerabilities: SQL Injection, XSS, CSRF
Secure session management
API security: OAuth2, JWT, input validation
Micro services and container security
Lab:
Exploit and patch SQL Injection in a test app
Implement CSRF protection in a web framework
Build a secure REST API with JWT authentication
• Deploy a web app in Docker with security best practices
2|Page
Chapter 4: Security Testing, Deployment, and Case Studies
Topics:
Static and dynamic analysis
Penetration testing basics
Automated security scanning tools
Secure CI/CD pipelines
Case studies: real-world breaches and lessons learned
Lab:
Use SonarQube for static code analysis
Run OWASP ZAP for dynamic testing
Integrate security checks in CI/CD pipeline
Analyze a case study (e.g., Equifax breach) and propose mitigation strategies
3|Page