Abo
  • Services:
Anzeige
American Fuzzy Lop kann Bugs wie Heartbleed finden.
American Fuzzy Lop kann Bugs wie Heartbleed finden. (Bild: Screenshot)

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.

Anzeige

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

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.

 Fuzzing: Wie man Heartbleed hätte finden könnenFuzzing des TLS-Handshakes 

eye home zur Startseite
Manga 27. Apr 2015

Ja stimmt... Du hast vollkommen recht... Es ist in der Größenordnung wie Native code...

olleIcke 16. Apr 2015

btw: bei xkcd wurde es auch schön anschaulich erklärt wie ich finde: xkcd.com/1354...

EvilSheep 09. Apr 2015

dem wunsch schliese ich mich an!

estev 09. Apr 2015

Made my day.

heftig 09. Apr 2015

Verdammt... zu spät :D



Anzeige

Stellenmarkt
  1. via 3C - Career Consulting Company GmbH, München, Frankfurt, Hamburg, Düsseldorf, Berlin (Home-Office)
  2. ARRK ENGINEERING, München
  3. Basler AG, Ahrensburg
  4. diconium digital solutions GmbH, Stuttgart


Anzeige
Blu-ray-Angebote
  1. 29,99€ (Vorbesteller-Preisgarantie)
  2. Einzelne Folge für 2,99€ oder ganze Staffel für 19,99€ kaufen (Amazon Video)
  3. (u. a. Reign, Person of Interest, Gossip Girl, The Clone Wars)

Folgen Sie uns
       


  1. Wegen Lieferproblemen

    Spekulationen über Aus für Opels Elektroauto Ampera-E

  2. Minix

    Fehler in Intel ME ermöglicht Codeausführung

  3. Oracle

    Java SE 9 und Java EE 8 gehen live

  4. Störerhaftung abgeschafft

    Bundesrat stimmt für WLAN-Gesetz mit Netzsperrenanspruch

  5. Streaming

    Update für Fire TV bringt Lupenfunktion

  6. Entlassungen

    HPE wird wohl die Mitarbeiterzahl dezimieren

  7. Satellitennavigation

    Neuer Broadcom-Chip macht Ortung per Mobilgerät viel genauer

  8. VR

    Was HTC, Microsoft und Oculus mit Autos zu tun haben

  9. Razer-CEO Tan

    Gaming-Gerät für mobile Spiele soll noch dieses Jahr kommen

  10. VW-Programm

    Jeder Zehnte tauscht Diesel gegen Elektroantrieb



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Kein App Store mehr: iOS-Nutzer sollten das neue iTunes nicht installieren
Kein App Store mehr
iOS-Nutzer sollten das neue iTunes nicht installieren
  1. Drei Netzanbieter warnt vor Upgrade auf iOS 11
  2. Betriebssystem Apple veröffentlicht Goldmaster für iOS, tvOS und WatchOS
  3. Apple iPhone 8 und iPhone 8 Plus lassen sich drahtlos laden

Inspiron 5675 im Test: Dells Ryzen-Gaming-PC reicht mindestens bis 2020
Inspiron 5675 im Test
Dells Ryzen-Gaming-PC reicht mindestens bis 2020
  1. Android 8.0 im Test Fertig oder nicht fertig, das ist hier die Frage
  2. Logitech Powerplay im Test Die niemals leere Funk-Maus
  3. Polar vs. Fitbit Duell der Schlafexperten

Energieversorgung: Windparks sind schlechter gesichert als E-Mail-Konten
Energieversorgung
Windparks sind schlechter gesichert als E-Mail-Konten
  1. Messenger Wire-Server steht komplett unter Open-Source-Lizenz
  2. Apache Struts Monate alte Sicherheitslücke führte zu Equifax-Hack
  3. Kreditrating Equifax' Krisenreaktion ist ein Desaster

  1. Re: Wie konnte die Menschheit nur solange Überleben

    Niaxa | 15:21

  2. Re: Folgen der Ignoranz

    schily | 15:16

  3. Re: Eltern leben in einer Welt aus Angst

    Niaxa | 15:13

  4. Re: und draus gelernt?

    Prinzeumel | 15:12

  5. Re: Warum?

    quasides | 15:12


  1. 15:30

  2. 15:06

  3. 14:00

  4. 13:40

  5. 13:26

  6. 12:49

  7. 12:36

  8. 12:08


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel