1 – Identifying the Need for Security in Your Software Projects
- Identifying Security Requirements and Expectations
- Identifying Factors That Undermine Software Security
- Finding Vulnerabilities in Your Software
- Gathering Information on Vulnerabilities and Exploits
2 – Handling Vulnerabilities
- Handling Vulnerabilities Due to Software Bugs and Misconfigurations
- Handling Vulnerabilities Due to Human Factors
- Handling Vulnerabilities Due to Process Shortcomings
3 – Security-Focused Design
- Applying General Principles for Secure Design
- Designing Software to Counter Specific Threats
4 – Developing Secure Code
- Following Best Practices for Secure Programming
- Preventing Platform Vulnerabilities
- Preventing Privacy Vulnerabilities
5 – Implementing Common Protective Measures
- Restricting Access Through Login and User Roles
- Protecting Data in Transit and at Rest
- Implementing Error Handling and Logging
- Protecting Sensitive Data and Functions
- Protecting Database Access
6 – Testing Software Security
- Conducting Security Tests
- Analysing Code to Detect Security Issues
- Using Automated Testing Tools to Detect Security Issues
7 – Maintaining Security in Deployed Software
- Monitoring and Logging Applications to Support Security
- Maintaining Security After Deployment
8 – Appendix A: Mapping Course Content to Cyber Secure Coder (Exam CSC-110)
This course is aimed at software developers, testers and architects who design and develop software in various programming languages and for various platforms such as desktop, web, cloud and mobile, and who want to improve their ability to deliver high-quality software, particularly with regard to security and privacy. The course is also aimed at participants seeking the Logical Operations Cyber Secure Coder (CSC) certification, exam CSC-110.
In this course, you will apply proven software development practices to develop secure software. You will learn:
- Identifying the need for security in your software projects.
- Eliminating vulnerabilities in software.
- Using a security-by-design approach to designing a secure software architecture.
- Implementing common protective measures to protect users and data.
- Applying various testing methods to find and fix security flaws in your software.
- Maintaining deployed software to ensure lasting security.