Abo
  • 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. Dataport, Hamburg
  2. Lagardère Travel Retail Deutschland GmbH, Wiesbaden

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.



Anzeige
Blu-ray-Angebote
  1. 4,25€
  2. ab je 2,49€ kaufen
  3. 9,99€

TheAlexEe 10. Apr 2015

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


Folgen Sie uns
       


Das Abschlussgespräch zur E3 2018 (Analyse, Einordnung, Zuschauerfragen) - Live

Im Abschlussgespräch zur E3 2018 berichten die Golem.de-Redakteure Peter Steinlechner und Michael Wieczorek von ihren Eindrücken der Messe, analysieren die Auswirkungen auf die Branche und beantworten die Fragen der Zuschauer.

Das Abschlussgespräch zur E3 2018 (Analyse, Einordnung, Zuschauerfragen) - Live Video aufrufen
The Cycle angespielt: Wenn Freunde sich in den Rücken fallen
The Cycle angespielt
Wenn Freunde sich in den Rücken fallen

Unter 20 Leuten findet sich immer ein Verbündeter - und der ist bei The Cycle des Berliner Studios Yager wichtig, denn wir haben nur 20 Minuten, um Aufträge zu erfüllen und von einem Planeten zu fliehen. In der Closed Alpha klappte das nämlich nicht immer so, wie von uns beabsichtigt.
Ein Hands on von Marc Sauter

  1. Contracts Sniper Ghost Warrior 4 ohne offene Welt
  2. Human Head Studios Wikingerspiel Rune kommt in den Early Access
  3. Games Deutsche Spielentwickler verlieren weiter Marktanteile

OLKB Planck im Test: Winzig, gerade, programmierbar - gut!
OLKB Planck im Test
Winzig, gerade, programmierbar - gut!

Wem 60-Prozent-Tastaturen wie die Vortex Poker 3 noch zu groß sind, der kann es mal mit 40 Prozent versuchen: Mit der voll programmierbaren Planck müssen wir anders als erwartet keine Abstriche machen - aber eine Umgewöhnung und die Einarbeitung in die Programmierung sind erforderlich.
Ein Test von Tobias Költzsch

  1. Alte gegen neue Model M Wenn die Knickfedern wohlig klackern
  2. Kailh KS-Switch im Test Die bessere Alternative zu Cherrys MX Blue
  3. Apple-Patentantrag Krümel sollen Macbook-Tastatur nicht mehr stören

Threadripper 2990WX und 2950X im Test: Viel hilft nicht immer viel
Threadripper 2990WX und 2950X im Test
Viel hilft nicht immer viel

Für Workstations: AMDs Threadripper 2990WX mit 32 Kernen schlägt Intels ähnlich teure 18-Core-CPU klar und der günstigere Threadripper 2950X hält noch mit. Für das Ryzen-Topmodell muss aber die Software angepasst sein und sie darf nicht zu viel Datentransferrate benötigen.
Ein Test von Marc Sauter

  1. Threadripper 2990X AMDs 32-Kerner soll mit 4,2 GHz laufen
  2. AMD Threadripper v2 mit 32 Kernen erscheint im Sommer 2018
  3. Raven Ridge AMDs Athlon kehrt zurück

    •  /