Vergleich zwischen Closed und Open Source

Aus NetzweltWiki

Wechseln zu: Navigation, Suche

Vielfach liest und hört man insbesondere bei Sicherheitsbetrachtungen von Software von geheimen und öffentlichen Quelltexten, auch closed source und open source genannt. Geheime Quelltexte sind nur für den Softwarehersteller einsehbar. Nur er kompiliert daraus das fertige, für die Öffentlichkeit bestimmte Programm. Ausnahmsweise gewährt man unter gewissen Umständen auch Dritten Einblick in den Quelltext. Hierbei werden aber hohe Hürden gestellt: Non disclosure agreements also vertragliche Geheimhaltungserklärungen, nur auszugsweiser Einblick etc.. Meißt ist diese Form bei Payware und Shareware zu finden, weniger bei Freeware. Öffentliche Quelltexte hingegen sind für Jedermann einsehbar. Jeder kann sich anschauen, was durch diese Software genau passiert. Durch das Selbstkompilieren kann man sicherstellen, daß das fertige Programm auch genau das macht, was im Quelltext steht und keine Funktion hinzugefügt, verändert oder weggelassen wurde. Meistens sind öffentliche Quelltexte auch freie Software und ist somit kostenlos.

Hier mal eine Gegenüberstellung:

geschlossener Quelltext

Wird auch closed source genannt. Es ist relativ einfach, komplette Vorgehensweisen vor den Blicken Anderer zu schützen (security by obscurity - Sicherheit durch Verschleierung). Der Aufwand, um sich durch ein Programm zu arbeiten, erhöht sich, da man nur per Disassembler und Debugger vorgehen kann. Es ist nicht möglich ein Programm exakt nur aus der fertig kompilierten Version nachzubauen um etwa ein Konkurrenzprodukt zu erschaffen, es ist zwar theoretisch möglich aber rein praktisch ist dies absolut unwirtschaftlich, lediglich kleine Teile des Programms könnte man sich wirtschaftlich sinnvoll abschauen. Geheime Quelltexte bieten also einen besseren Schutz vor Nachahmern, dies ist ein nicht zu verachtender wirtschaftlicher Aspekt. Bei einem Großteil der Software ist es aus wirtschaftlicher Schätzung heraus nicht möglich das Entwicklungsmodell zu ändern.

Ein Nachteil ist das nicht überprüft werden, ob das Programm stets korrekt arbeitet oder sich an gültige Standard hält. Auch kann ein Anwender nicht ausschließen, daß es noch versteckte Funktionen gibt, die z.B. bestimmte Sicherheitsfunktionen komplett umgehen (auch Backdoors genannt). Auch auf Grund menschlichen Versagens ist es möglich das man unabsichtlich etwas einbaut das später als Backdoor erkannt und ausgenutzt wird. Andere Programmierer können nicht die Qualität des Quelltextes überprüfen. Das führt dazu, daß geheime Quelltexte oftmals lange Zeit unentdeckte Sicherheitsheitslücken haben Wenn der Quelltext in die falschen Hände gerät oder ungewollt veröffentlicht wird, kann dies gefährlich werden. Unentdeckte Sicherheitslücken könnten dann ausgenutzt werden, ohne daß der Anwender oder der Programmierer es erfährt.

offener Quelltext

Wird auch open source genannt. Andere Programmierer dürfen den Quelltext überprüfen. Die Wahrscheinlichkeit, daß es unentdeckte Sicherheitslücken gibt, ist geringer um so mehr Benutzer und somit auch Programmierer sich den Quelltext ansehen. "security revision" wird möglich. Hintertüren und Trojanische Pferde fallen schnell auf und werden beseitigt. Es ist auch möglich, den Quelltext zu beziehen und selbst zu compilieren. Dies verringert die Chance, daß eine Hintertür nachträglich eingebaut ist, noch weiter. Man kann sich auch - falls vorhanden - Meinungen von unabhängigen Instanzen einholen, die jene Qualität über die Software beurteilen. Die Erlaubnis des Herstellers vorausgesetzt, ist es als Programmierer oder zahlender Kunde relativ einfach, individuelle Anpassungen und Erweiterungen am Programm vorzunehmen. Der meiste offene Quelltext ist auch Freie Software so das die Erlaubnis des Herstellers also in den meisten Fällen vorliegt.

Ein Nachteil ist allerdings das jeder genau sieht was die Software macht. Böswillige Naturen könnten einen gefundenen Fehler selbst ausnutzen, ohne ihn an den Programmierer zu melden. In der Regel werden aber solche Fehler aber in relativ kurzer Zeit von anderen an den Programmierer weitergegeben und somit korrigiert. Dieses Problem ist nur für sogenannte Zero-Day-Exploits interessant.

Nimmt man alle Argumente zusammen, spricht aus Sicht der Sicherheit vieles für offene Quelltexte. Deshalb raten namenhafte Experten für Kryptografie (zum Beispiel Phil Zimmermann, Ian Goldberg, Nikita Borisov, Bruce Schneier) zu Programmem mit offenen Quelltext.