ClusterFuzzLite, systém pro organizování testů fuzzingu kódu

Nedávno Google představen prostřednictvím příspěvku na blogu projekt ClusterFuzzLite, který umožňuje organizovat fuzzing testy kódu pro včasnou detekci potenciálních zranitelností ve fázi provozu systémů kontinuální integrace.

V současné době ClusterFuzz lze použít k automatizaci fuzz testování požadavků na stažení v akcích GitHubu, Google Cloud Build and Prow, ale očekává se, že v budoucnu bude kompatibilní s dalšími IC systémy. Projekt je založen na platformě ClusterFuzz vytvořené pro koordinaci práce fuzzing testovacích clusterů a je distribuován pod licencí Apache 2.0.

Je třeba poznamenat, že po představení služby OSS-Fuzz společností Google v roce 2016 bylo do programu kontinuálního testování fuzzing přijato více než 500 velkých open source projektů. Z provedených kontrol bylo odstraněno více než 6.500 21.000 potvrzených zranitelností a opraveno více než XNUMX XNUMX chyb.

O ClusterFuzzLite

ClusterFuzzLite pokračuje ve vývoji fuzzing testovacích mechanismů se schopností identifikovat problémy dříve ve fázi vzájemného hodnocení navrhovaných změn. ClusterFuzzLite již byl představen v procesech revize změn v projektech systemd a curla umožnila identifikovat chyby, které nebyly zjištěny ve statických analyzátorech a lintrech, které byly použity v počáteční fázi ověřování nového kódu.

Dnes s potěšením oznamujeme ClusterFuzzLite, kontinuální fuzzing řešení, které běží jako součást pracovních postupů CI / CD, aby nalezlo zranitelnosti rychleji než kdy předtím. Pomocí několika řádků kódu mohou uživatelé GitHubu integrovat ClusterFuzzLite do svého pracovního postupu a fuzz pull požadavky zachytit chyby ještě před jejich vytvořením, čímž se zlepší celková bezpečnost dodavatelského řetězce softwaru.
Od jeho spuštění v roce 2016 bylo do programu Google OSS-Fuzz integrováno více než 500 kritických open source projektů, což vedlo k opravě více než 6.500 21.000 zranitelností a XNUMX XNUMX funkčních chyb. ClusterFuzzLite jde ruku v ruce s OSS-Fuzz a detekuje regresní chyby mnohem dříve ve vývojovém procesu.

ClusterFuzzLite podporuje ověřování projektů v C, C++, Java (a další jazyky založené na JVM), Go, Python, Rust a Swift. Fuzzing testy se provádějí pomocí enginu LibFuzzer. K detekci chyb a anomálií paměti lze také zavolat nástroje AddressSanitizer, MemorySanitizer a UBSan (UndefinedBehaviorSanitizer).

Z klíčových funkcí ClusterFuzzLite zdůrazňuje například rychlé ověření navrhovaných změn najít chyby ve fázi před přijetím kódu, stejně jako stahování zpráv o podmínkách výskytu havárií, schopnost přestěhovat se pokročilejší fuzzing testy pro identifikaci hlubších chyb, které se neobjevily po ověření změny kódu, také generování reportů pokrytí pro vyhodnocení pokrytí kódu během testů a modulární architektura, která umožňuje zvolit požadovanou funkcionalitu.

Velké projekty včetně systemd a curlya používají ClusterFuzzLite během kontroly kódu s pozitivními výsledky. Podle Daniela Stenberga, autora curl, „Když se lidští recenzenti dohodnou a schválí kód a jejich statické analyzátory kódu a linters nemohou detekovat žádné další problémy, fuzzing je to, co vás posune na další úroveň vyspělosti a robustnosti kódu. OSS-Fuzz a ClusterFuzzLite nám pomáhají udržovat curl jako kvalitní projekt po celý den, každý den a při každém zapojení.

Musíme si pamatovat, že fuzzing testy generují proud všech druhů náhodných kombinací vstupních dat blízkých skutečným datům (např. html stránky s náhodnými parametry tagů, soubory nebo obrázky s abnormálními hlavičkami atd.) a opravují případné chyby v procesu.

Pokud některá sekvence selže nebo neodpovídá očekávané reakci, toto chování s největší pravděpodobností znamená chybu nebo zranitelnost.

Konečně pokud máte zájem o tom vědět více, můžete zkontrolovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.