Die Entwickler des OpenSSL-Sprößlings LibreSSL haben vor einer Woche die erste Version ihrer Software veröffentlicht, die auch andere Plattformen als nur OpenBSD unterstützt. Damit wird die SSL-Bibliothek eine echte Alternative zum Heartbleed-geplagten OpenSSL zu werden.
Die Entwickler von OpenBSD hatten LibreSSL als Reaktion auf den Heartbleed-Bug aus der Taufe gehoben, um den Code der meistgenutzten SSL-Bibliothek zu bereinigen. Dabei sollten vor allem wenig genutzte Funktionen entfernt werden und der Quellcode kompakter, aufgeräumter und lesbarer werden.
Mit dieser Ausbreitung auf andere Betriebssysteme kamen auch neue Probleme, beispielsweise bei der Nutzung des Befehls fork(), der eine identische Kopie eines Prozesses anlegen soll. Bei OpenSSL lefert der geforkte Prozess andere, neue Zufallszahlen, wie es auch gedacht ist, bei LibreSSL kommen dieselben Zahlen.
Das LibreSSL-Team argumentiert , dass auch OpenSSL nur einen recht kruden Workaround nutzt, den sie selbst nicht in ihre Bibliothek einbauen wollen. Schließlich sei es das Ziel des Projekts, gerade solchen Bloat (Aufblähung) und gefährliche Workarounds, die durch den Zwang zur Portabilität entstanden waren, wieder zu entfernen. Die BSD-affinen LibreSSL-Entwickler stehen auf dem Standpunkt, die Linuxer müssten ihren Kernel fixen, nicht sie die SSL-Implementierung.
Und – oh Wunder – man rauft sich zusammen und der Linux-Kernel soll entsprechend angepasst werden:
Der Linux-Kern soll auf Anfrage des LibreSSL-Teams einen neuen Systemaufruf bekommen. Diese Funktion getrandom() soll analog zu getentropy() auf OpenBSD funktionieren. So lässt sich das fork-Problem sauber lösen und damit auch ein möglicher Angriff durch vorsätzliches Aufbrauchen von Filehandles beseitigen.