Software Security

This lesson will introduce students to the fundamentals of software security, focusing on key vulnerabilities such as Integer Overflows, Buffer Overflows, and Format String attacks. Students will begin by reviewing concepts from the previous lessons to reinforce their understanding. They will then work through multiple scenarios and example code snippets, identifying the types of vulnerabilities present. After recognizing each vulnerability, students will collaborate to determine effective ways to fix them. Building on this foundation, the lesson will progress to a hands-on exercise where students analyze additional example code and explore intentionally vulnerable websites. In this phase, instead of fixing the issues, students will learn how these vulnerabilities can be exploited, applying their knowledge in a controlled, practical environment.

The following lesson plans are independent courses, with no interdependency between them. Each course can be used to teach students the fundamentals of Software Security. Lessons include their own PowerPoint presentations and activities. Designed to provide a comprehensive and structured introduction to Software Security, these courses ensure that students develop a solid foundation and practical understanding of the subject. Click on the lessons and presentations to view them in full.

Lessons Include:

Software Security Lesson Plan (Day 1) 

Software Security Lesson Plan (Day 2) 

Software Security Lesson Plan (Day 3) 

PowerPoint Presentations:

Software Security PowerPoint (Day 1)

Software Security PowerPoint (Day 2) 

Software Security PowerPoint (Day 3) 

Activities Include: