Abo
  • Services:

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

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.

Artikel von Hanno Böck veröffentlicht am
American Fuzzy Lop kann Bugs wie Heartbleed finden.
American Fuzzy Lop kann Bugs wie Heartbleed finden. (Bild: Screenshot)

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?

Inhalt:
  1. Fuzzing: Wie man Heartbleed hätte finden können
  2. Address Sanitizer und American Fuzzy Lop
  3. Fuzzing des TLS-Handshakes

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.

Stellenmarkt
  1. Hella Gutmann Solutions GmbH, Ihringen bei Freiburg im Breisgau
  2. Auvesy GmbH, Landau in der Pfalz

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 
  1. 1
  2. 2
  3. 3
  4.  


Anzeige
Hardware-Angebote
  1. 39,99€ statt 59,99€
  2. 449€ + 5,99€ Versand
  3. täglich neue Deals bei Alternate.de

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


Folgen Sie uns
       


Asus ROG Phone - Hands On auf der Computex 2018

Das ROG ist ein interessantes Konzept, das sich schon beim an Gamer gerichteten Design von anderen Telefonen unterscheidet. Außergewöhnlich sind die vielen Zubehörteile: darunter ein Handheld-Adapter, ein Desktop-Dock, ein Anstecklüfter und ein Controllermodul. Wir haben es uns angeschaut.

Asus ROG Phone - Hands On auf der Computex 2018 Video aufrufen
Shift6m-Smartphone im Hands on: Nachhaltigkeit geht auch bezahlbar und ansehnlich
Shift6m-Smartphone im Hands on
Nachhaltigkeit geht auch bezahlbar und ansehnlich

Cebit 2018 Das deutsche Unternehmen Shift baut Smartphones, die mit dem Hintergedanken der Nachhaltigkeit entstehen. Das bedeutet für die Entwickler: faire Bezahlung der Werksarbeiter, wiederverwertbare Materialien und leicht zu öffnende Hardware. Außerdem gibt es auf jedes Gerät ein Rückgabepfand - interessant.
Von Oliver Nickel


    Hacker: Was ist eigentlich ein Exploit?
    Hacker
    Was ist eigentlich ein Exploit?

    In Hollywoodfilmen haben Hacker mit Sturmmasken ein ganzes Arsenal von Zero-Day-Exploits, und auch sonst scheinen die kleinen Programme mehr und mehr als zentraler Begriff der IT-Sicherheit verstanden zu werden. Der Hacker Thomas Dullien hingegen versucht sich an einem theoretischen Modell eines Exploits.
    Von Hauke Gierow

    1. IoT Foscam beseitigt Exploit-Kette in Kameras
    2. Project Capillary Google verschlüsselt Pushbenachrichtigungen Ende-zu-Ende
    3. My Heritage DNA-Dienst bestätigt Datenleck von 92 Millionen Accounts

    K-Byte: Byton fährt ein irres Tempo
    K-Byte
    Byton fährt ein irres Tempo

    Das Startup Byton zeigt zur Eröffnung der Elektronikmesse CES Asia in Shanghai das Modell K-Byte. Die elektrische Limousine basiert auf der Plattform des SUV, der vor fünf Monaten auf der CES in Las Vegas vorgestellt wurde. Unter deutscher Führung nimmt der Elektroautohersteller in China mächtig Fahrt auf.
    Ein Bericht von Dirk Kunde

    1. KYMCO Elektroroller mit Tauschakku-Infrastruktur
    2. Elektromobilität Niu stellt zwei neue Elektromotorroller vor
    3. 22Motor Flow Elektroroller soll vor Schlaglöchern warnen

      •  /