• IT-Karriere:
  • Services:

Fehlersuche: LLVM integriert eigenes Fuzzing-Werkzeug

Durch Fuzzing-Technik können unter anderem Sicherheitslücken gefunden werden. Mit Libfuzzer stellt das LLVM-Projekt nun eine eigene Bibliothek dazu bereit und nutzt diese auch selbst für den Compiler Clang.

Artikel veröffentlicht am ,
Das LLVM-Projekt demonstriert erfolgreich die Bibliothek Libfuzzer.
Das LLVM-Projekt demonstriert erfolgreich die Bibliothek Libfuzzer. (Bild: LLVM)

Die Idee, Software immer wieder mit Eingabedaten aufzurufen, die kleine Fehler enthalten, um Fehler aufzufinden, wird Fuzzing genannt. Der Compiler Clang unterstützt dies zum Teil bereits mit dem Address Sanitizer und anderen Werkzeugen. Mit der Bibliothek Libfuzzer vereinfacht das LLVM-Projekt nun das Erstellen verschiedenere Fuzzing-Test und nutzt diese bereits selbst erfolgreich.

Stellenmarkt
  1. Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) GmbH, Bonn-Röttgen
  2. DMK E-BUSINESS GmbH, Berlin-Potsdam, Köln, Chemnitz

So hat das Team zwei kleine Werkzeuge erstellt, die auf der Bibliothek aufbauen. Eines sorgt für die zufällige Sortierung von Bytes als Eingaben. Außerdem können aber auch Token, welche ebenfalls zufällig strukturiert werden, als Eingaben genutzt werden. Bei den Tokens handelt es sich um Einträge in einem Korpus, das sprachspezifische Anweisungen enthält, also zum Beispiel Teile von C++-Code.

Damit sind einige Fehler in Clang selbst aufgefunden worden. Um zu demonstrieren, dass Libfuzzer aber auch für andere Software als LLVM-Projekte genutzt werden kann, haben die Entwickler nach Fehlern in PCRE, Glibc sowie Musl gesucht und diese auch gefunden. Wir haben vor einigen Tagen beschrieben, wie der Heartbleed-Bug durch Fuzzing aufgefunden werden kann. Das LLVM-Team konnte den Fehler mit Libfuzzer und den gleichen Grundlagen, wie sie in dem Artikel beschrieben wurden, ebenfalls rekonstruieren. Letzteres habe weniger als eine Minute gedauert.

Künftig soll das LLVM-Projekt auch von einem öffentlichen Build-Bot profitieren, der die Fuzzing-Werkzeuge benutzt. Auch damit sei bereits ein Fehler gefunden worden. Das Projekt ruft wegen dieser positiven Erfahrungen dazu auf, die Bibliothek selbst einzusetzen und damit gefundene Fehler, die wirklich aufregend seien, auch an LLVM zu melden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de

TheAlexEe 10. Apr 2015

Hoffe dadurch werden weniger Speicher Probleme in C/C++ Programmen auftreten, welche, wie...


Folgen Sie uns
       


Yakuza - Like a Dragon - Gameplay (Xbox Series X)

Im Video zeigt Golem.de, wie Yakuza - Like a Dragon auf der Xbox Series X aussieht.

Yakuza - Like a Dragon - Gameplay (Xbox Series X) Video aufrufen
    •  /