Segurança de aplicações
Execução simbólica
Também conhecido como: Análise simbólica, Execução concolic
Definição
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.
Exemplos
- Usar KLEE em uma biblioteca C para gerar entradas que atinjam cada branch e disparem asserts.
- Combinar angr com AFL++ para resolver restrições que o fuzzing sozinho não consegue.
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.
Fuzzing por mutaçã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.
SAST (Static Application Security Testing)
Análise automatizada de código-fonte, bytecode ou binários — sem executar — para encontrar fraquezas de segurança como injeção, APIs inseguras ou criptografia fraca.
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.
Secure Coding
Secure Coding — definition coming soon.