ClusterFuzzLite, ett system för att organisera kodfuzzing-tester

nyligen Google presenteras via ett blogginlägg ClusterFuzzLite-projektet, som gör det möjligt att organisera fuzzing-tester kod för tidig upptäckt av potentiella sårbarheter i driftstadiet av kontinuerliga integrationssystem.

För närvarande ClusterFuzz kan användas för att automatisera fuzz-testning av pull-förfrågningar i GitHub Actions, Google Cloud Build och Prow, men det förväntas att det i framtiden kommer att vara kompatibelt med andra IC-system. Projektet är baserat på ClusterFuzz-plattformen, skapad för att koordinera arbetet med att fuzza testkluster, och distribueras under Apache 2.0-licensen.

Det bör noteras att efter Googles introduktion av OSS-Fuzz-tjänsten 2016, accepterades mer än 500 stora open source-projekt i det kontinuerliga fuzzing-testprogrammet. Från de utförda kontrollerna har över 6.500 21.000 bekräftade sårbarheter eliminerats och över XNUMX XNUMX fel har korrigerats.

Om ClusterFuzzLite

ClusterFuzzLite fortsätter att utveckla fuzzing testmekanismer med förmågan att identifiera problem tidigare i peer review-fasen av föreslagna ändringar. ClusterFuzzLite har redan introducerats i förändringsgranskningsprocesserna i systemd- och curl-projekt, och det har gjort det möjligt att identifiera de fel som inte upptäcktes i de statiska analysatorer och linters som användes i det inledande skedet av verifiering av ny kod.

Idag är vi glada att kunna presentera ClusterFuzzLite, en kontinuerlig fuzzing-lösning som körs som en del av CI/CD-arbetsflöden för att hitta sårbarheter snabbare än någonsin. Med bara några rader kod kan GitHub-användare integrera ClusterFuzzLite i sitt arbetsflöde och fuzz pull-förfrågningar för att fånga buggar innan de görs, vilket förbättrar den övergripande säkerheten i mjukvaruförsörjningskedjan.
Sedan lanseringen 2016 har mer än 500 kritiska öppen källkodsprojekt integrerats i Googles OSS-Fuzz-program, vilket resulterat i korrigering av mer än 6.500 21.000 sårbarheter och XNUMX XNUMX funktionella buggar. ClusterFuzzLite går hand i hand med OSS-Fuzz, och upptäcker regressionsfel mycket tidigare i utvecklingsprocessen.

ClusterFuzzLite stöder projektvalidering i C, C++, Java (och andra JVM-baserade språk), Go, Python, Rust och Swift. Luddningstesterna utförs med LibFuzzer-motorn. Verktygen AddressSanitizer, MemorySanitizer och UBSan (UndefinedBehaviorSanitizer) kan också anropas för att upptäcka minnesfel och anomalier.

Av de viktigaste funktionerna ClusterFuzzLite belyser till exempel snabb verifiering av föreslagna ändringar att hitta fel i stadiet före godtagandet av koden, samt nedladdning av rapporter om villkoren för förekomsten av krascher, förmågan att flytta till mer avancerade fuzzing-tester för att identifiera djupare fel som inte dök upp efter att ha verifierat kodändringen, även generering av täckningsrapporter för att utvärdera täckningen av koden under testerna och den modulära arkitekturen som låter dig välja den funktionalitet som krävs.

Stora projekt inklusive systemd och curlya använder ClusterFuzzLite under kodgranskning, med positiva resultat. Enligt Daniel Stenberg, författare till curl, "När mänskliga granskare är överens och har godkänt koden och deras statiska kodanalysatorer och linters inte kan upptäcka några fler problem, är fuzzing det som tar dig till nästa nivå av kodmognad och robusthet. OSS-Fuzz och ClusterFuzzLite hjälper oss att behålla curl som ett kvalitetsprojekt, hela dagen, varje dag och vid varje engagemang.

Vi måste komma ihåg att fuzzing-tester genererar en ström av alla typer av slumpmässiga kombinationer av indata nära den faktiska datan (t.ex. html-sidor med slumpmässiga taggparametrar, filer eller bilder med onormala rubriker etc.) och korrigerar eventuella fel i processen.

Om någon sekvens misslyckas eller inte stämmer överens med det förväntade svaret, indikerar detta beteende troligen en bugg eller sårbarhet.

Slutligen om du är intresserad av att veta mer om detkan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.