Learn the security basics to develop software that is hardened against attacks, and understand how you can reduce the damage and speed the response when a vulnerability is exploited. This course is designed to give you an overview of security basics, including system security requirements, secure design principles and best practices, and how to securely select and reuse software for your systems.
Geared towards software developers, DevOps professionals, software engineers, web application developers, and others interested in learning how to develop secure software, this course focuses on practical steps that can be taken, even with limited resources, to improve information security.
This course will enable software developers to create and maintain systems that are much harder to successfully attack, reduce the damage when attacks are successful, and speed the response so that any latent vulnerabilities can be rapidly repaired.
What you’ll learn:
This course discusses the basics of security, such as what risk management really means. It discusses how to consider security as part of the requirements of a system, and what potential security requirements you might consider. This part then focuses on how to design software to be secure, including various secure design principles that will help you avoid bad designs and embrace good ones. It also considers how to secure your software supply chain, that is, how to more securely select and acquire reused software (including open source software) to enhance security.
- Chapter 1. Security Basics
- Chapter 2. Secure Design Principles
- Chapter 3. Reusing External Software
- Final Exam (Verified Track only)
Length: 7 weeks
Effort: 1-2 hours per week