ClusterFuzzLite, sistem za organizacijo testov fuzziranja kode

Pred kratkim Google je predstavil prek objave na blogu projekt ClusterFuzzLite, ki omogoča organizacijo fuzzing testov kode za zgodnje odkrivanje potencialnih ranljivosti v fazi delovanja sistemov neprekinjene integracije.

Trenutno ClusterFuzz se lahko uporablja za avtomatizirano testiranje fuzz zahtev za vleko v dejanjih GitHub, Google Cloud Build in Prow, vendar se pričakuje, da bo v prihodnosti združljiv z drugimi sistemi IC. Projekt temelji na platformi ClusterFuzz, ki je bila ustvarjena za usklajevanje dela testnih grozdov fuzziranja in je distribuirana pod licenco Apache 2.0.

Poudariti je treba, da je bilo po uvedbi storitve OSS-Fuzz s strani Googla leta 2016 v program kontinuiranega fuzziranja sprejetih več kot 500 večjih odprtokodnih projektov. Iz opravljenih pregledov je bilo odpravljenih več kot 6.500 potrjenih ranljivosti in popravljenih več kot 21.000 napak.

O ClusterFuzzLite

ClusterFuzzLite še naprej razvija fuzzing testne mehanizme z zmožnostjo prepoznavanja težav že v fazi medsebojnega pregleda predlaganih sprememb. ClusterFuzzLite je bil že uveden v procese pregleda sprememb v projektih systemd in curl, in je omogočilo prepoznavanje napak, ki niso bile zaznane v statičnih analizatorjih in linterjih, ki so bili uporabljeni v začetni fazi preverjanja nove kode.

Danes z veseljem oznanjamo ClusterFuzzLite, neprekinjeno fuzzing rešitev, ki deluje kot del delovnih tokov CI/CD za iskanje ranljivosti hitreje kot kdajkoli prej. Z le nekaj vrsticami kode lahko uporabniki GitHuba integrirajo ClusterFuzzLite v svoj delovni tok in fuzz pull zahteve, da ujamejo napake, preden se pojavijo, s čimer izboljšajo splošno varnost dobavne verige programske opreme.
Od njegovega začetka leta 2016 je bilo v Googlov program OSS-Fuzz vključenih več kot 500 kritičnih odprtokodnih projektov, kar je povzročilo popravek več kot 6.500 ranljivosti in 21.000 funkcionalnih napak. ClusterFuzzLite gre z roko v roki z OSS-Fuzz, ki zazna napake regresije veliko prej v procesu razvoja.

ClusterFuzzLite podpira validacijo projekta v C, C ++, Javi (in drugi jeziki, ki temeljijo na JVM), Go, Python, Rust in Swift. Preskusi fuzziranja se izvajajo z motorjem LibFuzzer. Orodja AddressSanitizer, MemorySanitizer in UBSan (UndefinedBehaviorSanitizer) lahko pokličete tudi za odkrivanje napak in anomalij pomnilnika.

Od ključnih lastnosti ClusterFuzzLite poudarja na primer hitro preverjanje predlaganih sprememb za iskanje napak v fazi pred sprejemom kode, kot tudi prenos poročil o pogojih nastanka nesreč, sposobnost premikanja v naprednejši testi fuzziranja za prepoznavanje globljih napak, ki se niso pojavile po preverjanju spremembe kode, tudi generiranje poročil o pokritosti za oceno pokritosti kode med testi in modularno arhitekturo, ki omogoča izbiro zahtevane funkcionalnosti.

Veliki projekti, vključno s systemd in curlya, uporabljajo ClusterFuzzLite med pregledovanjem kode, s pozitivnimi rezultati. Po besedah ​​Daniela Stenberga, avtorja curl: »Ko se človeški pregledovalci strinjajo in odobrijo kodo ter njihovi statični analizatorji kode in linterji ne morejo zaznati več težav, je fuzziranje tisto, kar vas popelje na naslednjo stopnjo zrelosti in robustnosti kode. OSS-Fuzz in ClusterFuzzLite nam pomagata ohranjati curl kot kakovosten projekt, ves dan, vsak dan in ob vsakem poslu.

Ne smemo pozabiti, da fuzzing testi generirajo tok vseh vrst naključnih kombinacij vhodnih podatkov, ki so blizu dejanskim podatkom (npr. strani html z naključnimi parametri oznak, datoteke ali slike z nenormalnimi glavami itd.) in popravljajo morebitne napake v procesu.

Če katero koli zaporedje ne uspe ali se ne ujema s pričakovanim odzivom, to vedenje najverjetneje kaže na napako ali ranljivost.

Končno če vas zanima več o tem, lahko preverite podrobnosti V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.