ADVANCED FUZZING AND CRASH ANALYSIS

This class is meant for professional developers or security researchers looking to add an automation component to their software security analysis. Students wanting to learn a programmatic and tool driven approach to analyzing software vulnerabilities and crash triage will benefit from this course.

$5,299.00

Duration

4 days

Delivery Method

virtual

Level

advanced

Seats Available

20

Class mode: VIRTUAL LIVE STREAM  


Ask us about upcoming dates!

This class is designed to introduce students to the best tools and technology available for automating vulnerability discovery and crash triage with a focus on delivering a practical approach to applying this technology in real deployments.

Through an applied understanding of introductory program analysis and binary translation, techniques for finding various bug classes and methods for improved crash debugging will be discussed. We will take a deep dive into fuzzing, covering all aspects of this practical approach to finding bugs. As the most approachable and versatile of the available tools, the student will apply various fuzzing techniques to several real-world pieces of software. Students will learn strategies for analyzing attack surface, writing grammars, and generating effective corpus. We will explore in detail the latest innovations such as harnessing code coverage for guided evolutionary fuzzing and symbolic reasoning for concolic fuzzing.

We approach crash analysis through the lens of scriptable debuggers and program analysis. We will apply tools like reverse debugging and memory debuggers to assist in interactively diagnosing root cause of crashes. Then we will leverage the power of dynamic taint tracking and graph slicing to help isolate the path of user controlled input in the program and identify the exact input bytes influencing a crash. Lastly, we will look at possible ways to determine the impact of a vulnerability.

This class will focus on x86/x64 architecture and target file parsers, network parsers and browsers on both Windows and Linux environments.

 

Why You Should Take This Course

This class is meant for professional developers or security researchers looking to add an automation component to their software security analysis. Students wanting to learn a programmatic and tool driven approach to analyzing software vulnerabilities and crash triage will benefit from this course.

Who Should Attend

TBA

Key Learning Objectives

  • Learn an effective strategy for using the latest tools & technology to discover vulnerabilities

  • Master the latest fuzzing techniques for file, network, and browser fuzzing

  • Learn grammar fuzzing, evolutionary fuzzing, in-memory fuzzing, and symbolic fuzzing

  • Best practices for corpus generation, fuzzer deployment, and targeting

  • Leverage dynamic binary translation for efficient tracing and deep program inspection

  • Learn how to leverage time travel debugging for crash triage on Linux and Windows

  • Introduction to intermediate languages for program analysis

  • Apply powerful techniques like taint analysis and graph slicing towards crash analysis
  • Prerequisite Knowledge

    Students should be prepared to tackle challenging and diverse subject matters and be comfortable writing functions in C/C++ and Python to complete exercises. Attendees should have basic experience with debugging native x86/x64 memory corruption vulnerabilities on Linux or Windows.    

    What Students Say About This Training

    “Richard was awesome! Very knowledgeable and professional. I learned a ton”

    “This training is what I wanted. – Thank you for great training!”

    “Great content!”

     

    Hardware / Software Requirements

    Students should have the latest VMware Player, Workstation, or Fusion working on their machine.

    Your Instructor

    No data was found