Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
Fuzzing serves as an effective method for identifying software bugs. Essentially, it involves generating numerous randomly crafted inputs for the software to process in order to observe the outcomes. When a program crashes, it usually indicates that there is a problem. Despite being a widely recognized approach, it is often surprisingly straightforward to uncover bugs, including those with potential security risks, in commonly used software. Memory access errors, especially prevalent in programs developed in C/C++, tend to be the most frequently identified issues during fuzzing. While the specifics may vary, the underlying problem is typically that the software accesses incorrect memory locations. Modern Linux or BSD systems come equipped with a variety of fundamental tools designed for file display and parsing; however, most of these tools are ill-equipped to handle untrusted inputs in their present forms. Conversely, we now possess advanced tools that empower developers to detect and investigate these vulnerabilities more effectively. These innovations not only enhance security but also contribute to the overall stability of software systems.
Description
AFL-Unicorn provides the capability to fuzz any binary that can be emulated using the Unicorn Engine, allowing you to target specific code segments for testing. If you can emulate the desired code with the Unicorn Engine, you can effectively use AFL-Unicorn for fuzzing purposes. The Unicorn Mode incorporates block-edge instrumentation similar to what AFL's QEMU mode employs, enabling AFL to gather block coverage information from the emulated code snippets to drive its input generation process. The key to this functionality lies in the careful setup of a Unicorn-based test harness, which is responsible for loading the target code, initializing the state, and incorporating data mutated by AFL from its disk storage. After establishing these parameters, the test harness emulates the binary code of the target, and upon encountering a crash or error, triggers a signal to indicate the issue. While this framework has primarily been tested on Ubuntu 16.04 LTS, it is designed to be compatible with any operating system that can run both AFL and Unicorn without issues. With this setup, developers can enhance their fuzzing efforts and improve their binary analysis workflows significantly.
API Access
Has API
API Access
Has API
Integrations
C
C++
Pricing Details
Free
Free Trial
Free Version
Pricing Details
Free
Free Trial
Free Version
Deployment
Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook
Deployment
Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook
Customer Support
Business Hours
Live Rep (24/7)
Online Support
Customer Support
Business Hours
Live Rep (24/7)
Online Support
Types of Training
Training Docs
Webinars
Live Training (Online)
In Person
Types of Training
Training Docs
Webinars
Live Training (Online)
In Person
Vendor Details
Company Name
Fuzzing Project
Website
fuzzing-project.org
Vendor Details
Company Name
Battelle
Website
github.com/Battelle/afl-unicorn