Google hat das Fuzzing-Testsystem ClusterFuzzLite vorgestellt.

Google hat das Projekt ClusterFuzzLite vorgestellt, das es ermöglicht, Fuzzing-Tests für den frühen Nachweis potenzieller Sicherheitsanfälligkeiten während des Betriebs von Continuous Integration-Systemen durchzuführen. Derzeit kann ClusterFuzz zur Automatisierung von Fuzzing-Tests für Pull-Requests in GitHub Actions, Google Cloud Build und Prow verwendet werden, wobei in Zukunft auch die Unterstützung weiterer CI-Systeme erwartet wird. Das Projekt basiert auf der Plattform ClusterFuzz, die zur Koordination der Arbeit von Fuzzing-Test-Clustern entwickelt wurde, und wird unter der Apache 2.0-Lizenz veröffentlicht.

Seit der Einführung des OSS-Fuzz-Dienstes durch Google im Jahr 2016 wurden mehr als 500 bedeutende Open-Source-Projekte in das kontinuierliche Fuzzing-Testprogramm aufgenommen. Aufgrund der durchgeführten Prüfungen konnten über 6.500 bestätigte Sicherheitsanfälligkeiten beseitigt und mehr als 21.000 Fehler behoben werden. ClusterFuzzLite entwickelt die Fuzzing-Testmechanismen weiter und ermöglicht eine frühzeitigere Identifizierung von Problemen in der Überprüfungsphase der vorgeschlagenen Änderungen. ClusterFuzzLite ist bereits in die Überprüfungsprozesse der Projekte systemd und curl integriert und hat es ermöglicht, Fehler zu identifizieren, die von statischen Analysewerkzeugen und Lintern, die in der Anfangsphase der Überprüfung neuen Codes verwendet wurden, übersehen wurden.

ClusterFuzzLite unterstützt die Überprüfung von Projekten in den Programmiersprachen C, C++, Java (und anderen JVM-basierten Sprachen), Go, Python, Rust und Swift. Das Fuzzing-Testing erfolgt unter Verwendung der LibFuzzer-Engine. Zusätzlich können zur Identifizierung von Speicherfehlern und Anomalien auch die Werkzeuge AddressSanitizer, MemorySanitizer und UBSan (UndefinedBehaviorSanitizer) verwendet werden.

Die Hauptmerkmale von ClusterFuzzLite: schnelle Überprüfung der vorgeschlagenen Änderungen zur Fehlererkennung vor der Annahme des Codes; Hochladen von Berichten über die Bedingungen, unter denen Abstürze entstehen; die Möglichkeit, auf umfangreichere Fuzz-Tests umzuschalten, um tiefere Fehler zu identifizieren, die nach der Überprüfung der Codeänderungen nicht aufgetaucht sind; Erstellung von Coverage-Berichten zur Bewertung der Codeabdeckung während der Tests; modulare Architektur, die es ermöglicht, die erforderliche Funktionalität auszuwählen.

Bei Fuzzing-Tests wird erinnert, dass ein Strom von zufälligen Kombinationen von Eingabedaten generiert wird, die den realen Daten ähnlich sind (z. B. HTML-Seiten mit zufälligen Tag-Parametern, Archive oder Bilder mit abnormalen Kopfzeilen usw.), und mögliche Abstürze während ihrer Verarbeitung festgehalten werden. Wenn eine bestimmte Sequenz zu einem Absturz führt oder nicht der erwarteten Reaktion entspricht, deutet ein solches Verhalten mit hoher Wahrscheinlichkeit auf einen Fehler oder eine Schwachstelle hin.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster