Google-k ClusterFuzzLite fuzzing proba sistema aurkeztu zuen

Google-k ClusterFuzzLite proiektua aurkeztu du, etengabeko integrazio sistemen funtzionamenduan balizko ahultasunak goiz detektatzeko kodearen fuzzing probak antolatzeko aukera ematen duena. Gaur egun, ClusterFuzz GitHub Actions, Google Cloud Build eta Prow-en tira-eskaeren fuzz probak automatizatzeko erabil daiteke, baina etorkizunean beste CI sistema batzuen laguntza espero da. Proiektua ClusterFuzz plataforman oinarritzen da, fuzzing test-klusterren lana koordinatzeko sortua, eta Apache 2.0 lizentziapean banatzen da.

Kontuan izan da Google-k 2016an OSS-Fuzz zerbitzua aurkeztu ondoren, kode irekiko 500 proiektu garrantzitsu baino gehiago onartu zirela etengabeko fuzzing proba-programan. Egindako probetan oinarrituta, baieztatutako 6500 ahultasun baino gehiago ezabatu ziren eta 21 mila akats baino gehiago zuzendu ziren. ClusterFuzzLite-k fuzzing-en proba-mekanismoak garatzen jarraitzen du, proposatutako aldaketen berrikuspen fasean arazoak lehenago identifikatzeko gaitasuna dutenak. ClusterFuzzLite sistema eta curl proiektuetan aldaketak berrikusteko prozesuetan ezarri da dagoeneko, eta kode berria egiaztatzeko hasierako fasean erabilitako analizatzaile estatikoek eta linterek galdutako akatsak identifikatzea ahalbidetu du.

ClusterFuzzLite-k proiektuaren berrikuspena onartzen du C, C++, Java (eta JVM-n oinarritutako beste hizkuntza batzuetan), Go, Python, Rust eta Swift-en. Fuzzing probak LibFuzzer motorra erabiliz egiten dira. AddressSanitizer, MemorySanitizer eta UBSan (UndefinedBehaviorSanitizer) tresnak ere dei daitezke memoria-akatsak eta anomaliak identifikatzeko.

ClusterFuzzLite-ren ezaugarri nagusiak: proposatutako aldaketen egiaztapen azkarra kodea onartu aurretik akatsak aurkitzeko; Istripu baldintzei buruzko txostenak deskargatzea; kode aldaketak egiaztatu ondoren azaleratu ez diren akats sakonagoak identifikatzeko fuzzing proba aurreratuagoetara pasatzeko gaitasuna; estaldura-txostenak sortzea, kodeen estaldura ebaluatzeko probak zehar; behar den funtzionaltasuna hautatzeko aukera ematen duen arkitektura modularra.

Gogora dezagun fuzzing-en probak datu errealetatik hurbil dauden sarrerako datuen ausazko konbinazio mota guztietako korrontea sortzea dakarrela (adibidez, ausazko etiketa-parametroak dituzten html orriak, izenburu anormalak dituzten artxiboak edo irudiak, etab.), eta grabatu posiblea. prozesuko hutsegiteak haien prozesamendua. Sekuentzia bat huts egiten bada edo esperotako erantzunarekin bat ez badator, litekeena da portaera honek errore edo ahultasun bat adieraztea.

Iturria: opennet.ru

Gehitu iruzkin berria