Lessico IT › Sicurezza › Fuzzing

Fuzzing

Sicurezza Svenska → Aggiornato: 2026-10-02

Tecnica di test che fornisce a un programma enormi quantità di input casuali, malformati o inattesi per scoprire crash, errori di memoria e falle di sicurezza. Il computer cerca i bug da solo, provando a «rompere» il programma in modi a cui una persona non penserebbe.

Meccanismo: un fuzzer genera molte varianti di input ed esegue il programma ripetutamente, cercando crash, blocchi o errori di memoria rilevati (idealmente con sanitizer come AddressSanitizer, che individuano bug di memoria sottili). I fuzzer moderni sono guidati dalla copertura (AFL, libFuzzer): misurano quali percorsi di codice raggiunge ogni input e lo mutano in modo intelligente per esplorare nuovi rami, risultando molto più efficaci del puro caso. Uso tipico: trovare vulnerabilità nel codice che interpreta input non attendibili (formati di file, protocolli di rete, librerie), proprio dove si annidano errori di memoria e injection. Ha portato alla luce migliaia di bug gravi in progetti importanti; Google esegue OSS-Fuzz in continuazione sul software open source critico. Fa parte dello sviluppo sicuro moderno insieme a SAST/DAST ed è particolarmente potente per C/C++ e altro codice non memory-safe.

← Torna al lessico