À propos de ce cours
6,295 consultations récentes

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 17 heures pour terminer

Recommandé : 4 weeks of study, 5-6 hours/week...

Anglais

Sous-titres : Anglais

Ce que vous allez apprendre

  • Check

    Apply “what to watch out for” and “where to look” to evaluate fragility of C++ library code.

  • Check

    Given a fragile C++ library, code a robust version.

  • Check

    Identify problems w/ privilege, trusted environments, input validation, files & sub-processes, resource mngmt, asynchronicity, & randomness in C/C++.

  • Check

    Remediate examples of problems that apply to C/C++ interactions with the programming environment.

Compétences que vous acquerrez

Identifying vulernabilitiesC/C++ Programming

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 17 heures pour terminer

Recommandé : 4 weeks of study, 5-6 hours/week...

Anglais

Sous-titres : Anglais

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
6 heures pour terminer

Users, Privileges, and Environment Variables

17 vidéos (Total 107 min), 4 lectures, 2 quiz
17 vidéos
Module 1 Introduction2 min
Users and Privileges Overview7 min
Identifying Users and Changing Privileges7 min
Spawning Subprocesses8 min
Identifying Users Incorrectly1 min
Establishing Users and Setting UIDs8 min
Establishing Groups and GIDs3 min
Establishing Privileges for Users and Groups11 min
How Root Privileges Work3 min
Lesson 1 Summary1 min
Environment Variables Overview2 min
Programming Explicitly4 min
Addressing Various Attacks16 min
Dynamic Loading and Associated Attacks16 min
Programming Implicitly3 min
The Moral of the Story5 min
4 lectures
A Note From UC Davis10 min
Who Are You? - What is Going On?10 min
Resetting the PATH - What is Going On?10 min
Multiple PATH Environment Variables - What's Going On?5 min
2 exercices pour s'entraîner
Module 1 Practice Quiz14 min
Module 1 Quiz30 min
Semaine
2
6 heures pour terminer

Validation and Verification, Buffer and Numeric Overflows, and Input Injections

17 vidéos (Total 162 min), 2 lectures, 2 quiz
17 vidéos
Validation and Verification Overview8 min
Metacharacters11 min
The Heartbleed Bug and Other Exploits21 min
Inputs15 min
Fixes6 min
Lesson 3 Summary1 min
Buffer Overflows Overview2 min
Buffer Overflow Examples18 min
Selective Buffer Overflow and Utilizing Canaries17 min
Numeric Overflows Overview7 min
Numeric Overflow Examples8 min
Lesson 4 Summary2 min
Input Injections Overview1 min
Cross-Site Scripting Attacks18 min
SQL Injections10 min
Lesson 5 Summary5 min
2 lectures
Path Names - What's Going On?10 min
Numeric and Buffer Overflows - What's Going On?10 min
2 exercices pour s'entraîner
Module 2 Practice Quiz15 min
Module 2 Quiz30 min
Semaine
3
3 heures pour terminer

Files, Subprocesses, and Race Conditions

13 vidéos (Total 80 min), 1 lecture, 2 quiz
13 vidéos
Files and Subprocesses Overview52s
Creating a Child Process5 min
Subprocess Environment10 min
Files and Subprocesses Design Tips5 min
Lesson 6 Summary2 min
Race Conditions Overview8 min
A Classic Race Condition Example9 min
Time of Check to Time of Use12 min
Programming Condition5 min
Environmental Condition7 min
Race Conditions6 min
Linux Locks and FreeBSD System Calls4 min
1 lecture
The Environmental Condition - What's Going On?10 min
2 exercices pour s'entraîner
Module 3 Practice Quiz15 min
Module 3 Quiz30 min
Semaine
4
7 heures pour terminer

Randomness, Cryptography, and Other Topics

19 vidéos (Total 97 min), 4 lectures, 2 quiz
19 vidéos
Randomness and Cryptography Overview2 min
Pseudorandom vs. Random6 min
Producing Random Numbers4 min
Sowing Seeds12 min
Cryptography Basics3 min
Using Cryptography for Secrecy and Integrity8 min
Some Cryptography Examples9 min
Lesson 8 Summary1 min
Handling Sensitive Information and Errors and Formatting Strings Overview1 min
All About Passwords7 min
Adding a Pinch of Salt4 min
Managing Sensitive Data4 min
Practice a Secure Function8 min
Error Handling Part 14 min
Error Handling Part 26 min
Format Strings5 min
Lesson 9 Summary2 min
Course Summary52s
4 lectures
(Pseudo) Random Numbers - What's Going On?10 min
Hashing and Cracking Passwords - What's Going On?10 min
A Safe system() Function - What's Going On?10 min
Converting Strings to Integers - What's Going On?10 min
2 exercices pour s'entraîner
Module 4 Practice Quiz15 min
Module 4 Quiz30 min

Enseignant

Avatar

Matthew Bishop, PhD

Professor
Department of Computer Science

À propos de Université de Californie à Davis

UC Davis, one of the nation’s top-ranked research universities, is a global leader in agriculture, veterinary medicine, sustainability, environmental and biological sciences, and technology. With four colleges and six professional schools, UC Davis and its students and alumni are known for their academic excellence, meaningful public service and profound international impact....

À propos du Spécialisation Secure Coding Practices

This Specialization is intended for software developers of any level who are not yet fluent with secure coding and programming techniques.Through four courses, you will cover the principles of secure coding, concepts of threat modeling and cryptography and exploit vulnerabilities in both C/C++ and Java languages, which will prepare you to think like a hacker and protect your organizations information. The courses provide ample practice activities including exploiting WebGoat, an OWASP project designed to teach penetration testing....
Secure Coding Practices

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.