OSS-Fuzz

OSS-Fuzz

OSS-Fuzz ist ein kostenloser Dienst von Google, der Open-Source-Software automatisch und rund um die Uhr auf Sicherheitslücken und Abstürze testet. Er kombiniert verschiedene Testverfahren mit Cloud-Rechenleistung, um Fehler zu finden, bevor sie Angreifern auffallen.

OSS-Fuzz ist ein Dienst von Google, der seit 2016 kostenlos für Open-Source-Projekte — also für Software, deren Quellcode öffentlich einsehbar ist — zur Verfügung steht. Der Dienst testet Programme automatisch, indem er ihnen massenhaft zufällige oder gezielt verformte Eingaben schickt und schaut, was passiert. Stürzt das Programm ab oder verhält es sich seltsam, ist das ein Hinweis auf einen Fehler. Dieses Testverfahren heißt Fuzzing. OSS-Fuzz erledigt das nicht einmalig, sondern läuft rund um die Uhr auf Googles Servern — ohne dass jemand manuell eingreifen muss. Bis 2024 hat der Dienst über 10.000 Sicherheitslücken in mehr als 1.000 Open-Source-Projekten aufgespürt.

Warum OSS-Fuzz für die gesamte Softwarewelt zählt

Open-Source-Bibliotheken stecken in fast jeder kommerziellen Software. Ein Fehler im Bildbearbeitungs-Framework libpng oder im Kompressionswerkzeug zlib kann deshalb Millionen von Programmen gleichzeitig verwundbar machen. Wer diese Basisbausteine absichert, schützt damit indirekt einen Großteil des Internets.

Kleine Open-Source-Projekte haben oft keine eigene Sicherheitsabteilung. OSS-Fuzz übernimmt diese Rolle gratis. Das Projekt senkt die Hürde, gründliche Sicherheitstests durchzuführen, von „brauche ich ein eigenes Team“ auf „ich muss mich nur einmal anmelden“. Das verändert, was für kleine Entwicklergruppen realistisch erreichbar ist.

Wie OSS-Fuzz Fehler aufspürt

Im Kern steht das Fuzzing: Ein Programm erhält tausende automatisch erzeugte Eingaben pro Sekunde — manipulierte Bilddateien, kaputte XML-Dokumente, unerwartete Zeichenketten. Die meisten Eingaben werden einfach verarbeitet. Stürzt das Programm ab oder greift es auf verbotene Speicherbereiche zu, schlägt OSS-Fuzz Alarm und speichert die genaue Eingabe, die den Fehler ausgelöst hat.

OSS-Fuzz setzt dabei auf mehrere Fuzzing-Werkzeuge gleichzeitig, darunter libFuzzer und AFL++. Diese Werkzeuge beobachten während des Tests, welche Codestellen gerade durchlaufen werden — ein Verfahren namens Coverage-guided Fuzzing, also eingabengesteuertes Abdeckungstesten. Führt eine neue Eingabe zu einer bisher unerreichten Codestelle, wird sie aufbewahrt und als Basis für weitere Mutationen genutzt. So arbeitet sich der Fuzzer methodisch durch das Programm vor, statt blind drauflos zu schießen.

Gefundene Fehler werden automatisch an die Entwickler des betroffenen Projekts gemeldet. Sie erhalten eine genaue Beschreibung und die Eingabe, die den Absturz reproduziert. Nach einer festgelegten Frist — in der Regel 90 Tage — wird der Bericht öffentlich gemacht, unabhängig davon, ob der Fehler bereits behoben wurde. Diese Praxis heißt Responsible Disclosure und soll Druck erzeugen, ohne Nutzer sofort zu gefährden.

OSS-Fuzz in der Praxis und in den Nachrichten

Zu den Projekten, die OSS-Fuzz regelmäßig testet, gehören der Chrome-Browser, der Linux-Kernel, OpenSSL — die Software, die verschlüsselte Verbindungen im Web absichert — und Hunderte weitere Kernbibliotheken. Wenn Sicherheitsforscher berichten, eine Lücke sei „durch automatisiertes Fuzzing entdeckt“ worden, steckt dahinter sehr häufig OSS-Fuzz oder ein ähnlicher Dienst.

In Finanznachrichten taucht OSS-Fuzz meist dann auf, wenn eine schwerwiegende Sicherheitslücke bekannt wird. Journalisten erwähnen den Dienst als Gegenbeispiel: Hätte das betroffene Projekt OSS-Fuzz genutzt, wäre die Lücke möglicherweise früher aufgefallen. 2023 integrierte Google zusätzlich KI-gestützte Techniken, die Fuzz-Tests gezielter auf fehleranfällige Codestellen lenken sollen — ein Hinweis darauf, dass der Dienst aktiv weiterentwickelt wird.

OSS-Fuzz ist kein Allheilmittel. Es findet gut bestimmte Fehlerklassen — Abstürze, Speicherfehler, Endlosschleifen — aber keine Designfehler in der Programmlogik. Ein Programm, das inhaltlich falsche Ergebnisse liefert, ohne je abzustürzen, entgeht dem Fuzzer. Deshalb gilt Fuzzing in der Praxis als eine Schicht in einem mehrschichtigen Sicherheitskonzept, nicht als alleinige Lösung.

Aktuální zprávy

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.