0% found this document useful (0 votes)
3 views3 pages

Software Security

The document outlines a course on Software Security, led by Mr. Ernest Bumbo, focusing on secure coding principles, authentication, access control, and vulnerability mitigation. It includes four chapters covering foundational topics, practical labs, and real-world case studies to enhance students' understanding of security in software development. Learning outcomes emphasize the application of security measures throughout the software lifecycle and the use of industry tools for testing and deployment.

Uploaded by

temmybryan74
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views3 pages

Software Security

The document outlines a course on Software Security, led by Mr. Ernest Bumbo, focusing on secure coding principles, authentication, access control, and vulnerability mitigation. It includes four chapters covering foundational topics, practical labs, and real-world case studies to enhance students' understanding of security in software development. Learning outcomes emphasize the application of security measures throughout the software lifecycle and the use of industry tools for testing and deployment.

Uploaded by

temmybryan74
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like