Segurança de aplicações
Fuzzing por mutação
Também conhecido como: Fuzzing mutacional, Fuzzing baseado em amostras
Definição
Estratégia de fuzzing que cria novas entradas de teste mutando aleatoriamente amostras válidas — bit flips, inserção de bytes, splice de arquivos.
Exemplos
- AFL++ mutando arquivos PNG válidos para descobrir heap overflows no libpng.
- libFuzzer mutando requisições HTTP válidas para travar um parser HTTP próprio.
Termos relacionados
Fuzz testing
Técnica de testes automatizados que submete um programa a grandes volumes de entradas malformadas, aleatórias ou inesperadas para revelar crashes, corrupção de memória e vulnerabilidades.
Fuzzing guiado por cobertura
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.
Execução simbólica
Técnica de análise de programas que executa o código com entradas simbólicas em vez de valores concretos, criando restrições de caminho resolvidas por um solver SMT.
Buffer overflow
Falha de segurança de memória em que um programa escreve para além do fim de um buffer alocado, corrompendo memória adjacente e permitindo frequentemente execução de código.
Use-After-Free
Bug de segurança de memória em que um programa continua a usar memória já libertada, frequentemente permitindo controlar o estado de objetos e desviar a execução.
Secure Coding
Secure Coding — definition coming soon.