Об этом курсе
Недавно просмотрено: 4,288

100% онлайн

Начните сейчас и учитесь по собственному графику.

Курс 3 из 4 в программе

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Промежуточный уровень

Прибл. 17 часа на выполнение

Предполагаемая нагрузка: 4 weeks of study, 5-6 hours/week...

Английский

Субтитры: Английский

Чему вы научитесь

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

Приобретаемые навыки

Identifying vulernabilitiesC/C++ Programming

100% онлайн

Начните сейчас и учитесь по собственному графику.

Курс 3 из 4 в программе

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Промежуточный уровень

Прибл. 17 часа на выполнение

Предполагаемая нагрузка: 4 weeks of study, 5-6 hours/week...

Английский

Субтитры: Английский

Программа курса: что вы изучите

Неделя
1
6 ч. на завершение

Users, Privileges, and Environment Variables

17 видео ((всего 107 мин.)), 4 материалов для самостоятельного изучения, 2 тестов
17 видео
Module 1 Introduction2мин
Users and Privileges Overview7мин
Identifying Users and Changing Privileges7мин
Spawning Subprocesses8мин
Identifying Users Incorrectly1мин
Establishing Users and Setting UIDs8мин
Establishing Groups and GIDs3мин
Establishing Privileges for Users and Groups11мин
How Root Privileges Work3мин
Lesson 1 Summary1мин
Environment Variables Overview2мин
Programming Explicitly4мин
Addressing Various Attacks16мин
Dynamic Loading and Associated Attacks16мин
Programming Implicitly3мин
The Moral of the Story5мин
4 материала для самостоятельного изучения
A Note From UC Davis10мин
Who Are You? - What is Going On?10мин
Resetting the PATH - What is Going On?10мин
Multiple PATH Environment Variables - What's Going On?5мин
2 практического упражнения
Module 1 Practice Quiz14мин
Module 1 Quiz30мин
Неделя
2
6 ч. на завершение

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

17 видео ((всего 162 мин.)), 2 материалов для самостоятельного изучения, 2 тестов
17 видео
Validation and Verification Overview8мин
Metacharacters11мин
The Heartbleed Bug and Other Exploits21мин
Inputs15мин
Fixes6мин
Lesson 3 Summary1мин
Buffer Overflows Overview2мин
Buffer Overflow Examples18мин
Selective Buffer Overflow and Utilizing Canaries17мин
Numeric Overflows Overview7мин
Numeric Overflow Examples8мин
Lesson 4 Summary2мин
Input Injections Overview1мин
Cross-Site Scripting Attacks18мин
SQL Injections10мин
Lesson 5 Summary5мин
2 материала для самостоятельного изучения
Path Names - What's Going On?10мин
Numeric and Buffer Overflows - What's Going On?10мин
2 практического упражнения
Module 2 Practice Quiz15мин
Module 2 Quiz30мин
Неделя
3
3 ч. на завершение

Files, Subprocesses, and Race Conditions

13 видео ((всего 80 мин.)), 1 материал для самостоятельного изучения, 2 тестов
13 видео
Files and Subprocesses Overview52
Creating a Child Process5мин
Subprocess Environment10мин
Files and Subprocesses Design Tips5мин
Lesson 6 Summary2мин
Race Conditions Overview8мин
A Classic Race Condition Example9мин
Time of Check to Time of Use12мин
Programming Condition5мин
Environmental Condition7мин
Race Conditions6мин
Linux Locks and FreeBSD System Calls4мин
1 материал для самостоятельного изучения
The Environmental Condition - What's Going On?10мин
2 практического упражнения
Module 3 Practice Quiz15мин
Module 3 Quiz30мин
Неделя
4
7 ч. на завершение

Randomness, Cryptography, and Other Topics

19 видео ((всего 97 мин.)), 4 материалов для самостоятельного изучения, 2 тестов
19 видео
Randomness and Cryptography Overview2мин
Pseudorandom vs. Random6мин
Producing Random Numbers4мин
Sowing Seeds12мин
Cryptography Basics3мин
Using Cryptography for Secrecy and Integrity8мин
Some Cryptography Examples9мин
Lesson 8 Summary1мин
Handling Sensitive Information and Errors and Formatting Strings Overview1мин
All About Passwords7мин
Adding a Pinch of Salt4мин
Managing Sensitive Data4мин
Practice a Secure Function8мин
Error Handling Part 14мин
Error Handling Part 26мин
Format Strings5мин
Lesson 9 Summary2мин
Course Summary52
4 материала для самостоятельного изучения
(Pseudo) Random Numbers - What's Going On?10мин
Hashing and Cracking Passwords - What's Going On?10мин
A Safe system() Function - What's Going On?10мин
Converting Strings to Integers - What's Going On?10мин
2 практического упражнения
Module 4 Practice Quiz15мин
Module 4 Quiz30мин

Преподаватели

Avatar

Matthew Bishop, PhD

Professor
Department of Computer Science

О Калифорнийский университет в Девисе

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

Специализация 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

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

  • Записавшись на курс, вы получите доступ ко всем курсам в специализации, а также возможность получить сертификат о его прохождении. После успешного прохождения курса на странице ваших достижений появится электронный сертификат. Оттуда его можно распечатать или прикрепить к профилю LinkedIn. Просто ознакомиться с содержанием курса можно бесплатно.

Остались вопросы? Посетите Центр поддержки учащихся.