Login
Login-Name Passwort


 
Newsletter
Werbung

Mi, 2. Juli 2014, 09:27

Software::Security

OpenSSL legt Projektplan vor

Das von der Linux Foundation unterstützte OpenSSL-Projekt hat seine Situation analysiert und acht wesentliche Mängel identifiziert. Der jetzt vorgestellte Projektplan zeigt auf, wie die Probleme beseitigt werden sollen.

OpenSSL: Schwerwiegender Fehler Heartbleed

Codenomicon - www.codenomicon.com

OpenSSL: Schwerwiegender Fehler Heartbleed

Der katastrophale Fehler »Heartbleed« in OpenSSL führte zu diversen schnellen Reaktionen. Eine davon war die Gründung der Core Infrastructure Initiative durch die Linux Foundation. Diese stellt einen Fonds von einigen Millionen US-Dollar bereit, der Projekte unterstützen soll, die für das ganze Internet oder ganze Industrien kritisch sind und dringend Geld benötigen. Erster Nutznießer des Fonds ist nun OpenSSL. Zuletzt wurde das Projekt nach Angaben eines Entwicklers nur von wenigen Personen überwiegend in ihrer Freizeit betreut, könnte aber durchaus ein halbes Dutzend Vollzeitentwickler gebrauchen.

Im Zuge der Unterstützung durch die Core Infrastructure Initiative haben die Entwickler jetzt einen Projektplan vorgelegt. Dieser identifiziert acht Problembereiche im OpenSSL-Projekt und zeigt Wege zu ihrer Lösung auf.

Das erste Problem ist die lange Liste von noch nicht bearbeiteten Fehlermeldungen. Einige Tickets sind seit Jahren offen und wurden noch nie angesehen, einige wurden jedoch bearbeitet, aber das Schließen wurde vergessen. Die Tickets sollen nun schnell bearbeitet werden. Möglicherweise werden alle alten Tickets sofort geschlossen, da unklar ist, ob sie aktuelle Versionen noch betreffen.

Die Dokumentation der Bibliothek ist unvollständig und in einigen Fällen auch falsch. Binnen eines Jahres wollen die Entwickler sie vervollständigen und dabei möglicherweise ein neues Dokumentationssystem einführen. Veraltete oder interne Programmierschnittstellen (APIs), die von keiner Anwendung verwendet werden sollen, sollen entsprechend markiert werden oder undokumentiert bleiben.

Die Komplexität der Bibliothek soll drastisch reduziert werden, eine Feststellung, die bereits das OpenBSD-Projekt im Rahmen eines Audits getroffen hatte, infolge dessen das LibreSSL-Projekt gestartet wurde. So wollen nun auch die OpenSSL-Entwickler das öffentliche API reduzieren und überarbeiten, den FIPS-Code überarbeiten, so dass er weniger intrusiv ist, und die auch von OpenBSD heftig kritisierte Speicherverwaltung ändern.

Große Mängel weist OpenSSL auch im Stil des Codes auf. Hier geht alles durcheinander und niemand kann den Code noch verstehen. Abhilfe sollen ein klarer Code-Standard, eine Neuformatierung des Codes und schließlich eine Refaktorisierung des Codes bringen.

Auch Code-Reviews fehlten in dem Projekt bisher völlig. Code-Reviews sollen künftig für jede Änderung zwingend werden. Dazu will sich das Team eines Review-Systems bedienen, das in den nächsten sechs Monaten in Betrieb gehen soll. Daneben sollen externe Audits des Codes stattfinden, und der Code soll mit Werkzeugen zur statischen und dynamischen Analyse regelmäßig untersucht werden.

Die Veröffentlichungsstrategie ist ein weiterer Punkt. Sie fehlte bisher weitgehend, weshalb die Benutzer nie wissen, wann eine neue Funktionalität erscheint, und es gibt zuviele Versionen, die gepflegt werden müssen. Künftig sollen Veröffentlichungen geplant werden und es soll klare Aussagen geben, wie lange welche Version unterstützt wird. Veröffentlichungen sollen nicht mehr neue Funktionen und kritische Korrekturen vermischen. Damit in Zusammenhang steht die paradoxerweise bisher fehlende Sicherheitsstrategie. Es soll eine Strategie festgeschrieben werden, wie sicherheitsrelevante Korrekturen vorgenommen werden und wer darüber benachrichtigt werden soll.

In ähnlicher Weise soll es endlich eine klare Plattformstrategie geben. OpenSSL unterstützt zahlreiche, oftmals obsolete Plattformen, was die Wartung erschwert. Die meisten Portierungen können von den Entwicklern überhaupt nicht getestet werden. Künftig soll es daher nur noch zwei primäre Plattformen geben: Linux und FreeBSD. Dazu sollen einige sekundäre Plattformen kommen. Der Code soll aufgeräumt werden, so dass plattformspezifischer Code nur noch in einem kleinen Teil von OpenSSL vorkommt und ifdef-Anweisungen weitgehend vermieden werden.

Der Schwerpunkt der Arbeit des nächsten Jahres wird auf der Abstellung der genannten Mängel liegen. Doch werden auch neue Funktionen benötigt, die das Team je nach Möglichkeit implementieren will. Dazu gehören die Unterstützung von IPv6, AEAD-Updates, Unterstützung neuer Verschlüsselungs-Suites wie CCM, Erweiterung von SSL_CONF, Unterstützung von DANE, verschiedene Sicherheitsstufen, OCB, Review des FIPS-Codes, Unterstützung für neue Plattformen wie ARMv8 und POWER8 sowie eingebaute Multithread-Unterstützung für POSIX-Threads und Windows-Threads.

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