- Identify the need for security in your software projects.
- Eliminate vulnerabilities within software.
- Use a Security by Design approach to design a secure architecture for your software.
- Implement common protections to protect users and data.
- Apply various testing methods to find and correct security defects in your software.
- Maintain deployed software to ensure ongoing security.
- Lead Developer
- Application Tester/QA Tester
- Software Designer/Architect
Module 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
Module 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
Module 3 | Designing for Security
- Topic A: Apply General Principles for Secure Design
- Topic B: Design Software to Counter Specific Threats
Module 4 | Developing Secure Code
- Topic A: Follow Best Practices for Secure Coding
- Topic B: Prevent Platform Vulnerabilities
- Topic C: Prevent Privacy Vulnerabilities
Module 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
Module 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
Module 7 | Maintaining Security in Deployed Software
- Topic A: Monitor and Log Applications to Support Security
- Topic B: Maintain Security after Deployment