Informações sobre o curso
4,672 visualizações recentes

100% on-line

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 17 horas para completar

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

Inglês

Legendas: Inglês

O que você vai aprender

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

Habilidades que você terá

Identifying vulernabilitiesC/C++ Programming

100% on-line

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível intermediário

Aprox. 17 horas para completar

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

Inglês

Legendas: Inglês

Programa - O que você aprenderá com este curso

Semana
1
6 horas para concluir

Users, Privileges, and Environment Variables

17 vídeos (Total 107 mín.), 4 leituras, 2 testes
17 videos
Module 1 Introduction2min
Users and Privileges Overview7min
Identifying Users and Changing Privileges7min
Spawning Subprocesses8min
Identifying Users Incorrectly1min
Establishing Users and Setting UIDs8min
Establishing Groups and GIDs3min
Establishing Privileges for Users and Groups11min
How Root Privileges Work3min
Lesson 1 Summary1min
Environment Variables Overview2min
Programming Explicitly4min
Addressing Various Attacks16min
Dynamic Loading and Associated Attacks16min
Programming Implicitly3min
The Moral of the Story5min
4 leituras
A Note From UC Davis10min
Who Are You? - What is Going On?10min
Resetting the PATH - What is Going On?10min
Multiple PATH Environment Variables - What's Going On?5min
2 exercícios práticos
Module 1 Practice Quiz14min
Module 1 Quiz30min
Semana
2
6 horas para concluir

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

17 vídeos (Total 162 mín.), 2 leituras, 2 testes
17 videos
Validation and Verification Overview8min
Metacharacters11min
The Heartbleed Bug and Other Exploits21min
Inputs15min
Fixes6min
Lesson 3 Summary1min
Buffer Overflows Overview2min
Buffer Overflow Examples18min
Selective Buffer Overflow and Utilizing Canaries17min
Numeric Overflows Overview7min
Numeric Overflow Examples8min
Lesson 4 Summary2min
Input Injections Overview1min
Cross-Site Scripting Attacks18min
SQL Injections10min
Lesson 5 Summary5min
2 leituras
Path Names - What's Going On?10min
Numeric and Buffer Overflows - What's Going On?10min
2 exercícios práticos
Module 2 Practice Quiz15min
Module 2 Quiz30min
Semana
3
3 horas para concluir

Files, Subprocesses, and Race Conditions

13 vídeos (Total 80 mín.), 1 leitura, 2 testes
13 videos
Files and Subprocesses Overview52s
Creating a Child Process5min
Subprocess Environment10min
Files and Subprocesses Design Tips5min
Lesson 6 Summary2min
Race Conditions Overview8min
A Classic Race Condition Example9min
Time of Check to Time of Use12min
Programming Condition5min
Environmental Condition7min
Race Conditions6min
Linux Locks and FreeBSD System Calls4min
1 leituras
The Environmental Condition - What's Going On?10min
2 exercícios práticos
Module 3 Practice Quiz15min
Module 3 Quiz30min
Semana
4
7 horas para concluir

Randomness, Cryptography, and Other Topics

19 vídeos (Total 97 mín.), 4 leituras, 2 testes
19 videos
Randomness and Cryptography Overview2min
Pseudorandom vs. Random6min
Producing Random Numbers4min
Sowing Seeds12min
Cryptography Basics3min
Using Cryptography for Secrecy and Integrity8min
Some Cryptography Examples9min
Lesson 8 Summary1min
Handling Sensitive Information and Errors and Formatting Strings Overview1min
All About Passwords7min
Adding a Pinch of Salt4min
Managing Sensitive Data4min
Practice a Secure Function8min
Error Handling Part 14min
Error Handling Part 26min
Format Strings5min
Lesson 9 Summary2min
Course Summary52s
4 leituras
(Pseudo) Random Numbers - What's Going On?10min
Hashing and Cracking Passwords - What's Going On?10min
A Safe system() Function - What's Going On?10min
Converting Strings to Integers - What's Going On?10min
2 exercícios práticos
Module 4 Practice Quiz15min
Module 4 Quiz30min

Instrutores

Avatar

Matthew Bishop, PhD

Professor
Department of Computer Science

Sobre Universidade da Califórnia, 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....

Sobre Programa de cursos integrados 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

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • Quando você se inscreve no curso, tem acesso a todos os cursos na Especialização e pode obter um certificado quando concluir o trabalho. Seu Certificado eletrônico será adicionado à sua página de Participações e você poderá imprimi-lo ou adicioná-lo ao seu perfil no LinkedIn. Se quiser apenas ler e assistir o conteúdo do curso, você poderá frequentá-lo como ouvinte sem custo.

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.