Google esitles fuzzing-testeerimise süsteemi ClusterFuzzLite

Google esitles oma ClusterFuzzLite projekti, mis võimaldab organiseerida koodi fuzzing-teste, et varakult tuvastada potentsiaalseid haavatavusi pideva integreerimise süsteemides. Praegu saab ClusterFuzzi kasutada GitHub Actions, Google Cloud Build ja Prow pull-päringute fuzzing-teste automatiseerimiseks, kuid tulevikus oodatakse ka teiste CI-süsteemide toe lisandumist. Projekt põhineb ClusterFuzzi platvormil, mis on loodud fuzzing-teste juhtivate klastrite koordineerimiseks, ning jagatakse Apache 2.0 litsentsi alusel.

Väärib märkimist, et pärast Google'i OSS-Fuzzi teenuse käivitamist 2016. aastal on alla võetud üle 500 olulise avatud projekti pideva fuzzing-testeerimise programmi. Tehtud kontrollide põhjal on kõrvaldatud üle 6500 kinnitatud haavatavuse ja parandatud üle 21 000 vea. ClusterFuzzLite jätkab fuzzing-testeerimise mehhanismide arendamist, võimaldades probleemide varasema avastamise muudatuste ülevaatamise etapis. ClusterFuzzLite on juba rakendatud muutuste ülevaatamise protsessides projektides systemd ja curl, aidates tuvastada vigu, mida ei märganud staatilised analüsaatorid ja linterd, mis rakendati uue koodi algfaasis.

ClusterFuzzLite toetab projektide testimist keeltes C, C++, Java (ja muudes JVM-põhistes keeltes), Go, Python, Rust ja Swift. Fuzzing-testeerimine toimub LibFuzzer'i mootori abil. Mälu ja anomaaliate probleemide avastamiseks võivad samuti kutsuda tööriistu AddressSanitizer, MemorySanitizer ja UBSan (UndefinedBehaviorSanitizer).

ClusterFuzzLite peamised omadused: kiire muudatuste kontrollimine, et tuvastada vigu enne koodi aktsepteerimist; crash'ide ilmumise tingimuste raportite laadimine; võimalus liikuda süvafuzzing-testimise juurde, et tuvastada sügavamad vead, mis ei paistnud välja pärast koodi muutmise kontrollimist; katvuse raportite genereerimine, et hinnata katvust testimisel; modulaarne arhitektuur, mis võimaldab valida vajalikku funktsionaalsust.

Kordame, et fuzzing-testimisel genereeritakse voog igasugustest juhuslikest sisendandmete kombinatsioonidest, mis on lähedased tegelikele andmetele (näiteks HTML-lehed juhuslike siltide parameetritena, arhiveerimise või piltide anomaalsete pealkirjadega jne) ning tuvastatakse võimalikud tõrked nende töötlemise käigus. Kui mõni järjestus viib crash'ini või ei vasta oodatud reaktsioonile, siis tõenäoliselt näitab see vea või haavatavuse olemasolu.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster