Google introducerede ClusterFuzzLite fuzzing-testsystemet

Google har introduceret ClusterFuzzLite-projektet, som gør det muligt at organisere fuzzing-test af kode til tidlig påvisning af potentielle sårbarheder under driften af ​​kontinuerlige integrationssystemer. I øjeblikket kan ClusterFuzz bruges til at automatisere fuzz-test af pull-anmodninger i GitHub Actions, Google Cloud Build og Prow, men understøttelse af andre CI-systemer forventes i fremtiden. Projektet er baseret på ClusterFuzz-platformen, skabt til at koordinere arbejdet med fuzzing af testklynger, og distribueres under Apache 2.0-licensen.

Det bemærkes, at efter at Google introducerede OSS-Fuzz-tjenesten i 2016, blev mere end 500 vigtige open source-projekter accepteret i det kontinuerlige fuzzing-testprogram. Baseret på de udførte tests blev mere end 6500 bekræftede sårbarheder elimineret, og mere end 21 tusinde fejl blev rettet. ClusterFuzzLite fortsætter med at udvikle fuzzing testmekanismer med evnen til at identificere problemer tidligere på revisionsstadiet af foreslåede ændringer. ClusterFuzzLite er allerede implementeret i ændringsgennemgangsprocesserne i systemd- og curl-projekterne og har gjort det muligt at identificere fejl, der er savnet af statiske analysatorer og linters, der blev brugt i den indledende fase af kontrol af ny kode.

ClusterFuzzLite understøtter projektgennemgang i C, C++, Java (og andre JVM-baserede sprog), Go, Python, Rust og Swift. Fuzzing-test udføres ved hjælp af LibFuzzer-motoren. Værktøjerne AddressSanitizer, MemorySanitizer og UBSan (UndefinedBehaviorSanitizer) kan også kaldes for at identificere hukommelsesfejl og anomalier.

Nøglefunktioner i ClusterFuzzLite: hurtig kontrol af foreslåede ændringer for at finde fejl før kodeaccept; download af rapporter om nedbrudsforhold; evnen til at gå videre til mere avanceret fuzzing-test for at identificere dybere fejl, der ikke dukkede op efter kontrol af kodeændringerne; generering af dækningsrapporter for at vurdere kodedækning under testning; modulær arkitektur, der giver dig mulighed for at vælge den ønskede funktionalitet.

Lad os huske på, at fuzzing test involverer generering af en strøm af alle slags tilfældige kombinationer af inputdata, der er tæt på reelle data (for eksempel html-sider med tilfældige tag-parametre, arkiver eller billeder med unormale titler osv.), og optagelse af evt. fejl i processen deres behandling. Hvis en sekvens går ned eller ikke stemmer overens med det forventede svar, er det højst sandsynligt, at denne adfærd indikerer en fejl eller sårbarhed.

Kilde: opennet.ru

Tilføj en kommentar