Secure Software Development: Requirements, Design, and Reuse
About this Course
Modern software is under constant attack, but many software developers have never been told how to effectively counter those attacks. This course works to solve that problem, by explaining the fundamentals of developing secure software. 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. 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 discusses 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 discusses 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. This is the first of the three courses in the Secure Software Development Fundamentals Professional Certificate program, and was developed by the Open Source Security Foundation (OpenSSF), a project of the Linux Foundation focused on securing the open source ecosystem. The training courses included in this program focus on practical steps that you (as a developer) can take to counter most common kinds of attacks.Created by: The Linux Foundation
Level: Introductory
Related Online Courses
Water has served and sustained societies throughout history. Understanding the complex and diverse water systems of the past is key to devising sustainable development for the future with regard to... more
¿Y si la solución a muchas de las problemáticas sociales se diera al interconectarnos mejor entre humanos y el mundo real por medio de dispositivos electrónicos? Desde esta posibilidad se abo... more
Are you or your team starting to use Jenkins as a CI/CD tool? Are you looking to automate your software delivery process? Do you need guidelines on how to set up your CI/CD workflow using Jenkins... more
Please Note: Learners who successfully complete this IBM course can earn a skill badge — a detailed, verifiable and digital credential that profiles the knowledge and skills you’ve acquired in thi... more
Building and distributing software that is secure throughout its entire lifecycle can be challenging, leaving many projects unprepared to build securely by default. Attacks and vulnerabilities can... more