Fuzzing: Brute Force Vulnerability Discovery

  • Authors:
  • Michael Sutton;Adam Greene;Pedram Amini

  • Affiliations:
  • -;-;-

  • Venue:
  • Fuzzing: Brute Force Vulnerability Discovery
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

FUZZINGMaster 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 haverelied 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 detectionAttackers 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ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 xxiAcknowledgmentsï戮 xxvAbout the Authorï戮 ï戮 xxvii PARTIï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 BACKGROUNDï戮 ï戮 ï戮 ï戮 1Chapter 1ï戮 ï戮 ï戮 Vulnerability Discovery Methodologiesï戮 3Chapter 2ï戮 ï戮 ï戮 What Is Fuzzing?ï戮 ï戮 21Chapter 3ï戮 ï戮 ï戮 Fuzzing Methods and Fuzzer Typesï戮 ï戮 ï戮 ï戮 33Chapter 4ï戮 ï戮 ï戮 Data Representation and Analysisï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 45Chapter 5ï戮 ï戮 ï戮 Requirements for Effective Fuzzingï戮 ï戮 ï戮 ï戮 ï戮 61PART IIï戮 ï戮 ï戮 ï戮 ï戮 TARGETS AND AUTOMATIONï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 71Chapter 6ï戮 ï戮 ï戮 Automation and Data Generationï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 73Chapter 7ï戮 ï戮 ï戮 Environment Variable and Argument Fuzzing 89Chapter 8ï戮 ï戮 ï戮 Environment Variable and Argument Fuzzing: Automation 103Chapter 9ï戮 ï戮 ï戮 Web Application and Server Fuzzingï戮 ï戮 ï戮 ï戮 113Chapter 10ï戮 Web Application and Server Fuzzing: Automationï戮 ï戮 ï戮 137Chapter 11ï戮 File Format Fuzzingï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 169Chapter 12ï戮 File Format Fuzzing: Automation on UNIXï戮 ï戮 ï戮 ï戮 181Chapter 13ï戮 File Format Fuzzing: Automation on Windowsï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 197Chapter 14ï戮 Network Protocol Fuzzingï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 223Chapter 15ï戮 Network Protocol Fuzzing: Automation on UNIXï戮 ï戮 ï戮 ï戮 235Chapter 16ï戮 Network Protocol Fuzzing: Automation on Windowsï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 249Chapter 17ï戮 Web Browser Fuzzingï戮 ï戮 ï戮 ï戮 ï戮 267Chapter 18ï戮 Web Browser Fuzzing: Automationï戮 ï戮 ï戮 ï戮 283Chapter 19ï戮 In-Memory Fuzzingï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 301Chapter 20ï戮 In-Memory Fuzzing: Automationï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 ï戮 315PART IIIï戮 ï戮 ï戮 ADVANCED FUZZING TECHNOLOGIESï戮 ï戮 ï戮 ï戮 ï戮 349Chapter 21ï戮 Fuzzing Frameworksï戮 ï戮 ï戮 ï戮 ï戮 ï戮 351Chapter 22ï戮 Automated Protocol Dissectionï戮 419Chapter 23ï戮 Fuzzer Trackingï戮 ï戮 ï戮 ï戮 437Chapter 24ï戮 Intelligent Fault Detection 471PART IVï戮 ï戮 ï戮 ï戮 LOOKING FORWARDï戮 ï戮 ï戮 495Chapter 25ï戮 Lessons Learnedï戮 ï戮 ï戮 497Chapter 26ï戮 Looking Forwardï戮 ï戮 ï戮 507Index 519