Google hà introduttu u sistema di prova di fuzz ClusterFuzzLite

Google hà introduttu u prughjettu ClusterFuzzLite, chì permette l'urganizazione di teste fuzzing di codice per a deteczione precoce di vulnerabili potenziali durante l'operazione di sistemi di integrazione cuntinuu. Attualmente, ClusterFuzz pò esse usatu per automatizà a prova fuzz di e richieste di pull in GitHub Actions, Google Cloud Build è Prow, ma u supportu per altri sistemi CI hè previstu in u futuru. U prugettu hè basatu annantu à a piattaforma ClusterFuzz, creata per coordinà u travagliu di fuzzing testing clusters, è hè distribuitu sottu a licenza Apache 2.0.

Hè nutatu chì dopu chì Google hà introduttu u serviziu OSS-Fuzz in 2016, più di 500 prughjetti impurtanti open source sò stati accettati in u prugramma di teste di fuzzing continuu. Basatu nantu à e teste realizate, più di 6500 21 vulnerabili cunfirmati sò stati eliminati è più di XNUMX mila errori sò stati curretti. ClusterFuzzLite cuntinueghja à sviluppà meccanismi di prova di fuzzing cù a capacità di identificà i prublemi prima in a fase di rivisione di i cambiamenti pruposti. ClusterFuzzLite hè digià statu implementatu in i prucessi di rivisione di cambiamenti in i prughjetti systemd è curl, è hà permessu di identificà l'errori mancati da l'analizzatori statici è i linters utilizati in a fase iniziale di verificà u novu codice.

ClusterFuzzLite supporta a revisione di prughjettu in C, C++, Java (è altre lingue basate in JVM), Go, Python, Rust è Swift. A prova di fuzzing hè realizata cù u mutore LibFuzzer. L'utili AddressSanitizer, MemorySanitizer è UBSan (UndefinedBehaviorSanitizer) ponu ancu esse chjamati per identificà errori di memoria è anomalie.

Funzioni chjave di ClusterFuzzLite: verificazione rapida di i cambiamenti pruposti per truvà errori prima di l'accettazione di u codice; scaricamentu di rapporti nantu à e cundizioni di crash; l'abilità di passà à una prova di fuzzing più avanzata per identificà errori più profondi chì ùn anu micca superficia dopu à verificà i cambiamenti di codice; generazione di rapporti di copertura per valutà a cobertura di codice durante a prova; architettura modulare chì permette di selezziunà a funziunalità necessaria.

Ricordemu chì a prova di fuzzing implica a generazione di un flussu di ogni tipu di cumminazzioni aleatorii di dati di input chì sò vicinu à e dati reali (per esempiu, pagine html cù paràmetri di tag aleatorii, archivi o imaghjini cù tituli anomali, etc.), è a registrazione pussibule. fallimenti in u prucessu di u so prucessu. Se una sequenza falla o ùn currisponde à a risposta prevista, allora stu cumpurtamentu hè assai prubabile di indicà un bug o vulnerabilità.

Source: opennet.ru

Add a comment