FuSeBMC v.4: Smart Seed Generation for Hybrid Fuzzing

12/20/2021
by   Kaled M. Alshmrany, et al.
0

FuSeBMC is a test generator for finding security vulnerabilities in C programs. In earlier work [4], we described a previous version that incrementally injected labels to guide Bounded Model Checking (BMC) and Evolutionary Fuzzing engines to produce test cases for code coverage and bug finding. This paper introduces a new version of FuSeBMC that utilizes both engines to produce smart seeds. First, the engines are run with a short time limit on a lightly instrumented version of the program to produce the seeds. The BMC engine is particularly useful in producing seeds that can pass through complex mathematical guards. Then, FuSeBMC runs its engines with more extended time limits using the smart seeds created in the previous round. FuSeBMC manages this process in two main ways using its Tracer subsystem. Firstly, it uses shared memory to record the labels covered by each test case. Secondly, it evaluates test cases, and those of high impact are turned into seeds for subsequent test fuzzing. As a result, we significantly increased our code coverage score from last year, outperforming all tools that participated in this year's competition in every single category.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/28/2022

FuSeBMC v4: Improving code coverage with smart seeds via fuzzing and static analysis

Bounded model checking (BMC) and fuzzing techniques are among the most e...
research
12/21/2020

FuSeBMC: A White-Box Fuzzer for Finding Security Vulnerabilities in C Programs

We describe and evaluate a novel white-box fuzzer for C programs named F...
research
07/27/2023

Reinforcement learning guided fuzz testing for a browser's HTML rendering engine

Generation-based fuzz testing can uncover various bugs and security vuln...
research
04/15/2021

Automated Conformance Testing for JavaScript Engines via Deep Compiler Fuzzing

JavaScript (JS) is a popular, platform-independent programming language....
research
06/11/2018

Greybox fuzzing as a contextual bandits problem

Greybox fuzzing is one of the most useful and effective techniques for t...
research
06/13/2022

Combining BMC and Fuzzing Techniques for Finding Software Vulnerabilities in Concurrent Programs

Finding software vulnerabilities in concurrent programs is a challenging...
research
08/10/2023

ESBMC v7.3: Model Checking C++ Programs using Clang AST

This paper introduces ESBMC v7.3, the latest Efficient SMT-Based Context...

Please sign up or login with your details

Forgot password? Click here to reset