Software Vulnerability Discovery and Exploitation

The goal of this two-day course is to give software testers the skills and the tools they need to ensure that their end products are free of major vulnerabilities. The first day will introduce the concepts of black-box and white-box fuzzing to uncover software defects. Attendees will have the opportunity to work with two CERT-developed fuzzers, BFF and FOE, and apply these tools to compiled code in order to discover and prioritize potentially exploitable bugs. The second day of the course will present basic concepts of exploit writing, specifically stack-based overflows, structured exception handling, and Return-Oriented Programming (ROP). Attendees will then be presented with common defense mechanisms such as DEP and ASLR. Upon completion of this course, attendees will be able to execute their own fuzzing campaigns against target applications, and prioritize the risk of discovered defects to developers by demonstrating the exploitability of their findings.

Who should attend?

  • Software testers with an emphasis on security testing
  • Software developers who want to create more secure code

Topics

Fuzzing Frameworks, with emphasis on black-box fuzz testing

Objectives

The learning objectives are the following:

  • How to discover vulnerabilities in compiled (binary) code.
  • How to prioritize vulnerabilities so as to address the most critical first.
  • Understand how exploit writers target a particular application and how to defend against those exploits.

Prerequisites

Basic programming experience in Java, C/C++, Perl or Python.

Attendees will need to bring their own laptops and should have VMWare workstation or other VM Player installed.

Laptop Specifications:

  • Intel core 2 Duo, 2.8 GHz or faster
  • 2 GB RAM minimum (4 GB recommended)
  • 4 GB Free Hard Disk Space
  • Windows 7 or Mac OS X Leopard (or later)
  • VMWare Workstation 5

Materials

Students will receive a workbook and DVD with course slides and exercises.

Schedule

This two-day course meets at the following times:
Days 1-2, 9:00 a.m.-4:30 p.m.

Course Details

Course Fees [USD]

U.S. Industry: $1800

U.S. Government/Academic: $1500

International: $2100

This course may be offered by special arrangement at customer sites.

For More Information

E-mail: course-info@sei.cmu.edu
Phone: 412-268-7622


Help us improve

Visitor feedback helps us continually improve our site.

Please tell us what you
think with this short
(< 5 minute) survey.