CyberGlossary

Segurança de aplicações

Fuzzing guiado por cobertura

Também conhecido como: Fuzzing greybox, Fuzzing baseado em feedback

Definição

Técnica de fuzzing que instrumenta o alvo para medir cobertura de código e evolui entradas que exploram caminhos novos, aumentando muito a eficácia.

Fuzzers guiados por cobertura instrumentam o alvo em tempo de compilação ou via tradução binária dinâmica e executam candidatos coletando cobertura por arestas ou blocos básicos. Entradas que geram nova cobertura são mantidas e mutadas por um algoritmo evolutivo, fazendo o corpus migrar para código mais difícil de alcançar. Esse loop, popularizado pelo AFL e refinado por AFL++, libFuzzer e Honggfuzz, é ordens de magnitude mais eficaz que o fuzzing aleatório cego. É a base de projetos como o OSS-Fuzz do Google, que descobriu dezenas de milhares de bugs em código open source.

Exemplos

  • Compilar um parser em C com instrumentação do AFL++ e usar afl-fuzz para crescer um corpus guiado por cobertura.
  • libFuzzer usando SanitizerCoverage para evoluir entradas em um crate Rust.

Termos relacionados