YoVDO

Secure Software Development: Verification and More Specialized Topics

Offered By: Linux Foundation via edX

Tags

Software Development Courses Cryptography Courses Secure Software Development Courses Public Key Cryptography Courses Threat Modeling Courses Dynamic Analysis Courses Static Analysis Courses

Course Description

Overview

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


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)

Taught by

David A. Wheeler

Tags

Related Courses

Cybersecurity Capstone Project
University of Maryland, College Park via Coursera
Become an (ISC)² Certified Secure Software Lifecycle Professional (CSSLP)
LinkedIn Learning
CSSLP Cert Prep: 1 Secure Software Concepts
LinkedIn Learning
CSSLP Cert Prep: The Basics
LinkedIn Learning
Secure Software Development Fundamentals
Linux Foundation via edX