University of California, Davis - Principles of Secure Coding
- Offered byCoursera
Principles of Secure Coding at Coursera Overview
Duration | 16 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Principles of Secure Coding at Coursera Highlights
- This Course Plus the Full Specialization.
- Shareable Certificates.
- Graded Programming Assignments.
Principles of Secure Coding at Coursera Course details
- This course introduces you to the principles of secure programming. It begins by discussing the philosophy and principles of secure programming, and then presenting robust programming and the relationship between it and secure programming. We'll go through a detailed example of writing robust code and we'll see many common programming problems and show their connection to writing robust, secure programs in general. We?ll examine eight design principles that govern secure coding and how to apply them to your own work. We?ll discuss how poor design choices drive implementation in coding. We?ll differentiate between informal, formal, and ad hoc coding methods. Throughout, methods for improving the security and robustness of your programs will be emphasized and you will have an opportunity to practice these concepts through various lab activities. A knowledge of the C programming language is helpful, but not required to participate in the lab exercises.
Principles of Secure Coding at Coursera Curriculum
Secure Programming Philosophy
Course Introduction
Module 1 Introduction
The Philosophy of Secure Programming
Defining Secure Programming
Robust vs. Secure Programming
Security Policies and Procedures
Secure Programming General Philosophy
Checking Design and Implementation
Where to Look for Vulnerabilities
Secure Programming Summary
A Note From UC Davis
Module 1 Practice Quiz
Module 1 Quiz
Secure Programming Design Principles
Module 2 Introduction
Secure Programming Design Principles Overview
Principle of Least Privilege
Fail-Safe Defaults
Principle of Economy of Mechanism
Principle of Complete Mediation
Separation of Privilege Principle
Principle of Open Design
Principle of Least Common Mechanism
Principle of Least Astonishment
Secure Programming Design Principles Summary
Complete Mediation - What Is Going On?
Module 2 Practice Quiz
Module 2 Quiz
Robust Programming
Module 3 Introduction
Robust Programming Overview
Robust Programming Basic Principles
An Example Of Fragile Code
Error Handling
Cohesion, New Interfaces, and Token Generation
Token Generation and Interpretation
Creating and Deleting a Queue
Adding and Removing Elements to a Queue
Before You Begin This Module...
Fragile Programs - What Is Going On?
Module 3 Practice Quiz
Module 3 Quiz
Methods for Robustness
Methods for Robustness Overview
Methods Overview: Formal, Informal, and Ad Hoc Methods
Overview of Formal Methods
Login Program Example
Incorporating Hierarchical Decomposition Methodology
Login Program: Authenticating a User
Login Program: Preconditions and Postconditions
Course Summary
Robust Programs - What Is Going On?
Module 4 Practice Quiz
Module 4 Quiz