Home > Ask the Security Experts > Platform Security Questions & Answers > Should fuzzing be part of the secure software development process?
Ask The Security Expert: Questions & Answers
EMAIL THIS

Should fuzzing be part of the secure software development process?

Michael Cobb EXPERT RESPONSE FROM: Michael Cobb

Pose a Question
Other Security Categories
Meet all Security Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 12 April 2007
I've heard of a new technique called "fuzzing." Is fuzzing an effective way to find software vulnerabilities?

>
EXPERT RESPONSE
Fuzzing, or fuzz testing, isn't actually a new technique. It was developed back in 1989 at the University of Wisconsin-Madison by Professor Barton Miller. With today's focus on developing more secure software, fuzzing has become a more widely used and acknowledged code-testing method.

During the fuzzing process, a program is bombarded with random data, called fuzz. If the program fails to cope with any of this data and begins to crash, lock up, consume memory or produce uncontrolled errors, the developer knows that there is a flaw somewhere within the code. The flaw can then be located and rectified before the program is released or deployed, thus keeping a possible vulnerability out of the final release version. Fuzzing has been frequently used to uncover buffer overflows, which occur when the number of input characters exceeds the available buffer space.

Software programs have several input possibilities, like mice, keyboards and screen devices. Other inputs include calls from other programs or controllers embedded in the actual system. Fuzzing effectively finds bugs because the data entered into a program is random and therefore not constrained by any preconceptions about how the software should behave. When people test software themselves, they may make assumptions about how the software will be used, causing certain input permutations to be overlooked.

A thorough fuzz test uses a combination of valid test data and random fuzz data. The valid data prevents an application from rejecting the information before it can reach a defective piece of code.

You must be aware, though, that passing a fuzz test doesn't make a program bug-free. Fuzzing only allows the simulation of a random, limited sample of a program's behavior. The tests may only show that the software can handle exceptions without crashing. Also, fuzzing doesn't test for logical flaws that can be exploited.

A big advantage of fuzz testing is its cost effectiveness; the testing is usually automated and easy to set up. It is a useful testing method, but it should be used as one of several software-testing methods. Static analysis, peer review and secure coding methodologies should all be a part of any secure software development process.

More information:

  • Learn how fuzzing can deter VoIP protocol attacks.
  • In this "Hot Type" podcast, Gary McGraw explains how to find common software security bugs.


  • Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


    RELATED CONTENT
    Platform Security
    How can 'DRAM remanence' compromise encryption keys?
    Should users have a removable boot drive for online banking?
    The unexpected costs of server virtualization?
    Is attack code valuable for vulnerabilities or just a publicity stunt?
    Will the features of Windows Vista SP1 encourage wider adoption of the OS?
    Is a Master Boot Record (MBR) rootkit completely invisible to the OS?
    What are the pros and cons of zero-knowledge penetration tests?
    Are open recursive DNS servers inherently insecure?
    Should whole disk encryption products be used with data backup software?
    Which operating system can best secure an FTP site?

    Vulnerability Assessment
    Spotlight article: Domain 10, Operations Security
    CISSP Essentials training: Domain 10, Operations Security
    Security visualization helps make log files work
    Screencast: How to use Wikto for Web server assessment
    Security data lapses hamper researchers
    Database patch denial: How 'critical' are Oracle's CPUs?
    Is attack code valuable for vulnerabilities or just a publicity stunt?
    Will the features of Windows Vista SP1 encourage wider adoption of the OS?
    Is a Master Boot Record (MBR) rootkit completely invisible to the OS?
    How to install and configure Nessus
    Vulnerability Assessment Research

    Secure Software Development
    Microsoft opens up secure development program
    Mozilla's Snyder says security pros should press vendors on security
    Vista functionality still wins over security
    Mozilla to release Firefox threat-modeling data
    Security issues found in the Spring Framework
    Software still plagued with security holes, researcher says
    Microsoft tools won't be quick fix for SQL injection attacks
    Which automated quality assurance tools can be used to test software?
    Gary McGraw on secure software development
    Product review: Mu-4000 Security Analyzer

    RELATED GLOSSARY TERMS
    Terms from Whatis.com − the technology online dictionary
    gray hat  (SearchSecurity.com)
    risk analysis  (SearchSecurity.com)
    vulnerability analysis  (SearchSecurity.com)

    RELATED RESOURCES
    2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
    Search Bitpipe.com for the latest white papers and business webcasts
    Whatis.com, the online computer dictionary



    Search and Browse the Expert Answer Center
    Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
    Browse our Expert Advice



    Find Security Solutions for Your Business
    Targeted Security Channel Tips for Resellers, Integrators and Consultants
    TechTarget Security Media
    Information Security View this month\\'s issue and subscribe today.
    Information Security Decisions Apply online for free conference admission.
    SearchSecurity.com
    HomeNewsMagazineMultimediaWhite PapersLearningAdviceTopicsEventsAbout Us

    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




    All Rights Reserved, Copyright 2003 - 2008, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts