01642 06 11 11 Arrange Call

Fuzzing

Glossary / F

Fuzzing Definition:

Fuzzing, also known as fuzz testing, is a software testing technique used to identify security vulnerabilities, bugs, and unexpected behaviour in applications by injecting large volumes of random or unexpected input data. The goal is to discover coding errors, crashes, and potential security issues that might otherwise go undetected during normal testing.

What is Fuzzing?

Fuzzing works by generating and injecting a wide range of malformed, random, or unexpected inputs into a target application to see how it responds. The purpose is to uncover weaknesses that could lead to crashes, memory corruption, Denial of Service, or other security flaws. Fuzz testing can target individual functions, APIs, network services, file parsers, or any other input-handling components.

Why is Fuzzing important?

The purpose of Fuzzing is to improve software quality and security by exposing vulnerabilities that arise from unhandled edge cases, unexpected inputs, or improper input validation. By identifying and fixing these issues, organisations can reduce the risk of Exploitation by malicious actors, enhancing the overall robustness of their systems and applications.

How does Fuzzing work?

Fuzzing is typically performed using automated tools, such as AFL (American Fuzzy Lop), LibFuzzer, or network fuzzers like Peach and Burp Suite. These tools systematically generate and input data to trigger unexpected behaviour in the target application. Developers then analyse the application's response, including crashes, hangs, or memory issues, to identify and resolve vulnerabilities.

Fuzzing Examples:

Examples of Fuzzing include inputting large strings or special characters into a web form to test for Buffer Overflow vulnerabilities, using network fuzzers to send malformed packets to a server, or applying file-based Fuzzing on applications that parse specific file types to identify potential parsing errors. Security researchers often use Fuzzing to discover zero-day vulnerabilities in widely used software.

Fuzzing Issues:

Challenges with Fuzzing include the potential for high false positives, the need for careful configuration to focus on relevant test cases, and the difficulty of interpreting complex application behaviour. Fuzzing is most effective when used alongside other testing techniques, such as static and Dynamic Analysis, and when combined with proper error handling and logging mechanisms.

Our Services