Address Sanitizer und American Fuzzy Lop

Ein für diesen Zweck besser geeignetes Tool ist Address Sanitizer. Dabei handelt es sich um eine Erweiterung des Compilers. Address Sanitizer ist seit einigen Jahren in den beiden wichtigsten freien C-Compilern GCC und LLVM integriert. Um es zu aktivieren, muss man ein Programm mit dem Parameter -fsanitize=address kompilieren. Auch Address Sanitizer macht ein Programm langsamer, allerdings im Durchschnitt nur um den Faktor 1,8 und ist damit für Fuzzing gut geeignet.

Stellenmarkt
  1. Mitarbeiter (m/w/d) IT-Support
    Otto Krahn Group GmbH, Hamburg
  2. IT-Teamleiter ERP (m/w/d)
    WE4YOU GmbH, verschiedene Standorte
Detailsuche

Ein Fuzzing-Tool, das in letzter Zeit Furore machte, ist American Fuzzy Lop. Entwickelt wurde es von Michal Zalewski vom Google-Sicherheitsteam, der auch unter seinem Nickname Lcamtuf bekannt ist. Mit Hilfe von American Fuzzy Lop wurden schon unzählige Sicherheitslücken in diversen Programmen gefunden.

Das Tool fügt dem zu testenden Programm spezielle Instruktionen hinzu, die es erlauben, Codepfade zu erkennen. Wenn American Fuzzy Lop bei einer bestimmten Eingabe einen neuen Codepfad erkennt, wird diese Eingabedatei als Startpunkt für das weitere Fuzzing genutzt.

Das Tool ist allerdings bisher nicht in der Lage, direkt Netzwerkeingaben zu fuzzen; es arbeitet lediglich auf Dateibasis. OpenSSL besitzt ein Kommandozeilentool, mit dem es etwa möglich ist, den Parser für Zertifikate und einige andere Dinge zu fuzzen, aber Heartbleed ist ein Fehler beim TLS-Handshake. Um hier mit einem Fuzzer anzugreifen, ist etwas mehr Arbeit nötig.

OpenSSL mit sich selbst reden lassen

Golem Karrierewelt
  1. Container Technologie: Docker und Kubernetes - Theorie und Praxis: virtueller Drei-Tage-Workshop
    27.-29.09.2022, virtuell
  2. Jira für Anwender: virtueller Ein-Tages-Workshop
    29.09.2022, virtuell
Weitere IT-Trainings

Der Autor dieses Artikels hat hierfür ein kleines Tool erstellt, das zwei Instanzen von OpenSSL miteinander einen Handshake durchführen lässt. Dabei findet keine echte Netzwerkkommunikation statt, die Handshake-Pakete werden lediglich über den Arbeitsspeicher hin- und hergereicht. Das Tool speichert dabei alle Handshake-Pakete als Dateien ab, ein normaler Handshake führt zu vier Datenpaketen. Zusätzlich besteht die Möglichkeit, auf der Kommandozeile Dateien zu übergeben und dadurch jeweils einen Teil des Handshakes zu ersetzen. Damit ist es möglich, den Handshake zu fuzzen.

Will man American Fuzzy Lop und Address Sanitizer in Kombination benutzen, gibt es ein paar Hürden. Address Sanitizer nutzt für seine Funktionalität einen mehrere Terabytes großen, virtuellen Speicherbereich. Da es sich nur um virtuellen Speicher handelt, ist dies kein direktes Problem. American Fuzzy Lop limitiert jedoch den virtuellen Speicher, den ein Programm nutzen darf. Es gibt verschiedene Ansätze, wie sich dieses Problem angehen lässt, sie haben aber alle Nachteile. In unserem Fall haben wir eine sehr einfache Lösung gewählt: Wir haben das Speicherlimit von American Fuzzy Lop deaktiviert (Parameter -m -1).

Das ist nicht ganz ungefährlich: In seltenen Fällen kann es dazu kommen, dass ein Fuzzing-Input dazu führt, dass ein Programm den gesamten Speicher eines Systems aufbraucht. Das kann auf dem System zu Programmabstürzen führen; in der Praxis kommt dies allerdings selten vor. Es sollten auf dem entsprechenden System nicht gleichzeitig wichtige Arbeiten durchgeführt werden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Fuzzing: Wie man Heartbleed hätte finden könnenFuzzing des TLS-Handshakes 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


Aktuell auf der Startseite von Golem.de
Krieg der Steine
Kopierte Lego-Mini-Figuren dürfen nicht verkauft werden

Lego hat einen Rechtsstreit um Mini-Figuren gegen einen Spielwarenhändler gewonnen, der Figuren aus China verkauft hat.

Krieg der Steine: Kopierte Lego-Mini-Figuren dürfen nicht verkauft werden
Artikel
  1. Nachhaltigkeit: Thüringens Reparaturbonus weiter stark nachgefragt
    Nachhaltigkeit
    Thüringens Reparaturbonus weiter stark nachgefragt

    Der Reparaturbonus wird in Thüringen weiter gut genutzt. Eine Stärkung der Gerätereparatur in ganz Deutschland wird noch geprüft.

  2. Web Components mit StencilJS: Mehr Klarheit im Frontend
    Web Components mit StencilJS
    Mehr Klarheit im Frontend

    Je mehr UI/UX in Anwendungen vorkommt, desto mehr Unordnung gibt es im Frontend. StencilJS zeigt, wie man verschiedene Frameworks mit Web Components zusammenbringt.
    Eine Anleitung von Martin Reinhardt

  3. Smartphones: Xiaomis neues Foldable ist wesentlich günstiger
    Smartphones
    Xiaomis neues Foldable ist wesentlich günstiger

    Das Xiaomi Mix Fold 2 ähnelt dem Samsung Galaxy Fold 4. Es ist ähnlich gut ausgestattet, kostet aber wesentlich weniger Geld.

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 • LG 38WN95C-W (UWQHD+, 144 Hz) 933,35€ • Sharkoon Light² 180 22,99€ • HyperX Cloud Flight 44€ • BenQ Mobiuz EX3410R 499€ • MindStar (u. a. AMD Ryzen 5 5600X 169€, Intel Core i5-12400F 179€ und XFX RX 6800 XT 699€) • Weekend Sale bei Alternate (u. a. AKRacing Master PRO 353,99€) [Werbung]
    •  /