Principles of Secure Coding

所在平台: Coursera

课程主页: https://www.coursera.org/learn/secure-coding-principles

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:安全编码原理 概述:本课程向您介绍安全编程的基本原理。课程首先讨论安全编程的哲学和原则,然后呈现稳健编程及其与安全编程的关系。我们将通过详细的实例探索如何编写稳健代码,分析许多常见的编程问题,以及它们与编写稳健且安全程序的联系。课程将考察八个治理安全编码的设计原则,并介绍如何将这些原则应用到自己的工作中。同时,我们还会探讨不良设计选择如何影响代码实现。课程将区分非正式、正式和即兴编码方法。整个过程强调改进程序安全性和稳健性的方法,并通过各种实验活动提供实践机会。虽然对C语言的知识有帮助,但并非参与实验练习的必要条件。 课程大纲: 1. **安全编程哲学**:在此模块中,您将能够描述安全编程中的关键概念,包括常见问题和程序。您能够区分稳健编程与安全编程,并从“需要注意什么”和“关注哪里”的哲学推导出具体情境。 2. **安全编程设计原则**:在此模块中,您将能够记住八条治理安全编程的软件设计原则。您将编写一小段程序(使用任意编程语言)来确定系统是否执行了完全调解原则。您将能够将Saltzer、Schroeder和Kaashoek的设计原则应用到编码情境中。 3. **稳健编程**:在此模块中,您将能够解释脆弱编程可能引发的问题。您将能够讨论设计问题如何推动实现,并区分稳健代码与脆弱代码。您将能够解释脆弱代码中的潜在问题,并编写脆弱代码的稳健版本。 4. **稳健性的方法**:在此模块中,您将能够描述如何使用模仿正式方法的技术来提高程序的稳健性和安全性。您还将能够比较和对比正式、非正式和即兴编程方法。您将编写一个程序来演示不良编写的程序或库如何导致错误结果。 通过本课程的学习,您将掌握安全编码的核心概念和实践技巧,提高您的编程能力和程序安全性。

课程大纲

Name:Secure Programming Philosophy

Description:In this module, you'll be able to describe key concepts in secure programming including typical problems and procedures. You'll be able to differentiate between robust programming and secure programming and you'll generalize from philosophies of "what to watch out for" and "where to look" to specific situations.

Name:Secure Programming Design Principles

Description:In this module, you will be able to recall eight software design principles that govern secure programming. You will write a short program, in any language you like, to determine whether the system enforces the Principle of Complete Mediation. You'll be able to apply design principles from Saltzer, Schroeder and Kaashoek to code situations.

Name:Robust Programming

Description:In this module, you will be able to explain the issues that can arise from fragile programming. You'll be able to discuss how design issues drive implementation and be able to distinguish between robust and fragile code. You'll be able to explain what can go wrong in fragile code and be able to write a robust version of fragile code.

Name:Methods for Robustness

Description:In this module, you will be able to describe how to use techniques that mimic formal methods to improve the robustness and security of programs. You will also be able to compare and contrast formal, informal, and ad hoc programming methods. You'll be able to write a program to demonstrate how a poorly-written program or library can cause incorrect results.

课程评论(0条)

课程详情

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.

课程标签

0人关注该课程

主题相关的课程