Login
Newsletter
Werbung

Mo, 29. August 2016, 11:49

Software::Security

OpenSSL 1.1.0 erschienen

Das OpenSSL-Projekt hat die Version 1.1.0 der OpenSSL-Bibliothek freigegeben. Die neue Version bringt eine Reihe neuer Funktionen, ist aber inkompatibel mit der Vorgängerversion 1.0.x. Alle Anwendungen, die OpenSSL 1.1.x einsetzen wollen, müssen ihre Aufrufe sorgfältig prüfen, um keine neuen Sicherheitslücken zu schaffen.

Mirko Lindner

OpenSSL stellt alle Funktionalität für zeitgemäße Verschlüsselung bereit, von sicheren Zufallsgeneratoren über Hash- und Verschlüsselungs-Funktionen bis zu Schlüsselaustausch- und TLS-Protokollen. Sie ist ein kritischer Bestandteil der meisten freien Distributionen, nicht nur von Linux. Das 1998 gestartete Projekt konnte nämlich auf die schon vorhandene Bibliothek SSLeay von Ben Laurie zurückgreifen, die damals unter anderem für Apache-SSL benötigt wurde. Ben Laurie gehört heute immer noch zum OpenSSL-Projekt-Team.

Fast sechseinhalb Jahre nach OpenSSL 1.0.0 ist jetzt Version 1.1.0 erschienen. Vieles hat sich in dieser Zeit getan. Katastrophale Sicherheitslücken wie »Heartbleed« wurden entdeckt, und im Nachgang dieser Fehler wurde klar, dass die Projektstruktur selbst in einem katastrophalen Zustand war. Unter anderem mit Unterstützung der anlässlich dieser Missstände gegründeten Core Infrastructure Initiative der Linux Foundation wurde begonnen, die Probleme zu beseitigen. Der gesamte Code wurde einem oder sogar mehreren Audits unterzogen, die gefundenen Probleme beseitigt und mit dem Aufräumen des Codes begonnen.

Als Frucht dieser Arbeit bringt OpenSSL 1.1.0 laut der Ankündigung zahlreiche Erweiterungen und Änderungen mit. Neue Algorithmen wie ChaCha20, Poly130 und die CCM-Suites wurden aufgenommen. Diese werden auch dringend benötigt, da mehrere der bisherigen Algorithmen nicht mehr als ausreichend sicher betrachtet werden können und daher teils herabgestuft und teils entfernt wurden. So werden Verschlüsselungen mit 40 oder 56 Bit ebenso wie SSLv2 nicht mehr unterstützt. Das ebenso obsolete SSLv3 bleibt vorerst noch erhalten. Kerberos dagegen wurde entfernt. Es gibt ein neues Thread-API, eine verbesserte Test-Suite, Unterstützung für asynchrone Operationen, ein neues Bausystem, neue Sicherheitsstufen, Unterstützung für X25519, KDF, scrypt, HKDF und Zertifikatstransparenz und einiges mehr.

Viele Datenstrukturen sind nun nicht mehr von außen sichtbar. Diese Umstrukturierung zusammen mit anderen Änderungen an den Schnittstellen machen OpenSSL 1.1.0 inkompatibel mit früheren Versionen. Zahlreiche Programme, die OpenSSL nutzen, lassen sich ohne Änderungen nicht mehr compilieren. Doch mit dem einfachen Anpassen des Codes an die neue Schnittstelle ist es nicht getan. Sämtliche Aufrufe von OpenSSL müssen einer Überprüfung unterzogen werden. Denn teilweise wurden Änderungen an Funktionen vorgenommen, die zwar nicht zu Compilierfehlern führen, aber schwere Probleme aufwerfen können. So gibt die Funktion HMAC_Init_ex jetzt einen Fehlercode zurück und kann somit scheitern, was früher nicht der Fall war. Da existierende Programme dieses Scheitern nicht feststellen können, könnte damit eine neue Sicherheitslücke entstehen. Die Änderungen selbst sind zwar dokumentiert, aber nicht die Fallstricke, die daraus erwachsen. Allerdings war OpenSSL schon immer eine Bibliothek, die es leicht machte, die an sich erstklassigen Kryptografie-Funktionen falsch zu nutzen.

OpenSSL 1.1.0 steht als Quellcode zum Download zur Verfügung und dürfte bald seinen Weg in die Paket-Repositorien der Distributionen finden. Das Paket steht unter der Apache 2.0-Lizenz nach wie vor unter der dualen Lizenz der ursprünglichen Apache-Lizenz und der SSleay-Lizenz.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung