Lesson 1:Identifying the Need for Security in Your Software Projects
Topic A:Identify Security Requirements and Expectations
Topic B:Identify Factors That Undermine Software Security
Topic C:Find Vulnerabilities in Your Software
Topic D:Gather Intelligence on Vulnerabilities and Exploits
Lesson 2:Handling Vulnerabilities
Topic A:Handle Vulnerabilities Due to Software Defects and Misconfiguration
Topic B:Handle Vulnerabilities Due to Human Factors
Topic C:Handle Vulnerabilities Due to Process Shortcomings
Lesson 3:Designing for Security
Topic A:Apply General Principles for Secure Design
Topic B:Design Software to Counter Specific Threats
Lesson 4:Developing Secure Code
Topic A:Follow Best Practices for Secure Coding
Topic B:Prevent Platform Vulnerabilities
Topic C:Prevent Privacy Vulnerabilities
Lesson 5:Implementing Common Protections
Topic A:Limit Access Using Login and User Roles
Topic B:Protect Data in Transit and At Rest
Topic C:Implement Error Handling and Logging
Topic D:Protect Sensitive Data and Functions
Topic E:Protect Database Access
Lesson 6:Testing Software Security
Topic A:Perform Security Testing
Topic B:Analyze Code to find Security Problems
Topic C:Use Automated Testing Tools to Find Security Problems
Lesson 7:Maintaining Security in Deployed Software
Topic A:Monitor and Log Applications to Support Security
Topic B:Maintain Security after Deployment
Appendix A:Mapping Course Content to Cyber Secure Coder (Exam CSC-110)