Vorwort
In den letzten Jahren.NetzwerksicherheitSchwachstellen sind häufig und verursachen große Verluste für Privatpersonen und Unternehmen. Um Entwicklern und Forschern zu helfen, Schwachstellen schneller zu finden, hat Google seineKI-unterstütztFuzzy-TestRahmenwerk. Das Framework nutzt das Large Language Model (LLM), um Fuzzy-Testfälle für reale C- und C++-Projekte zu generieren und sie mit dem OSS-Fuzz-Dienst von Google zu vergleichen, der seit langem eine führende Ressource für die automatische Entdeckung von Schwachstellen in Open-Source-Software ist.
KI-gestützte Fuzz-Tests verbessern die Effizienz der Schwachstellenerkennung erheblich
Um einige Aspekte der manuellen Fuzz-Tests zu automatisieren, begann Google im August 2023 mit dem Einsatz von LLM, um "projektspezifischen Code zu schreiben, um die Fuzz-Testabdeckung zu verbessern und mehr Schwachstellen zu finden", was zu einer Erhöhung der Codeabdeckung um 30% bei über 300 OSS-Fuzz-C/C++-Projekten führte.
Google sagt: "Bisher hat die erweiterte Fuzz-Testabdeckung, die durch die von LLM generierten Verbesserungen ermöglicht wird, OSS-Fuzz in die Lage versetzt, zwei neue Schwachstellen in cJSON und libplist zu entdecken, zwei weit verbreitete Projekte, die seit Jahren mit Fuzz getestet werden."
Open-Source-Frameworks bieten eine breite Palette von Anwendungen
Das Open-Source-Tool unterstützt Vertex AI code-bison, Vertex AI code-bison-32k, Gemini Pro, OpenAI GPT-3.5-turbo und OpenAI GPT-4. Darüber hinaus verwendet das Tool laut Google die neuesten Daten aus Produktionsumgebungen, um generierte Fuzzy-Tests anhand von vier Metriken zu bewerten Dazu gehören Kompilierbarkeit, Laufzeitabstürze, Laufzeitabdeckung und Laufzeitzeilenabdeckung im Vergleich zu den bestehenden manuell geschriebenen Fuzzy-Testzielen in OSS-Fuzz.
Google merkt an: "Alles in allem hat das Framework LLM erfolgreich eingesetzt, um effektive Fuzzy-Testziele (mit Abdeckungssteigerungen ungleich Null) für 160 C/C++-Projekte zu generieren. Die maximale Erhöhung der Zeilenabdeckung war 291 TP3T höher als die bestehenden manuell geschriebenen Targets."
Das Open-Source-Framework ermöglicht es Forschern und Entwicklern, die Gültigkeit der generierten Fuzzy-Testziele mit ihren eigenen Prompts zu testen und die Ergebnisse mit dem OSS-Fuzz C/C++ Projekt zu vergleichen.
Mehr als Schwachstellenerkennung: KI hilft bei der Behebung von Schwachstellen
Neben den Fuzzing-Tests zur Entdeckung von Schwachstellen untersucht Google auch, wie LLM zur Behebung von Schwachstellen eingesetzt werden kann, und hat ein Projekt zum Aufbau einer automatisierten Pipeline für die LLM-Erstellung und das Testen von Korrekturen vorgeschlagen.
Google sagte: "Dieser KI-gesteuerte Patching-Ansatz behebt die 15%-Schwachstelle und spart Ingenieuren viel Zeit. Das Potenzial dieser Technik sollte für die meisten oder alle Kategorien des Softwareentwicklungsprozesses gelten".
OSS-Fuzz, ein traditionelles Fuzzy-Testwerkzeug.
OSS-Fuzz ist eine Continuous Integration/Continuous Delivery (CI/CD) Pipeline, die die Integration von Fuzzy-Tests in den Entwicklungsprozess von Open-Source-Softwareprojekten automatisiert. Es nutzt verschiedene Fuzz-Testing-Engines und Tools zur Erkennung von Speicherfehlern, um Sicherheitsschwachstellen und Stabilitätsprobleme zu finden.
Bis August 2023 hat OSS-Fuzz dazu beigetragen, über 10.000 Schwachstellen und 36.000 Bugs in 1.000 Projekten zu identifizieren und zu beheben.
Zusammenfassung und Referenz
Das quelloffene, KI-gestützte Fuzzing-Framework von Google ist eine wichtige Innovation im Bereich der Sicherheit bei der Softwareentwicklung. OSS-Fuzz stellt die neuesten Fortschritte beim Fuzz-Testing dar und bietet ein leistungsfähiges Tool zur Verbesserung der Sicherheit von Open-Source-Software. Es verbessert nicht nur die Effizienz bestehender Fuzzing-Methoden, sondern beschleunigt auch die Entdeckung und Behebung von Schwachstellen durch automatisch generierte Fuzz-Targets. Dies verbessert nicht nur die Effizienz bestehender Fuzzing-Methoden, sondern beschleunigt auch die Entdeckung und Behebung von Sicherheitslücken durch automatisch generierte Fuzz-Targets. Da die Anwendung von KI-Technologie im Softwareentwicklungsprozess immer weiter vertieft wird, haben wir Grund zu der Annahme, dass Fuzzy-Tests mit der kontinuierlichen Weiterentwicklung der KI-Technologie intelligenter und effizienter werden und so zum Aufbau eines sichereren Cyberspace beitragen.
Projekt: https://github.com/google/oss-fuzz
Originalartikel von batsom, bei Vervielfältigung bitte angeben: https://cncso.com/de/google-open-sources-ai-aided-fuzzing-framework.html