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

Fuzzing: Wie man Heartbleed hätte finden können

American Fuzzy Lop kann Bugs wie Heartbleed finden.
American Fuzzy Lop kann Bugs wie Heartbleed finden. (Bild: Screenshot)

Vor einem Jahr machte der Heartbleed-Bug in OpenSSL Schlagzeilen - doch solche Bugs lassen sich mit Hilfe von Fuzzing-Technologien aufspüren. Wir haben das mit den Tools American Fuzzy Lop und Address Sanitizer nachvollzogen und den Heartbleed-Bug neu entdeckt.

Anzeige

Vor einem Jahr, am siebten April 2014, veröffentlichten die Entwickler von OpenSSL Details zu einem Fehler in ihrer Software. Der Bug, der den Namen Heartbleed erhielt, führte zu einer intensiven Debatte über die Sicherheit wichtiger freier Softwareprojekte. Vielfach wurde dabei die Frage gestellt, warum dieser Fehler nicht früher gefunden wurde - über zwei Jahre befand sich Heartbleed im OpenSSL-Code.

Hätte Fuzzing Heartbleed gefunden?

Eine relativ simple Möglichkeit, Fehler in Software zu finden, ist das sogenannte Fuzzing. Die Idee dabei: Eine Software wird immer wieder mit Eingabedaten aufgerufen, die kleine Fehler enthalten. Stürzt das Programm ab, ist oft ein Fehler gefunden - in vielen Fällen deuten Abstürze auf fehlerhafte Speicherzugriffe hin, die zu Sicherheitslücken führen. Der IT-Sicherheitsspezialist David A. Wheeler hat sich nach Heartbleed ausführlich damit beschäftigt, ob und wie Fuzzing Heartbleed hätte finden können. Der Autor dieses Artikels konnte diese Frage nun in der Praxis beantworten.

Selbstverständlich ist es einfach, einen Fehler zu finden, wenn klar ist, wonach gesucht werden muss. Deshalb war bei diesem Experiment wichtig, dass keine spezifischen Informationen über Heartbleed genutzt werden sollten. So handelte es sich um einen Fehler in der TLS-Erweiterung Heartbeat - die kannte zum damaligen Zeitpunkt aber kaum jemand.

Fehlerhafter Lesezugriff im Speicher

Bei Heartbleed handelt es sich um einen Buffer Overflow beim Lesezugriff auf den Speicher. Solche Pufferüberläufe sind sehr häufig und auch schon seit Jahrzehnten bekannt. Als der Chaos Computer Club vor 30 Jahren das BTX-System der damaligen Deutschen Post hackte, nutzten die CCC-Mitglieder einen Bug, der Heartbleed erstaunlich ähnlich ist - zumindest wenn man ihrer Version der Geschichte glaubt.

Ein einfaches Beispiel für einen Buffer Overflow: Ein Programm nutzt einen Speicherbereich, der zehn Bytes lang ist. Versucht das Programm nun, aus diesem Speicherbereich 20 Bytes zu lesen, greift die Software auf den Speicher zu, der sich daneben befindet. Was dort gerade liegt, ist nicht genau vorhersehbar und hängt von vielen Details ab.

Um ein Programm erfolgreich fuzzen zu können, müssen die entsprechenden Fehler natürlich erkennbar sein, etwa durch einen Programmabsturz. Doch während schreibende Buffer Overflows meistens ein Programm zum Absturz bringen, läuft Software bei lesenden Buffer Overflows oft einfach weiter.

Es gibt eine Reihe von Tools, die eine bessere Erkennung von ungültigen Speicherzugriffen ermöglichen. Ein bekanntes Tool dieser Art ist Valgrind. Allerdings hat es einen Nachteil: Es ist extrem langsam, und die Ausführung eines Programms mit Hilfe von Valgrind dauert etwa zwanzigmal so lang wie sonst. Da man beim Fuzzing ein Programm millionenfach aufruft, ist Valgrind hier impraktikabel.

Address Sanitizer und American Fuzzy Lop 

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. ABUS Security-Center GmbH & Co. KG, Affing (bei Augsburg)
  2. Daimler AG, Stuttgart
  3. MBtech Group GmbH & Co. KGaA, Regensburg, Neutraubling
  4. afb Application Services AG, München


Anzeige
Spiele-Angebote
  1. 44,99€ (Vorbesteller-Preisgarantie)
  2. (u. a. Battlefield 4 für 4,99€, Battlefield Hardline 4,99€, Battlefront 19,99€, Mirrors Edge...
  3. 24,96€

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Sicherheitskonzeption für das App-getriebene Geschäft
  2. Mehr dazu im aktuellen Whitepaper von IBM
  3. Potenzialanalyse für eine effiziente DMS- und ECM-Strategie


  1. Gear S3 im Hands on

    Samsungs neue runde Smartwatch soll drei Tage lang laufen

  2. Geleakte Zugangsdaten

    Der Dropbox-Hack im Jahr 2012 ist wirklich passiert

  3. Forerunner 35

    Garmin zeigt Schnickschnack-freie Sportuhr

  4. Nahverkehr

    Hamburg und Berlin kaufen gemeinsam saubere Busse

  5. Zertifizierungsstelle

    Wosign stellt unberechtigtes Zertifikat für Github aus

  6. Logitech M330 und M220

    Silent-Mäuse für Lautstärkeempfindliche

  7. Virb Ultra 30

    Garmins neue Actionkamera reagiert auf Sprachkommandos

  8. Smart Home

    Bosch stellt neue Kameras und Multifunktionsrauchmelder vor

  9. Deepmind

    Googles KI soll Strahlentherapie bei Krebs optimieren

  10. Transformer Book 3 ausprobiert

    Asus' Surface dockt bei Spielern an



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Weltraumforschung: DFKI-Roboter soll auf dem Jupitermond Europa abtauchen
Weltraumforschung
DFKI-Roboter soll auf dem Jupitermond Europa abtauchen
  1. Softrobotik Oktopus-Roboter wird mit Gas angetrieben
  2. Warenzustellung Schweizer Post testet autonome Lieferroboter
  3. Lernroboter-Test Besser Technik lernen mit drei Freunden

OxygenOS vs. Cyanogenmod im Test: Ein Oneplus Three, zwei Systeme
OxygenOS vs. Cyanogenmod im Test
Ein Oneplus Three, zwei Systeme
  1. Android-Smartphone Update soll Software-Probleme beim Oneplus Three beseitigen
  2. Oneplus Three Update soll Speichermanagement verbessern
  3. Android-Smartphone Diskussionen um Speichermanagement beim Oneplus Three

Kritische Infrastrukturen: Wenn die USV Kryptowährungen schürft
Kritische Infrastrukturen
Wenn die USV Kryptowährungen schürft
  1. Ripper Geldautomaten-Malware gibt bis zu 40 Scheine aus
  2. Ransomware Trojaner Fantom gaukelt kritisches Windows-Update vor
  3. Livestreams Ein Schuss, ein Tor, ein Trojaner

  1. Re: Neeeeeiiiinnnnn

    eXXogene | 17:58

  2. Das veröffentliche Dokument ist extrem manipulativ.

    Pjörn | 17:56

  3. Re: Wie bescheuert muss man eigentlich sein

    Hotohori | 17:55

  4. Fehlt nur ein MP3 Player mit Bluetooth

    Mopsmelder500 | 17:51

  5. Re: Gewährleistungsrecht

    Hotohori | 17:50


  1. 18:00

  2. 17:59

  3. 17:13

  4. 16:45

  5. 16:05

  6. 15:48

  7. 15:34

  8. 14:40


  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