ClusterFuzzLite, et system til at organisere kodefuzzing-tests

nylig Google afsløret via et blogindlæg ClusterFuzzLite-projektet, som gør det muligt at organisere fuzzing-tests af kode til tidlig opdagelse af potentielle sårbarheder i den kontinuerlige integrationssystemers driftsfase.

I øjeblikket ClusterFuzz kan bruges til at automatisere fuzz-test af pull-anmodninger i GitHub Actions, Google Cloud Build og Prow, men det forventes, at det i fremtiden vil være kompatibelt med andre IC-systemer. Projektet er baseret på ClusterFuzz-platformen, skabt til at koordinere arbejdet med fuzzing af testklynger, og distribueres under Apache 2.0-licensen.

Det skal bemærkes, at efter introduktionen af ​​OSS-Fuzz-tjenesten af ​​Google i 2016, blev mere end 500 større open source-projekter accepteret i det kontinuerlige fuzzing-testprogram. Fra de udførte kontroller er mere end 6.500 bekræftede sårbarheder blevet elimineret, og mere end 21.000 fejl er blevet rettet.

Om ClusterFuzzLite

ClusterFuzzLite fortsætter med at udvikle fuzzing testmekanismer med evnen til at identificere problemer tidligere i peer review-fasen af ​​foreslåede ændringer. ClusterFuzzLite er allerede blevet introduceret i forandringsgennemgangsprocesserne i systemd- og curl-projekter, og det har gjort det muligt at identificere de fejl, der ikke blev opdaget i de statiske analysatorer og linters, der blev brugt i den indledende fase af verifikation af ny kode.

I dag er vi glade for at kunne annoncere ClusterFuzzLite, en kontinuerlig fuzzing-løsning, der kører som en del af CI/CD-arbejdsgange for at finde sårbarheder hurtigere end nogensinde. Med blot et par linjer kode kan GitHub-brugere integrere ClusterFuzzLite i deres workflow og fuzz pull-anmodninger for at fange fejl, før de laves, hvilket forbedrer den overordnede sikkerhed i softwareforsyningskæden.
Siden lanceringen i 2016 er mere end 500 kritiske open source-projekter blevet integreret i Googles OSS-Fuzz-program, hvilket har resulteret i korrektion af mere end 6.500 sårbarheder og 21.000 funktionelle fejl. ClusterFuzzLite går hånd i hånd med OSS-Fuzz og registrerer regressionsfejl meget tidligere i udviklingsprocessen.

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

Af de vigtigste funktioner ClusterFuzzLite fremhæver f.eks hurtig verifikation af foreslåede ændringer at finde fejl i stadiet forud for accept af koden, samt download af rapporter om betingelserne for forekomsten af ​​nedbrud, evnen til at flytte til mere avancerede fuzzing-tests at identificere dybere fejl, der ikke dukkede op efter verificering af kodeændringen, også generering af dækningsrapporter for at evaluere dækningen af ​​koden under testene og den modulære arkitektur, der giver dig mulighed for at vælge den nødvendige funktionalitet.

Store projekter inklusive systemd og curlya bruger ClusterFuzzLite under kodegennemgang, med positive resultater. Ifølge Daniel Stenberg, forfatter til curl, "Når menneskelige anmeldere er enige og har godkendt koden, og deres statiske kodeanalysatorer og linters ikke kan registrere flere problemer, er fuzzing det, der tager dig til det næste niveau af kodemodenhed og robusthed. OSS-Fuzz og ClusterFuzzLite hjælper os med at fastholde curl som et kvalitetsprojekt, hele dagen, hver dag og ved hvert engagement.

Vi skal huske, at fuzzing-tests genererer en strøm af alle slags tilfældige kombinationer af inputdata tæt på de faktiske data (f.eks. html-sider med tilfældige tag-parametre, filer eller billeder med unormale overskrifter osv.) og retter mulige fejl i processen.

Hvis en sekvens mislykkes eller ikke matcher det forventede svar, indikerer denne adfærd højst sandsynligt en fejl eller sårbarhed.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.