Black Box Fuzzing FAQ

What is Black Box Fuzzing?

Image
hands at a laptop with graphics and test that indicate they are testing something

Black box fuzzing and dynamic application security testing (DAST) can have a lot of the same features, but there are some differentiators. Black box fuzzers are a type of DAST and an important part of the cybersecurity testing continuum. Along with static application security testing (SAST) in the begin/solutions/dast/ning of development, dynamic application security testing in the middle of development, black box fuzzing fits in at the end to ensure there are no code weaknesses before the application’s deployment.

Fuzzing is a code testing technique that uses the automated injection of malformed or partial code data into an application to find implementation bugs. What sets apart black box fuzzers? For one, they don’t have access to the original program’s source code, so the automatic code injections have to be done from outside the application, the same way a malicious actor would attempt to break in.

Who Needs Black Box Fuzzing?

Text

Since black box fuzzing emulates how a cybercriminal will bombard your application or program to force a crash and find weaknesses, you could argue that any software application will benefit from black box fuzzing.

There are many industry use cases for black box fuzzing. Critical infrastructure, like energy, water, transportation, food distribution, and communication, as well as healthcare, automotive and more are all attack targets with devastating consequences, should they be hijacked. The aviation industry and automotive vehicle manufacturing industries are under strict compliance, especially since more vehicles have internet connectivity applications installed, making it pertinent to have a black box fuzzer to prevent any application takeover on those vehicles.

Medical devices that are wireless and internet connected must be protected as well.  Connected healthcare devices, especially those that use bluetooth, need black box fuzzing to help prevent breaches and takeovers.

The Internet of Things (IoT) or any device that connects to the internet — whether that be a home thermostat, home or office networks, or any personal or professional use item with internet capabilities — needs to be tested to make sure it can’t be co-opted. If an industry produces or uses internet connected devices, black box fuzzing is a necessity. Security teams must be empowered to use tests that mimic a cyber attacker’s methods so they can ensure the strength of their software security.

How is Black Box Fuzzing Related to Dynamic Application Security Testing (DAST)?

Dynamic application security testing scans applications as they’re operating to find exploitable, existing vulnerabilities.  DAST monitors this running code and how the application and client interact in order to find these vulnerabilities.

Black box fuzzing isn’t used to find specific vulnerabilities, it’s used to identify conditions that create exceptions within the code and crash the application or system being targeted. In other words, it is used to find unknown and undiscovered vulnerabilities. This goes beyond the monitoring and reporting aspect of DAST and actively tries to break into the product and exploit unknown triggers within it.

Image
two hands pointing at a computer monitor with a graph

When to Use a Black Box Fuzzer?

Text

Black box fuzzing is crucial in the early stages of development. The most important time to use a black box fuzzer is after the product is developed but before it is deployed. This step ensures that the product is secure for customers to use and if there are any security weaknesses detected, there’s still time to return to the development phase and remediate them before the product is released. This step can be repeated until the product meets security compliance standards. After the product is released, black box fuzzing can still be utilized to continually check for any additional security issues.

Black box fuzzer tools work well with larger, structured, slower, complicated application input systems.  Appropriate times to implement black box fuzzing would be, when the application software is large, which can take a slower time, without automation, to generate the amount of input attack combinations.  Also, if the application has complicated and well-structured input formats, it may require different, more complex injection combinations.  

What Makes a Black Box Fuzzer Special?

Compliance Assurance

Several industries already require DAST to achieve compliance and other verticals will soon follow. Using black box fuzzing DAST for IoT, Automotive, Medical, Aviation, and Infrastructure scanning helps your organization adhere to tightly regulated compliance standards. Fuzzers that generate in-depth reporting of repeatable findings can create the information required by auditors to show compliance and meet regulatory standards.

Dumb Fuzzers vs. Smart Fuzzers

Text

Contrary to the name, “dumb” fuzzers aren’t exactly that.  They’re implemented without any knowledge about the target application program.  They automatically inject input into the program’s point-of-entry and keep a log if the application crashes.  These fuzzers do not have access to specialty keys, usernames, or internal directories.

Smart fuzzers follow the guidance that was given to the testing program.  This guidance allows for more functionality in the application and a more in-depth application test.  These fuzzer tools have more access to program algorithms and give them more range to go deeper into the application to discover program bugs. 

What is a Protocol Fuzzer and How Does it Relate to Black Box Fuzzing?

Text

Protocol fuzz testing tests network app protocols and file formats that are low level. This fuzzer changes valid protocol communication to try to find bugs in it. For example, if there is a character limit, a protocol fuzzer will input too many or too few characters to see how the application reacts.

Black box fuzzers automatically inject millions of different, random coding types into applications, mimicking the overwhelming attacks a cybercriminal would use to try to break the application. These attacks go beyond protocol attempts and use more of a code bombardment strategy.

What Do I Need to Know to Evaluate Fuzzing Tools?

Text

First you need to understand if the black box fuzzer will work with your current protocol testing modules and can it be customized to your proprietary ones? This is important because if the fuzzing tool can’t work with your product, it can’t safely scan for weaknesses.

Black box fuzzers can be cloud based for ease of use or on-site for your staff to monitor. Cloud based is definitely a good choice because the testing can be done from anywhere, not necessarily a dedicated testing center.

Another big feature, self-learning and intelligence. Black box fuzz testing shouldn’t be confined to a regimen, it needs to adapt as an attacker would and continually change attacking combinations, especially if the application is updated.

Also, scalability and customization is crucial, as companies, their products and infrastructure are constantly changing. A black box fuzzer should have the capability to adjust as a company and its products evolve and grow.

BeSTORM is one of the most comprehensive DAST and Black Box Fuzzers available, delivering quality assurance from start to finish.

Request a demo to get started.

GET A DEMO