Fuzzing: Brute Force Vulnerability Discovery 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Frequently bought together
Customers who bought this item also bought
From the Back Cover
About the Author
M ICHAEL S UTTON
Michael Sutton is the Security Evangelist for SPI Dynamics. As Security Evangelist, Michael is responsible for identifying, researching, and presenting on emerging issues in the web application security industry. He is a frequent speaker at major information security conferences, has authored numerous articles, and is regularly quoted in the media on various information security topics.Michael is also a member of the Web Application Security Consortium (WASC), where he is project lead for the Web Application Security Statistics project.
Prior to joining SPI Dynamics,Michael was a Director for iDefense/VeriSign, where he headed iDefense Labs, a team of world class researchers tasked with discovering and researching security vulnerabilities.Michael also established the Information Systems Assurance and Advisory Services (ISAAS) practice for Ernst & Young in Bermuda. He holds degrees from the University of Alberta and The George Washington University. Michael is a proud Canadian who understands that hockey is a religion and not a sport. Outside of the office, he is a Sergeant with the Fairfax Volunteer Fire Department.
A DAM G REENE
Adam Greene is an engineer for a large financial news company based in New York City. Previously, he served as an engineer for iDefense, an intelligence company located in Reston, VA. His interests in computer security lie mainly in reliable exploitation methods, fuzzing, and UNIX-based system auditing and exploit development.
P EDRAM A MINI
Pedram Amini currently leads the security research and product security assessment team at TippingPoint. Previously, he was the assistant director and one of the founding members of iDefense Labs. Despite the fancy titles, he spends much of his time in the shoes of a reverse engineer–developing automation tools, plug-ins, and scripts. His most recent projects (a.k.a. “babies”) include the PaiMei reverse engineering framework and the Sulley fuzzing framework.
In conjunction with his passion, Pedram launched OpenRCE.org, a community website dedicated to the art and science of reverse engineering. He has presented at RECon, BlackHat, DefCon, ShmooCon, and ToorCon and taught numerous sold out reverse engineering courses. Pedram holds a computer science degree from Tulane University.
There was a problem filtering reviews right now. Please try again later.
All that aside, I really did enjoy and appreciate the book as a whole, and it certainly gave me a great foundational knowledge of fuzzing.
From the back cover: "...Now, its your turn. In this book, renowned fuzzing experts show you how to use fuzzing to reveal weaknesses in your software before someone else does."
I thought the book excellently covered the theory portions of fuzzing. The format of theory/background of a fuzzing method (Environment Variable and Argument Fuzzing, Web Application and Server fuzzing, File Format Fuzzing, Network Protocol Fuzzing, Web Browser Fuzzing, and In-Memory Fuzzing) followed with that fuzzing method Automation or on Unix and then on Windows worked perfectly. It was a good structure and informative. The Automation or Unix and Windows sections fit in well with the theory sections before it.
I think the book falls a bit short on practical execution (case studies) of using the fuzzing tools. Granted I say this based on my own expectations of what I would like to see from a fuzzing book but also from what the authors say in the preface that we will get out of the book. They say, "We detail numerous vulnerabilities throughout the book and discuss how they might have been identifies through fuzzing." Some of the case studies are exactly what I expected like case studies in Chapter 10, the fuzzing with SPIKE section in Chapter 15, and the Complete Walkthru with Sulley in Chapter 21. Some of the others fall a bit short. I expected a lot more out of the ActiveX fuzzing sections (chapter 18), the Shockwave Flash example in Chapter 21 was useful for the discussion of creating a test case for a protocol but after 11 pages of mostly code in the last section we basically get told to load it into PaiMei and "go fuzz", and while the theory parts of chapter's 7 & 8 were great, telling me to find an AIX 5.3 box to see some example environment variables and argument vulnerabilities was less than useful. It would have been much more useful to use some of today's fuzzing tools to find some old vulnerabilities in something like *BSD or old RedHat distributions, something I might have in the lab or at least something I could install in VMWare.
Likes: Theory, background, discussion of how and why they built the "author built" fuzzers they cover in the book, some of the case studies gave me everything I needed to reproduce on my own in the lab. Providing the fuzzers on the companion website was great as well. The George Bush quotes were hilarious as well and made me look forward to each chapter so I could get another quote.
Dislikes: some of the case studies I don't think went into enough detail (no step by step instructions), I think the explanations of the blocks of code could have been better and numbering lines so we could refer to them in the text would have helped. The discussion of the existing frameworks was a little bit light (but we do get told to go the companion website for more info). Ideally we would have walked thru a couple of easy examples using multiple fuzzer frameworks to get us from advisory to EIP= 0x41414141. That would have been nice to see.
Overall a great book, it has a place on the bookshelf next to shellcoder's handbook and some other programming books and it will be used (many times) as a reference to play with the various fuzzers available out there.
I liked that the book starts out with what fuzzing is good for, the steps that you have to take for it to be successful, and what fuzzing is not good at. It explains how vectors like access control issues, and design flaws fit into this category. Knowing this up front saves a lot of head banging later on down the road. It's also good that the authors point out that they are merely defining fuzzing in their specific realm: talk to others and you are going to find a whole different explanation. This is OK though- most of the security industry is like that.
Part II of the book starts to get into the heart of things, discussing the components required for fuzzing, more details into the tool they built called "WebFuzz" and then dive into the tests themselves. The author's openness in telling us what they did, then how it works, then tell you all the things to make it better makes this book even more valuable. Good efforts to share useful things and make them a community effort with proper guidance are never a bad thing. Plus, if you are interested in helping, this guidance gives you somewhere to start.
Essentially, this book gives you the blueprint of fuzzing and a bunch of ideas on how to get started down a more advanced path. Well written with good explanations of how the authors got where they got to as well a useful tool to get you started (located on their companion website), this book gives you the toolkit of building blocks for your future fuzzing endeavors.
o Document how and why SPIKE works (and implement their own block-based fuzzer sulley)
o Go through the process of writing a .flv fuzzer
o Go through the process of writing a Python ActiveX fuzzer, which was probably my favorite part.
o Talk about the downsides of various kinds of fuzzing. For example, when is fuzzing with a genetic algorithm not the right thing to do?
That alone made this a great book.