Fuzzing : Brute Force Vulnerability Discovery

  • 1st edition
  • Addison-Wesley Professional 2007
Physical description
576 p.
  • 9780321446114
  • 0321446119
  • 9780321446114


  • FUZZING Master One of Today’s Most Powerful Techniques for Revealing Security Flaws! Fuzzing has evolved into one of today’s most effective approaches to test software security. To “fuzz,” you attach a program’s inputs to a source of random data, and then systematically identify the failures that arise. Hackers have relied on fuzzing for years: Now, it’s your turn. In this book, renowned fuzzing experts show you how to use fuzzing to reveal weaknesses in your software before someone else does. Fuzzing is the first and only book to cover fuzzing from start to finish, bringing disciplined best practices to a technique that has traditionally been implemented informally. The authors begin by reviewing how fuzzing works and outlining its crucial advantages over other security testing methods. Next, they introduce state-of-the-art fuzzing techniques for finding vulnerabilities in network protocols, file formats, and web applications; demonstrate the use of automated fuzzing tools; and present several insightful case histories showing fuzzing at work. Coverage includes: • Why fuzzing simplifies test design and catches flaws other methods miss • The fuzzing process: from identifying inputs to assessing “exploitability” • Understanding the requirements for effective fuzzing • Comparing mutation-based and generation-based fuzzers • Using and automating environment variable and argument fuzzing • Mastering in-memory fuzzing techniques • Constructing custom fuzzing frameworks and tools • Implementing intelligent fault detection Attackers are already using fuzzing. You should, too. Whether you’re a developer, security engineer, tester, or QA specialist, this book teaches you how to build secure software. Foreword     xix Preface        xxi Acknowledgments  xxv About the Author   xxvii P ARTI         B ACKGROUND     1 Chapter 1    Vulnerability Discovery Methodologies  3 Chapter 2    What Is Fuzzing?   21 Chapter 3    Fuzzing Methods and Fuzzer Types     33 Chapter 4    Data Representation and Analysis        45 Chapter 5    Requirements for Effective Fuzzing      61 P ART II      T ARGETS AND A UTOMATION          71 Chapter 6    Automation and Data Generation        73 Chapter 7    Environment Variable and Argument Fuzzing 89 Chapter 8    Environment Variable and Argument Fuzzing: Automation 103 Chapter 9    Web Application and Server Fuzzing     113 Chapter 10  Web Application and Server Fuzzing: Automation    137 Chapter 11  File Format Fuzzing         1...