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. E-Learning Manager (m/w/d)
    ALLPLAN GmbH, München
  2. Informatiker / Fachinformatiker im IT-Servicedesk (m/w/d)
    Heinrich Schmid Systemhaus GmbH, Reutlingen
Detailsuche

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


Aktuell auf der Startseite von Golem.de
Cyrcle Phone 2.0
Rundes Smartphone soll 700 Euro kosten

Dass Mobiltelefone in den letzten 20 Jahren meist nicht rund gewesen sind, scheint einen guten Grund zu haben, wie das Cyrcle Phone 2.0 zeigt.

Cyrcle Phone 2.0: Rundes Smartphone soll 700 Euro kosten
Artikel
  1. Bundesinnenministerium: Nur jede neunte Verwaltungsleistung ist digitalisiert
    Bundesinnenministerium
    Nur jede neunte Verwaltungsleistung ist digitalisiert

    Meldebescheinigungen oder Baugenehmigungen warten weiter auf die Digitalisierung.

  2. Stühle und Tische: Ikea bringt Möbel fürs Gaming-Zimmer
    Stühle und Tische
    Ikea bringt Möbel fürs Gaming-Zimmer

    Stühle, höhenverstellbare Tische und Zubehör: Ikea bringt viele Produkte heraus, die sich an Gamer richten - auch Mauspads und Trinkbecher.

  3. Smartphones: Huawei versucht nicht mehr, die besten Produkte zu machen
    Smartphones
    Huawei versucht nicht mehr, die besten Produkte zu machen

    Das Handelsembargo der USA gegen Huawei zeigt Wirkung, wenn auch anders als geplant.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • iPhone 13: jetzt alle Modelle vorbestellbar • Sony Pulse 3D PS5-Headset Midnight Black vorbestellbar 89,99€ • Breaking Deals mit Club-Rabatten (u. a. Samsung 65" QLED 1.189,15€) • WD Black SN750 1TB 96,99€ • Amazon Exklusives in 4K-UHD • GP Anniversary Sale: History & War [Werbung]
    •  /