EdX

Secure Software Development: Requirements, Design, and Reuse (edX)

Secure Software Development: Requirements, Design, and Reuse (edX)

Learn the security basics that allow you 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.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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.
This course is part of the Secure Software Development Fundamentals Professional Certificate.

What you'll learn

  • Security basics: risk management, the “CIA” triad, and requirements.
  • Secure design principles: what are principles such as “least privilege” and how to apply these principles.
  • Supply chain evaluation: tips on how to choose packages to reuse, and how to reuse them so that you can rapidly be alerted & update.

Syllabus

. Welcome!
. Security Basics
. Secure Design Principles
. Reusing External Software
. Final Exam (Verified track only)

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to Cybersecurity (edX) EdX
University of Washington,UWashingtonX

Introduction to Cybersecurity (edX)

An introduction to cybersecurity, ideal for learners who are curious about the world of Internet security and who want to be literate in the field. This course serves as an introduction to the exciting field of cybersecurity. As our daily lives become more and more dependent on Internet-based tools and services, and as those platforms accumulate more of our most sensitive data, the demand grows for experts in the field of cybersecurity.

Self Paced
Self-Paced
Cybersecurity Fundamentals (edX) EdX
Rochester Institute of Technology,RITx

Cybersecurity Fundamentals (edX)

Learn cybersecurity fundamentals, including how to detect threats, protect systems and networks, and anticipate potential cyber attacks. In this introduction to the field of computing security, you will be given an extensive overview of the various branches of computing security. You will learn cybersecurity concepts, issues, and tools that are critical in solving problems in the computing security domain.

Jan 8th 2024
5-12 Weeks
Building a Cybersecurity Toolkit (edX) EdX
University of Washington,UWashingtonX

Building a Cybersecurity Toolkit (edX)

Develop a set of skills and characteristics that expand beyond technical proficiency to become a successful cybersecurity professional. Technologies are always being defeated. If you own an information asset that’s valuable enough to the right adversary, it’s only a matter of time before there’s a breach. Today’s technologies attempt to keep adversaries out, but the sad fact is they will inevitably be defeated. This means a successful cybersecurity professional needs to have an expanded arsenal in their toolkit that extends far beyond technical proficiency.

Self Paced
Self-Paced
IT Fundamentals for Business Professionals: Software development (edX) EdX
Universitat Politècnica de València,UPValenciaX

IT Fundamentals for Business Professionals: Software development (edX)

Working with Information Technology (IT) without the necessary background? Learn the fundamentals of software development. This course is one of the 5 courses of an introductory business information systems series, designed to introduce you to the amazing world of Information Technology.

Self Paced
Self-Paced
Enterprise Software Lifecycle Management (edX) EdX
National Research Nuclear University MEPhI,MEPhIx

Enterprise Software Lifecycle Management (edX)

Learn the best models, methods and practices for effective lifecycle management for large-scale software. Want to manage software development, but unsure where to begin? This computer science course will teach you the models, methods and practices of software development to make the process manageable and result in high-quality and efficient software products.

Self Paced
Self-Paced
Software Construction: Object-Oriented Design (edX) EdX
The University of British Columbia,UBCx

Software Construction: Object-Oriented Design (edX)

Learn how to design large software systems that solve real-world problems using object-oriented design techniques. By the end of the course, you will have a solid foundation in Java and Object-Oriented Design, as well as many software development concepts that can be applied to any language.

Self Paced
Self-Paced
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
Quantum Cryptography (edX) EdX
Caltech,Delft University of Technology

Quantum Cryptography (edX)

Learn how quantum communication provides security that is guaranteed by the laws of nature. How can you tell a secret when everyone is able to listen in? In this course, you will learn how to use quantum effects, such as quantum entanglement and uncertainty, to implement cryptographic tasks with levels of security that are impossible to achieve classically.

No sessions available
5-12 Weeks