Pipe-Cleaner: Flexible Fuzzing Using Security Policies

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Naaktgeboren, Allison, Anderson, Sean Noble, Tolmach, Andrew, Sullivan, Greg
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866929571570384896
author Naaktgeboren, Allison
Anderson, Sean Noble
Tolmach, Andrew
Sullivan, Greg
author_facet Naaktgeboren, Allison
Anderson, Sean Noble
Tolmach, Andrew
Sullivan, Greg
contents Fuzzing has proven to be very effective for discovering certain classes of software flaws, but less effective in helping developers process these discoveries. Conventional crash-based fuzzers lack enough information about failures to determine their root causes, or to differentiate between new or known crashes, forcing developers to manually process long, repetitious lists of crash reports. Also, conventional fuzzers typically cannot be configured to detect the variety of bugs developers care about, many of which are not easily converted into crashes. To address these limitations, we propose Pipe-Cleaner, a system for detecting and analyzing C code vulnerabilities using a refined fuzzing approach. Pipe-Cleaner is based on flexible developer-designed security policies enforced by a tag-based runtime reference monitor, which communicates with a policy-aware fuzzer. Developers are able to customize the types of faults the fuzzer detects and the level of detail in fault reports. Adding more detail helps the fuzzer to differentiate new bugs, discard duplicate bugs, and improve the clarity of results for bug triage. We demonstrate the potential of this approach on several heap-related security vulnerabilities, including classic memory safety violations and two novel non-crashing classes outside the reach of conventional fuzzers: leftover secret disclosure, and heap address leaks.
format Preprint
id arxiv_https___arxiv_org_abs_2411_00261
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Pipe-Cleaner: Flexible Fuzzing Using Security Policies
Naaktgeboren, Allison
Anderson, Sean Noble
Tolmach, Andrew
Sullivan, Greg
Cryptography and Security
Fuzzing has proven to be very effective for discovering certain classes of software flaws, but less effective in helping developers process these discoveries. Conventional crash-based fuzzers lack enough information about failures to determine their root causes, or to differentiate between new or known crashes, forcing developers to manually process long, repetitious lists of crash reports. Also, conventional fuzzers typically cannot be configured to detect the variety of bugs developers care about, many of which are not easily converted into crashes. To address these limitations, we propose Pipe-Cleaner, a system for detecting and analyzing C code vulnerabilities using a refined fuzzing approach. Pipe-Cleaner is based on flexible developer-designed security policies enforced by a tag-based runtime reference monitor, which communicates with a policy-aware fuzzer. Developers are able to customize the types of faults the fuzzer detects and the level of detail in fault reports. Adding more detail helps the fuzzer to differentiate new bugs, discard duplicate bugs, and improve the clarity of results for bug triage. We demonstrate the potential of this approach on several heap-related security vulnerabilities, including classic memory safety violations and two novel non-crashing classes outside the reach of conventional fuzzers: leftover secret disclosure, and heap address leaks.
title Pipe-Cleaner: Flexible Fuzzing Using Security Policies
topic Cryptography and Security
url https://arxiv.org/abs/2411.00261