Tel: 03333 200 222
Email: [email protected]

What is Fuzzing in cyber security?

05/01/2023
2 minute read
Fuzzing is a method of finding software vulnerabilities by providing unintended input to the target system and monitoring for abnormal results.
By, Jack Wong
Share

Fuzzing in cyber security is a method of finding software vulnerabilities by providing unintended input to the target system and monitoring for abnormal results.

Detecting security vulnerabilities in software or computer systems is the main function of fuzzing. The core idea is to input automatically or semi-automatically generated random data into a program and monitor exceptions such as crashes and assertion failures.

Barton Miller of the University of Wisconsin in 1988 first proposed fuzzing. Their work not only uses random and unstructured test data, but also systematically uses a series of tools to analyse various software on different platforms. In addition, they disclosed the source code, testing process, and raw result data.

What is the purpose of fuzzing?

  • Find the most important security faults and vulnerabilities
  • Produces more effective results when combined with black box testing, beta testing, and other debugging techniques
  • Most cost-effective methods for identifying software vulnerabilities 

The Steps of Fuzzing in cyber security

  • Determine the target system
  • OK input
  • Create fuzzy data
  • Run tests with ambiguous data
  • Pay close attention to the performance of the system
  • Keep a defect log

Fuzzer example 

Fuzzers that modify existing data samples to generate new test data are called mutation-based fuzzers. This is the most straightforward technique, as it starts with an acceptable sample of the protocol and goes on to corrupt every byte or file.

A generative-based fuzzer creates new data from the model's input. It starts from scratch, generating input on demand.

The PROTOCOL-BASED-FUZZER, one of the most successful fuzzers, has comprehensive knowledge of the protocol format being tested. It requires inputting a series of specifications into the tool, adding irregularities to data content, sequences, etc. Grammar testing, robustness testing, and other terms are used to describe this process. The Fuzzer can create test cases from scratch and invalid inputs.

Types of bugs detected by Fuzzing in cyber security

  • Invalid InputsFuzzers are used for fuzzing to produce false inputs for testing error handling algorithms, which is critical for software that has no control over its inputs. Simple fuzzing is a technique for automating negative tests.
  • Correctness bugsCertain "correctness" issues can also be detected by fuzzing—for example, database corruption, insufficient search results, etc.

Fuzzing Tools in cybersecurity

  • Peach Fuzzer
  • Spike Proxy
  • Webscarab
  • OWASP WSFuzzer

Fuzzing is a type of software engineering used to identify defects in an application. Fuzzing does not ensure that all defects in a program are detected. However, a fuzz approach ensures that the application is resilient and secure, as it helps reveal the most common flaws.

More from Swiftcomm

Signs It’s Time to Update Your Office Phone System
Your office phone system might still work, but that doesn’t necessarily mean it’s still working for you. As your business and the way your team works evolves, it’s important to ensure you’re set up for success. Find out more about the key signs that indicate it’s time for an upgrade.
Full Article
right-chevron
AI for Small Businesses – What Should You Consider First?
Thinking of implementing AI in your business? With the ability to help companies to automate tasks, unlock insights and much more, it’s become a hot topic in recent years. Find out about considerations and first steps on the road to AI adoption here.
Full Article
right-chevron
grey-tick-icon
Trusted by 100s of businesses already
grey-tick-icon
Uniquely tailored approach
grey-tick-icon
Outstanding customer service
swift-tag

Talk with us

We pride ourselves on being an honest trustworthy business communications provider
phone-icon
Telephone
Call 03333 200 222 or if you would prefer us to call you.
Schedule a call
email-icon
Email
We love emails, to send us one use [email protected] or fill in our
Contact Form
chat-icon
Live Chat
Got a question? Our live chat is open and ready to assist
Chat Now
Contact a specialist
crosschevron-down