Dakons blog

Erstellt: 18. 4. 2014, 16:06

SSL-Peergroup (2)

Tags:

Nach dem der Heartbleed-Bug bekannt geworden ist habe ich das getan was jeder gute Programmierer an dieser Stelle tun würde: den Code angucken. Hätte ich den Fehler auch gefunden? Weiß ich nicht. Was mir jedoch aufgefallen ist, ist ein anderes Detail, das ich zunächst nur als sehr schlechten Stil betrachtet habe: wenn OpenSSL selbst einen Heartbeat-Request rausschickt legt es dort 20 Byte Payload bei. 4 Byte sind dabei ein einfacher Zähler, und nur diese 4 Byte werden auch hinterher geprüft. Warum schicke ich 20 Byte raus wenn ich die nicht alle prüfe? Ich sehe sowas als Pfusch an.

Als ich die Tage bei einem Kollegen im Büro stand scrollte da das IRC-Log der OpenBSD-Leute vorbei. Und die fanden das noch aus einem ganz anderen Grund bedenklich: die anderen 16 Byte sind nämlich Zufallszahlen, das heißt das das Senden von Heartbeat-Requests dem Gegenüber direkt 16 Byte aus dem eigenen Entropie-Pool zur Verfügung stellt. Bei Systemen mit schlechten Generatoren ermöglich das natürlich wunderbare Attacken, da der interne Zustand des Generators jetzt weiter eingegrenzt werden kann.

Anbieterkennzeichnung