EdX

Secure Software Development: Implementation (edX)

Secure Software Development: Implementation (edX)

Learn the practical steps software developers can take, even if they have limited resources, to implement secure software. 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.

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

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 focuses on key implementation issues: input validation (such as why allowlists should be used and not denylists), processing data securely, calling out to other programs, sending output, and error handling. It focuses on practical steps that you (as a developer) can take to counter the most common kinds of attacks.
This is the second 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.
This course is part of the Secure Software Development Fundamentals Professional Certificate.

What you'll learn
Implementation: You’ll learn how to implement much more secure software. This includes how to do Input validation, process data securely, call out to other programs, and send output. You’ll also learn about more specialized approaches, including some basics of cryptography and handling problems (such as error-handling code).

Syllabus

Welcome!
Chapter 1. Input Validation
Chapter 2. Processing Data Securely
Chapter 3. Calling Other Programs
Chapter 4. Sending Output
Final Exam (Verified Certificate 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

Cybersecurity Capstone and Case Studies (edX) EdX
IBM

Cybersecurity Capstone and Case Studies (edX)

Research real-world data breaches and explore different incident response methodologies and security models. This course is part of the IBM Cybersecurity Analyst Professional Certificate! Throughout this course, you will delve into incident response methodologies and security models through case studies, equipping yourself with effective strategies for handling security incidents. You will also learn to identify and categorize various types of vulnerabilities and associated attacks commonly faced by modern organizations.

Self Paced
Self-Paced
AWS Cloud Technical Essentials (edX) EdX
AWS

AWS Cloud Technical Essentials (edX)

Kick off your cloud career by learning the fundamentals of AWS products, services, and solutions and basic concepts of database, storage, networking, security and cloud computing. Are you in a technical role and want to learn the fundamentals of AWS? Do you aspire to have a job or career as a cloud developer, architect, or in an operations role? If so, this course is an ideal way to start, as it requires no prior knowledge of cloud computing or AWS products and services.

Self Paced
Self-Paced
Introduction to Cloud Computing (edX) EdX
IBM

Introduction to Cloud Computing (edX)

Master the core concepts in Cloud Computing, from service and deployment models, to cloud architecture, security, new technologies, and possible careers. This course introduces you to the core concepts of cloud computing. You will gain the foundational knowledge required for understanding cloud computing from both business and practitioner perspectives.

Self Paced
Self-Paced
Compilers (edX) EdX
StanfordOnline

Compilers (edX)

This self-paced course will discuss the major ideas used today in the implementation of programming language compilers, including lexical analysis, parsing, syntax-directed translation, abstract syntax trees, types and type checking, intermediate languages, dataflow analysis, program optimization, code generation, and runtime systems.

Self Paced
Self-Paced
Introduction to RISC-V (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to RISC-V (edX)

Discover various aspects of RISC-V, including technical aspects, specifications and the community ecosystem. RISC-V is a free and open instruction set architecture (ISA) enabling a new era of processor innovation through open standard collaboration. This course will guide you through the various aspects of understanding the RISC-V community ecosystem, the RISC-V specifications, and some technical aspects of working with RISC-V.

Self Paced
Self-Paced
Humanitarian Action in the Digital Age (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

Humanitarian Action in the Digital Age (edX)

The first MOOC about responsible use of technology for humanitarians. Learn about technology and identify risks and opportunities when designing digital solutions. As humanitarian practitioner, you are interested in technology but you feel it should be used more responsibly? You are worried people tend to jump on opportunities without properly considering risks? This MOOC is for you!

Self Paced
Self-Paced
How to Code: Complex Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Complex Data (edX)

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion. As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain. By learning how to capture common data and control structures using abstraction, your programs will get shorter and better tested.

Self Paced
Self-Paced
Between Physical and Sofware: Fault Attacks, Side Channels, and Mitigations (edX) EdX
Graz University of Technology,TUGrazX

Between Physical and Sofware: Fault Attacks, Side Channels, and Mitigations (edX)

Fault attacks (sometimes also called active side-channel attacks ) are a very powerful means that goes beyond just leaking secrets from an application or device, to actively manipulating it. We will look at fault attacks that can be triggered from software, namely Rowhammer and Plundervolt. We will also learn that some transient-execution attacks have some similarities to fault attacks. You will implement some of these attacks yourself and learn how they are mitigated.

Self Paced
Self-Paced
Arctic Security Fundamentals (edX) EdX
University of Alaska Fairbanks,AlaskaX

Arctic Security Fundamentals (edX)

This course explores the present-day security situation of the Arctic through a focus on the key stakeholders responsible for diplomacy and defense. The Arctic: a region of frigid waters, tundra, and prolonged periods of light and darkness. While it may seem desolate, the Circumpolar North holds a wealth of resources and opportunities for nations and the Indigenous peoples who live there.

Self Paced
Self-Paced
Wiretaps to Big Data: Privacy and Surveillance in the Age of Interconnection (edX) EdX
Cornell University

Wiretaps to Big Data: Privacy and Surveillance in the Age of Interconnection (edX)

Explore the privacy issues of an interconnected world. How does cellular technology enable massive surveillance? Do users have rights against surveillance? How does surveillance affect how we use cellular and other technologies? How does it affect our democratic institutions? Do you know that the metadata collected by a cellular network speaks volumes about its users? In this course you will explore all of these questions while investigating related issues in WiFi and Internet surveillance.

No sessions available
5-12 Weeks
Computing in Python II: Control Structures (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python II: Control Structures (edX)

Learn about control structures, one of the most powerful parts of programming. This course covers conditionals, loops, functions, and error handling, specifically in Python but with broader applicability to other languages as well. Building on your prior knowledge of variables and operators, this course gets into the meat of programming. Organized into five chapters, this course starts by covering the fundamentals of what control structures are and what they do, then moves on to four common control structures in Python.

Self Paced
Self-Paced