About this Course
7,079 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

1-2 years of experience with some form of computer programming language like C/C++ or Java.

Approx. 13 hours to complete

Suggested: 4 weeks of study, 2-5 hours/week...

English

Subtitles: English

Skills you will gain

CryptographyAuthentication Methodssecure programming

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

1-2 years of experience with some form of computer programming language like C/C++ or Java.

Approx. 13 hours to complete

Suggested: 4 weeks of study, 2-5 hours/week...

English

Subtitles: English

Learners taking this Course are

  • Chief Technology Officers (CTOs)
  • Machine Learning Engineers
  • Software Engineers
  • Data Scientists
  • Project Managers

Syllabus - What you will learn from this course

Week
1
5 hours to complete

Foundational Topics in Secure Programming

14 videos (Total 83 min), 3 readings, 2 quizzes
14 videos
Module 1 Introduction1m
Fundamental Concepts in Security8m
The STRIDE Method Via Example9m
STRIDE Threats In More Detail Via Example4m
Trust Boundaries2m
Cryptography Basics Introduction3m
Cryptography Basics: Block Ciphers9m
Cryptography Basics: Symmetric and Asymmetric Cryptography5m
Cryptography Basics: Hash Functions9m
Cryptography Basics: Application to Threat Models4m
Lab: Threat Model Activity3m
OWASP Top 10 Proactive Controls and Exploits - Part 16m
OWASP Top 10 Proactive Controls and Exploits - Part 29m
3 readings
A Note From UC Davis10m
Welcome to Peer Review Assignments!10m
Reading and Resource20m
1 practice exercise
Module 1 Quiz30m
Week
2
3 hours to complete

Injection Problems

17 videos (Total 87 min), 1 reading, 1 quiz
17 videos
General Concepts: Injection Problems4m
SQL Injection Problems8m
Mitigating SQL Injection Using Prepared Statements3m
Mitigating SQL Injection Using Stored Procedures3m
Mitigating SQL Injection Using Whitelisting2m
Injection Problems in Real Life5m
Solution Screencast for Lab: Exploit Using WebGoat's SQLi Example7m
Cross-Site Scripting Introduction3m
HTTP and Document Isolation8m
DOM, Dynamically Generating Pages, and Cross-Site Scripting7m
The 3-Kinds of Cross-Site Scripting Vulnerabilities6m
Comparing and Contrasting Cross-Site Scripting Vulnerabilities3m
OWASP Prescribed Cross-site Scripting Prevention Rules - Part 16m
OWASP Prescribed Cross-site Scripting Prevention Rules - Part 26m
Command Injection Problems3m
OWASP Proactive Controls Related to Injections4m
1 reading
Resources20m
1 practice exercise
Module 2 Quiz30m
Week
3
4 hours to complete

Problems Arising From Broken Authentication

11 videos (Total 71 min), 1 reading, 1 quiz
11 videos
Overview of HTTP Protocol7m
Introduction to Authentication10m
Handling Error Messages During Authentication4m
Introduction to Session Management7m
Enforcing Access Control with Session Management7m
Session Management Threat: Bruteforce Session IDs10m
Session Management Theat: Session Fixation Vulnerabilities3m
Logging and Monitoring3m
Solution for Lab #3: WebGoat’s Session Management Vulnerability9m
OWASP Proactive Controls Related to Session Management and Authentication6m
1 reading
Resources20m
1 practice exercise
Module 3 Quiz30m
Week
4
4 hours to complete

Sensitive Data Exposure Problems

9 videos (Total 36 min), 1 reading, 2 quizzes
9 videos
Introduction to Sensitive Data Exposure Problems5m
Issue 1: Using PII to Compose Session IDs3m
Issue 2: Not Encrypting Sensitive Information2m
Issue 3: Improperly Storing Passwords5m
Slowing Down Password Bruteforce Attacks7m
Issue 4: Using HTTP for Sensitive Client-server4m
OWASP Proactive Controls Related to Sensitive Data Exposure3m
Course Summary1m
1 reading
Resources20m
1 practice exercise
Module 4 Quiz30m

Instructor

Avatar

Sandra Escandor-O'Keefe

Offensive Security Engineer at Fastly
Continuing and Professional Education

About University of 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....

About the Secure Coding Practices Specialization

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

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.