EdX

Secure Software Development: Verification and More Specialized Topics (edX)

Secure Software Development: Verification and More Specialized Topics (edX)

Learn how to verify software for security, and take a deeper dive into the basics of applying threat models and cryptography. 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 discusses how to verify software for security. In particular, it discusses the various static and dynamic analyses approaches, as well as how to apply them (e.g., in a continuous integration pipeline). It also discusses more specialized topics, such as the basics of how to develop a threat model and how to apply various cryptographic capabilities.
This is the third 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 Verification: How to examine software, include some key tool types, and how to apply them in continuous integration (CI). This includes learning about security code scanners/static application security testing (SAST) tools, software component analysis (SCA)/dependency analysis tools, fuzzers, and web application scanners.
  • Threat modeling/Attack modeling: How to consider your system from an attacker’s point of view and how to apply a simple design analysis approach called STRIDE.
  • Fielding: How to deploy and operate secure software, handle vulnerability reports, and how to rapidly update when reused components have publicly-known vulnerabilities.
  • Assurance cases & formal methods: The basics of approaches to more strongly analyze and justify that your software is secure.

Syllabus

Welcome!
Chapter 1. Verification (basics of verification; static analysis; software component analysis - SCA/dependency analysis; dynamic analysis; other verification topics - combining verification approaches)
Chapter 2. Threat Modeling
Chapter 3. Cryptography (symmetric/shared key encryption; cryptographic hashes (digital fingerprints); public-key (asymmetric) cryptography; cryptographic pseudo-random number generator (PRNG); storing passwords; transport layer security (TLS); other topics in cryptography)
Chapter 4. Other Topics (vulnerability disclosures; assurance cases; distributing, fielding/deploying, operations and disposal; formal methods; top vulnerability lists)
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

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
Unlocking Information Security II: An Internet Perspective (edX) EdX
Tel Aviv University,IsraelX,TAUx

Unlocking Information Security II: An Internet Perspective (edX)

Continue learning how systems are hacked and defended. Information Security is everywhere: as the world becomes more and more digitized, so it becomes more and more hackable. Cyber attacks, data breaches, and even cyber warfare are all very real - so it's infinitely important to understand how hackers think and act, and how you can fight back.

Self Paced
Self-Paced
Transient-Execution Attacks: Understanding Meltdown and Spectre (edX) EdX
Graz University of Technology,TUGrazX

Transient-Execution Attacks: Understanding Meltdown and Spectre (edX)

Beyond software-based side-channel attacks there is a new class of attacks called transient-execution attacks. These attacks go beyond leaking meta-data and directly retrieve secret data but they use side channels as an data exfiltration mechanism to transmit the secret data to an attacker-controlled application. We will look at the most prominent of these attacks: Meltdown, Spectre, Foreshadow, and ZombieLoad. You will implement some of these attacks yourself and learn how to mitigate them.

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
Introduction to Software Side Channels and Mitigations (edX) EdX
Graz University of Technology,TUGrazX

Introduction to Software Side Channels and Mitigations (edX)

Side channels exist in the real world, but they also exist in computers and can be exploited directly from software. This is a substantial computer security problem today, that we need to learn about to be able to stop attacks. In this course, you will learn and practice basic software-based side channels and understand the thought process to utilize a side channel. You will then learn how to mitigate or avoid side channels in software.

Self Paced
5-12 Weeks
Unlocking Information Security I: From Cryptography to Buffer Overflows (edX) EdX
Tel Aviv University,IsraelX,TAUx

Unlocking Information Security I: From Cryptography to Buffer Overflows (edX)

Learn how systems are hacked and defended. Information Security is everywhere: as the world becomes more and more digitized, so it becomes more and more hackable. Cyber attacks, data breaches, and even cyber warfare are all very real - so it is infinitely important to understand how hackers think and act, and how you can fight back.

Self Paced
Self-Paced