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. Systementwickler / Administrator IoT-Solutions (w/m/d)
    KHS GmbH, Dortmund
  2. System Engineer (m/w/d)
    Uniplast Knauer GmbH & Co. KG, Dettingen
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
Führung in der IT
Über das Unentbehrlichsein

Wie ich als Chef zum wandelnden Lexikon wurde und dabei meinen Spaß an der Arbeit verlor - und wie ich versuche, es besser zu machen.
Ein Erfahrungsbericht von @SoFuckingAgile

Führung in der IT: Über das Unentbehrlichsein
Artikel
  1. September 2023: Gemeinnützige Organisationen behalten E-Auto-Förderung
    September 2023
    Gemeinnützige Organisationen behalten E-Auto-Förderung

    Das Bundeswirtschaftsministerium hat bestätigt, dass ab September 2023 neben Privatpersonen auch gemeinnützige Organisationen Fördermittel für E-Autos bekommen.

  2. Kia-Challenge: US-Jugendliche knacken Autos mit USB-Kabeln
    Kia-Challenge
    US-Jugendliche knacken Autos mit USB-Kabeln

    Auf Tiktok und Youtube machen Videos die Runde, in denen Jugendliche Autos von Kia und Hyundai klauen. Wäre das auch hier möglich?

  3. Financial Modeling World Cup: Excel-E-Sport im Fernsehen
    Financial Modeling World Cup
    Excel-E-Sport im Fernsehen

    Ein TV-Sender in den USA übertrug erstmals die Ausscheidung der Excel-Weltmeisterschaft.

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 • PS5 jetzt bestellbar • Neuer MM-Flyer • MindStar (Gigabyte RTX 3070 Ti 699€, XFX RX 6950 XT 999€) • eBay Re-Store -50% • AVM Fritz-Box günstig wie nie • Top-SSDs 1TB/2TB (PS5) zu Hammerpreisen • MSI-Sale: Gaming-Laptops/PCs -30% • Der beste Gaming-PC für 2.000€ [Werbung]
    •  /