• Classroom
  • Online, Instructor-Led
Course Description

The Software Fuzzing Course focuses on the principles and techniques of fuzz testing, covering both closed-source and open-source fuzzing approaches for various targets such as grammars, file formats, and network protocols. Participants will learn how to systematically generate and inject malformed inputs into software applications to uncover vulnerabilities and security flaws. Through hands-on exercises and real-world examples, participants will gain practical skills in fuzzing techniques, tool selection, and result analysis to enhance the security of software systems.

Learning Objectives

  • Understand the fundamentals of software fuzzing
  • Explore the differences between closed-source and open-source software
  • Learn various techniques and tools used in fuzz testing
  • Examine the challenges and benefits of fuzzing in closed-source environments
  • Explore the challenges and advantages of fuzzing in open-source environments
  • Gain hands-on experience with popular fuzzing frameworks and tools
  • Develop skills in identifying and mitigating security vulnerabilities through fuzz testing
  • Understand the impact of fuzzing on software security and reliability
  • Apply fuzzing techniques to real-world scenarios and case studies
  • Discuss best practices for integrating fuzz testing into software development processes

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Risk Management
  • All-Source Analysis
  • Software Development
  • Threat Analysis
  • Exploitation Analysis