/ Internet / OSS-Fuzz: Google will Open-Source-Software mit Fuzzing sicherer machen

OSS-Fuzz: Google will Open-Source-Software mit Fuzzing sicherer machen

124842-131244-i_rc.jpg
Heinrich Voigts an Februar 19, 2017 - 12:10 am in Internet

Fuzzing ist eines der mächtigsten Tools, um Sicherheitslücken in Software zu identifizieren. Google möchte jetzt wichtigen Open-Source-Projekten dabei helfen, Lücken in ihrer Software zu identifizieren. Projekte können sich bewerben und werden dann dauerhaft auf Google-eigenen Servern getestet.


Große Fortschritte bei Fuzzing-Tools

Beim Fuzzing nutzt man fehlerhafte Eingabedaten und prüft, ob die Software beim Verarbeiten der Daten abstürzt. In den letzten Jahren hat es enorme Fortschritte bei der Entwicklung von Fuzzing-Software gegeben. Tools wie American Fuzzy Lop oder LibFuzzer nutzen dabei sogenanntes Coverage-basiertes Fuzzing. Dabei beobachtet das Fuzzing-Tool, welche Codepfade in einer Datei durch bestimmte Eingaben genutzt werden und passt die Fuzzing-Strategie entsprechend an.

Googles Initiative testet Software zunächst mit LibFuzzer. Später sollen andere Fuzzing-Tools dazukommen. Außerdem werden die Sanitizer-Tools von LLVM genutzt. Dabei handelt es sich um Compiler-Flags, die bestimmte Bug-Typen in C-Code finden, die normalerweise nicht zum Absturz einer Software führen.

Ein Beispiel für eine Software, die bereits von Googles OSS-Fuzz getestet wird, ist FreeType. Die Bibliothek zur Verarbeitung von Schriftarten wird von vielen Browsern und unzähligen anderen Applikationen genutzt. FreeType ist ein sehr typischer Kandidat für eine Software, die von Fuzzing stark profitieren kann. Es unterstützt sehr viele komplexe Dateiformate, beim Parsen der Font-Dateien kann viel schiefgehen.

Anhand von FreeType kann man sich ein Bild davon machen, wie Googles neues Projekt funktioniert: Findet der Fuzzer einen Bug, wird automatisch ein Bugreport in einem Google-eigenen Bugtracker angelegt und der Maintainer der Software informiert. Der Bug ist zunächst nur für den Maintainer einsehbar. Wenn der Bug gefixt ist oder wenn 90 Tage vorbei sind wird der Bugreport automatisch öffentlich.

Bewerben für OSS-Fuzz können sich Projekte, die eine große Nutzerbasis haben und wichtig für die IT-Infrastruktur sind. Um teilzunehmen müssen die Projekte dann einige Konfigurationen und Test-Code einreichen, der dann von Googles ClusterFuzz-Framework verarbeitet wird.

Für Software, die bereits relativ robust ist, ist Googles Fuzzing-Framework eine attraktive Option, um die Sicherheit weiter zu verbessern. Allerdings ist es in vielen Fällen überhaupt nicht nötig, mit viel Rechenpower Fuzzing zu betreiben. Bei vielen Softwareprojekten kann man mittels Fuzzing bereits nach Minuten Fehler finden. Dafür benötigt man keine rechenstarken Google-Server.

Der Autor dieses Texts betreibt das von der Core Infrastructure Initiative unterstützte Fuzzing Project, das ein ähnliches Ziel verfolgt. Er hat in den vergangenen Jahren hunderte Bugs mittels Fuzzing gefunden und an die entsprechenden Projekte gemeldet.

Read more on: Source

Kommentare sind deaktiviert