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

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
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
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
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
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
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
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