Identifying Security Vulnerabilities in C/C++Programming

Rated 2.9 out of 5

This course builds upon the skills and coding practices learned in both Principles of Secure Coding and Identifying Security Vulnerabilities courses one and two in this specialization.

This course uses the focusing technique that asks you to think about: “what to watch out for” and “where to look” to evaluate and ultimately remediate fragile C++ library code.

6 hours to complete
Users Privileges and Environment Variables
In this module you will be able to manage users and privileges when you run programs or sub-programs. You will be able to identify and use the different types of privileges on a Linux (and UNIX-like) system. You'll be able to identify how program shells preserve environment settings. You will be able to examine how your shell (or other program that uses the PATH variable) deals with multiple versions of that variable.
17 videos (Total 107 min) 4 readings 2 quizzes

6 hours to complete
Validation and Verification Buffer and Numeric Overflows and Input Injections
In this module you will be able to breakdown how the process of checking inputs known as validation and verification works. You will be able to avoid and buffer numeric overflows in your programs. You will be able to discover what happens when you call functions with parameters that cause overflows. And finally you will be able to detect various input injections such as cross-site scripting and SQL injections and be able to describe the consequences of not examining input.
17 videos (Total 162 min) 2 readings 2 quizzes

3 hours to complete
Files Subprocesses and Race Conditions
In this module you will be able to describe how files and subprocesses interact and be able to create subprocesses and shell scripts. You will also be able to identify and prevent race conditions in your programs and practice cleaning out environments to make them safe for untrusted subprocesses.
13 videos (Total 80 min) 1 reading 2 quizzes

7 hours to complete
Randomness Cryptography and Other Topics
In this module you will be able to distinguish between pseudo-randomness and actual randomness. You will be able to apply randomness in the coding environment and generate random numbers and look at their distribution. You'll be able to identify and describe how and why cryptography is used as well as why you should use trusted cryptography code libraries instead of crafting your own solution. You will be able to analyze and consider best practices for handling sensitive information passwords crypto keys how to handle errors in security sensitive programs and how to defend against string attacks. You will be able to hash a password and then try to guess another one. You will be able to practice cleaning out environments to make them safe for untrusted subprocesses as well as practice handling integer overflow.
19 videos (Total 97 min) 4 readings 2 quizzes

Tham gia đánh giá khóa học

Nếu bạn đã học qua khóa học này thì mời bạn tham gia đóng góp ý kiến và đánh giá để cộng đồng bạn học có thêm thông tin tham khảo.

Thời lượng: 22 hours
Ngôn ngữ giảng dạy: Tiếng Anh
Chi phí: Miễn phí / 0
Đối tượng: Intermediate

Thông tin về nhà cung cấp

Coursera (/ kərˈsɛrə /) là một nền tảng học tập trực tuyến toàn cầu được thành lập vào năm 2012 bởi 2 giáo sư khoa học máy tính của đại học Stanford là Andrew NgDaphne Koller, nền tảng này cung cấp các khóa học trực tuyến (MOOC) cho cộng đồng người học online.

Coursera hợp tác với các trường đại học danh tiếng tại Bắc Mỹ và trên khắp thế giới, cùng với nhiều tổ chức khác để cung cấp các khóa học trực tuyến chất lượng, theo chuyên ngành và được cấp chứng chỉ trong nhiều lĩnh vực như kỹ thuật, khoa học dữ liệu, học máy, toán học, kinh doanh, khoa học máy tính, tiếp thị kỹ thuật số, nhân văn, y học, sinh học, khoa học xã hội , và nhiều ngành khác.

Các khóa học cùng chủ đề

Azure Infrastructure Fundamentals

Microsoft Azure is a service created by Microsoft to provide cloud computing for creating and managing applications and services using a cloud environment. Azure provides software as a service (SaaS)...

Secure Networked System with Firewall and IDS

In this MOOC we will focus on learning how network systems are secured using firewalls and IDS. This will include understanding the basic components of network security constructing a dual-firewall...

Basic Cryptography and Programming with Crypto API

In this MOOC we will learn the basic concepts and principles of crytography apply basic cryptoanalysis to decrypt messages encrypted with mono-alphabetic substitution cipher and discuss the strongest encryption technique...

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top