HOME / CATALOG / SOFTWARE SECURITY FUNDAMENTALS
EARLY ACCESSWEB SECURITY FOUNDATIONS PATHLIFETIME ACCESS

Software Security Fundamentals

Self-paced video training — 7 modules, 49 lessons. Work through it at your own pace — every lesson is real practitioner training, not slide-reading.

7
MODULES
49
LESSONS
720p
STREAMING
LIFE
ACCESS
▶INSIDE THE COURSE · 49 LESSONS
UNLOCKS INSTANTLY AFTER CHECKOUTSEE THE CURRICULUM ↓

ABOUT THIS COURSE

Software security fundamentals: 49 lessons on how software fails and how it's defended — secure development practices, common vulnerability patterns and the mitigations that remove them.

A good fit for developers moving toward security work, and for security learners who want grounding in the code side.

CURRICULUM

7 modules, in order.

49 LESSONS · LIFETIME ACCESS
01Interviews3 LESSONS
▶Andy Chou interview

This lesson features an interview with Andy Chou discussing software security.

▶Gary McGraw Interview

This lesson features an interview with Gary McGraw focusing on software security principles.

▶Patric Godfroid interview

This lesson features an interview with Patric Godfroid covering his insights on software security.

02Week 16 LESSONS
▶Memory Layout

This lesson discusses the memory layout in the context of software security.

▶Buffer Overflow

This lesson explains the concept of buffer overflow vulnerabilities and their implications.

▶Code Injection

This lesson covers code injection attacks and their impact on software security.

▶Other Memory Exploits

This lesson discusses various other memory exploits that can affect software security.

▶Format String Vulnerabilities

This lesson focuses on format string vulnerabilities and their exploitation.

▶MVI 0037

This lesson addresses specific vulnerabilities identified as MVI 0037.

03Week 27 LESSONS
▶1

This lesson serves as an introduction to the topics covered in Week 2.

▶Type Safety

This lesson discusses type safety and its importance in software security.

▶Avoiding Exploitation

This lesson provides strategies for avoiding exploitation in software applications.

▶Return Oriented Programming

This lesson explains return-oriented programming and its relevance to software security.

▶Control Flow Integrity

This lesson covers the principles and importance of Control Flow Integrity in software security.

▶Secure Coding

This lesson focuses on best practices for writing secure code to prevent vulnerabilities.

▶Memory Safety

This lesson discusses techniques for ensuring Memory Safety in software applications.

04Week 39 LESSONS
▶Security for the Web

This lesson explores security considerations and practices specifically for web applications.

▶Web Basics

This lesson introduces fundamental concepts and technologies related to the web.

▶SQL injection

This lesson examines the SQL injection vulnerability and its implications for database security.

▶SQL injection countermeasures

This lesson presents strategies and techniques to counter SQL injection attacks.

▶Web-based state using

This lesson explains the concept of web-based state management and its security implications.

▶session hijacking

This lesson covers the risks and prevention methods associated with session hijacking.

▶cross site request

This lesson discusses cross-site request forgery (CSRF) and its impact on web security.

▶Web 2 0 (edited version)

This lesson provides an edited overview of Web 2.0 technologies and their security challenges.

▶cross-site scripting

This lesson focuses on cross-site scripting (XSS) vulnerabilities and their mitigation.

05Week 49 LESSONS
▶Threat modeling (Architectural risk analysis)

This lesson introduces threat modeling as a method for architectural risk analysis.

▶Security Requirements

This lesson covers the importance of defining security requirements in software development.

▶Design Flaws

This lesson identifies common design flaws that can lead to security vulnerabilities.

▶Design category - Favor Simplicity

This lesson emphasizes the design principle of favoring simplicity in security architecture.

▶Design category - trust with reluctance

This lesson discusses the design principle of trusting components with reluctance.

▶Design categories - defense in depth and monitoring-traceability

This lesson covers the design categories of defense in depth and monitoring-traceability.

▶Top Design Flaws

This lesson outlines the most critical design flaws that affect software security.

▶Case study - VSFTPD

This lesson presents a case study on the VSFTPD software to illustrate security lessons.

▶Designing and building secure software

This lesson discusses best practices for designing and building secure software systems.

06Week 512 LESSONS
▶Introducing Symbolic Execution

This lesson introduces the concept of symbolic execution in the context of software analysis.

▶Flow Analysis

This lesson covers flow analysis techniques used to enhance software security.

▶A Little History

This lesson provides a historical overview of symbolic execution and its development.

▶Basic Symbolic Execution

This lesson explains the basics of symbolic execution and its applications in security.

▶Flow analysis- adding sensitivity (shortened)

This lesson covers the addition of sensitivity in flow analysis techniques.

▶Context Sensitive Analysis

This lesson explores context-sensitive analysis methods in software security.

▶Symbolic execution as search, and the rise of solvers

This lesson discusses symbolic execution as a search method and the development of solvers.

▶Flow Analysis- Scaling it up to a complete language and problem set (shortened)

This lesson focuses on scaling flow analysis to accommodate complete languages and problem sets.

▶Symbolic Execution Systems

This lesson provides an overview of symbolic execution systems in software security.

▶Challenges and Variations

This lesson addresses challenges and variations encountered in software security analysis.

▶Static Analysis introduction (part 1)

This lesson introduces static analysis concepts and their importance in software security.

▶Static Analysis introduction (part 2)

This lesson continues the introduction to static analysis, expanding on its applications.

07Week 63 LESSONS
▶Penetration testing - introduction

This lesson introduces the fundamentals of penetration testing in software security.

▶Pen testing

This lesson delves into practical penetration testing techniques and methodologies.

▶Fuzzing (edited)

This lesson covers fuzzing techniques and their role in software security testing.

CURATED BY

SecuraLearn
PRACTITIONER-CURATED LIBRARY

Selected from working practitioners' training libraries and kept whole — modules, labs and walkthroughs exactly as taught.

GOOD TO KNOW

Lessons stream in the browser and remember where you stopped.

Watch on two devices at once — phone, tablet or desktop.

Download buttons are disabled; delivery is encrypted and authenticated per request.

$179 · ONE PAYMENT

Own every lesson, for life.

One payment unlocks all 49 lessons instantly — start with lesson one the moment you check out.