Acerca de este Curso
3,952 vistas recientes

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.

Nivel intermedio

Aprox. 20 horas para completar

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

Inglés (English)

Subtítulos: Inglés (English)
User
Los estudiantes que toman este Course son
  • Machine Learning Engineers
  • Software Engineers
  • Engineers

Qué aprenderás

  • 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 obtendrás

Identifying vulernabilitiesC/C++ Programming
User
Los estudiantes que toman este Course son
  • Machine Learning Engineers
  • Software Engineers
  • Engineers

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.

Nivel intermedio

Aprox. 20 horas para completar

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

Inglés (English)

Subtítulos: Inglés (English)

Programa - Qué aprenderás en este curso

Semana
1
6 horas para completar

Users, Privileges, and Environment Variables

17 videos (Total 107 minutos), 4 lecturas, 2 cuestionarios
17 videos
Module 1 Introduction2m
Users and Privileges Overview7m
Identifying Users and Changing Privileges7m
Spawning Subprocesses8m
Identifying Users Incorrectly1m
Establishing Users and Setting UIDs8m
Establishing Groups and GIDs3m
Establishing Privileges for Users and Groups11m
How Root Privileges Work3m
Lesson 1 Summary1m
Environment Variables Overview2m
Programming Explicitly4m
Addressing Various Attacks16m
Dynamic Loading and Associated Attacks16m
Programming Implicitly3m
The Moral of the Story5m
4 lecturas
A Note From UC Davis10m
Who Are You? - What is Going On?10m
Resetting the PATH - What is Going On?10m
Multiple PATH Environment Variables - What's Going On?5m
2 ejercicios de práctica
Module 1 Practice Quiz14m
Module 1 Quiz30m
Semana
2
6 horas para completar

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

17 videos (Total 162 minutos), 2 lecturas, 2 cuestionarios
17 videos
Validation and Verification Overview8m
Metacharacters11m
The Heartbleed Bug and Other Exploits21m
Inputs15m
Fixes6m
Lesson 3 Summary1m
Buffer Overflows Overview2m
Buffer Overflow Examples18m
Selective Buffer Overflow and Utilizing Canaries17m
Numeric Overflows Overview7m
Numeric Overflow Examples8m
Lesson 4 Summary2m
Input Injections Overview1m
Cross-Site Scripting Attacks18m
SQL Injections10m
Lesson 5 Summary5m
2 lecturas
Path Names - What's Going On?10m
Numeric and Buffer Overflows - What's Going On?10m
2 ejercicios de práctica
Module 2 Practice Quiz15m
Module 2 Quiz30m
Semana
3
3 horas para completar

Files, Subprocesses, and Race Conditions

13 videos (Total 80 minutos), 1 lectura, 2 cuestionarios
13 videos
Files and Subprocesses Overview52s
Creating a Child Process5m
Subprocess Environment10m
Files and Subprocesses Design Tips5m
Lesson 6 Summary2m
Race Conditions Overview8m
A Classic Race Condition Example9m
Time of Check to Time of Use12m
Programming Condition5m
Environmental Condition7m
Race Conditions6m
Linux Locks and FreeBSD System Calls4m
1 lectura
The Environmental Condition - What's Going On?10m
2 ejercicios de práctica
Module 3 Practice Quiz15m
Module 3 Quiz30m
Semana
4
7 horas para completar

Randomness, Cryptography, and Other Topics

19 videos (Total 97 minutos), 4 lecturas, 2 cuestionarios
19 videos
Randomness and Cryptography Overview2m
Pseudorandom vs. Random6m
Producing Random Numbers4m
Sowing Seeds12m
Cryptography Basics3m
Using Cryptography for Secrecy and Integrity8m
Some Cryptography Examples9m
Lesson 8 Summary1m
Handling Sensitive Information and Errors and Formatting Strings Overview1m
All About Passwords7m
Adding a Pinch of Salt4m
Managing Sensitive Data4m
Practice a Secure Function8m
Error Handling Part 14m
Error Handling Part 26m
Format Strings5m
Lesson 9 Summary2m
Course Summary52s
4 lecturas
(Pseudo) Random Numbers - What's Going On?10m
Hashing and Cracking Passwords - What's Going On?10m
A Safe system() Function - What's Going On?10m
Converting Strings to Integers - What's Going On?10m
2 ejercicios de práctica
Module 4 Practice Quiz15m
Module 4 Quiz30m

Instructor

Avatar

Matthew Bishop, PhD

Professor
Department of Computer Science

Acerca de Universidad de California, 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....

Acerca de Programa especializado 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

Preguntas Frecuentes

  • Una vez que te inscribes para obtener un Certificado, tendrás acceso a todos los videos, cuestionarios y tareas de programación (si corresponde). Las tareas calificadas por compañeros solo pueden enviarse y revisarse una vez que haya comenzado tu sesión. Si eliges explorar el curso sin comprarlo, es posible que no puedas acceder a determinadas tareas.

  • Cuando te inscribes en un curso, obtienes acceso a todos los cursos que forman parte del Programa especializado y te darán un Certificado cuando completes el trabajo. Se añadirá tu Certificado electrónico a la página Logros. Desde allí, puedes imprimir tu Certificado o añadirlo a tu perfil de LinkedIn. Si solo quieres leer y visualizar el contenido del curso, puedes auditar el curso sin costo.

¿Tienes más preguntas? Visita el Centro de Ayuda al Alumno.