Sicherheit im Netz/Die Offenlegung des Source Codes ist ambivalent

Wie sicher ist quelloffene Software?

20.09.2002
In Zeiten, in denen IT-Budgets nachhaltig gekürzt werden, sehen Firmen in Open-Source-Software (OSS) eine Möglichkeit, Kosten zu senken. Wie wirkt sich das auf die Sicherheit aus? Generell können nicht nur Entwickler, sondern auch Hacker den Quellcode verändern. Ein Vorteil der freien Zugänglichkeit: Schwachstellen werden häufig schneller kommuniziert. Von Markus Henkel*

Software mit offenem Quellcode wird ergänzend zu kommerziellen Lösungen eingesetzt, um in Teilbereichen leistungsfähige und gleichzeitig kostengünstige Lösungen aufzubauen. Neben dem Linux-Betriebssystem kommen in den IT-Umgebungen insbesondere in den Bereichen Content-Management-Systeme, Application Server, Netz-Management und Infrastrukturen weitere Open-Source-Lösungen zur Anwendung. Mit der Verbreitung von frei verfügbarer Software auch in unternehmenskritischen Bereichen stellt sich die Frage nach der Sicherheit solcher Lösungen. Potenziell bietet Open-Source-Software natürlich nicht nur Entwicklern, sondern auch Hackern Möglichkeiten, den Code zu verändern. Eine gängige Methode kommerzieller Anbieter ist es daher, den Quellcode von Software zu verschleiern oder zu unterdrücken. Open-Source-Entwickler halten dies für wenig wirksam und sehen gerade im Offenlegen des Source Codes ein hohes Sicherheitspotenzial.

Verschleierung umstritten

Quellcodes sicherheitsrelevanter Bestandteile kommerzieller Software werden häufig verschleiert, um das mögliche Einschleusen von Viren zu verhindern. Der ehemalige Hacker und heutige Research & Development-Leiter des auf Open Source spezialisierten IT-Security-Beraters Vantronix, Reyk Floeter, führt im Auftrag seiner Kunden kontrollierte Intrusion-Projekte mit dem Ziel durch, Schwachstellen von Software in der IT-Infrastruktur aufzudecken.

Nach Ansicht von Floeter verspricht die Verschleierung von Source-Code-Informationen jedoch keinen sicheren Schutz: "Demnach dürfte es die zahlreichen Attacken wie "Code Red" oder "Melissa" nicht geben, und Microsofts Windows würde als sicheres Betriebssystem gelten." Auf dem Hacker-Prüfstand könnten verschleierte Code-Schwachstellen durch Methoden wie aggressive Tests, Penetration oder Reverse-Engineering letztlich doch erkannt und ausgenutzt werden.

Quellcodes proprietärer Softwarekomponenten werden verschlossen, indem sie als vorkompilierte Komponenten ausgeliefert werden. Bei der Unterdrückung des Quellcodes wird ein Verfahren eingesetzt, das Außenstehenden die Möglichkeit verwehrt, die für die Rückführung auf den Quellcode notwendigen Informationen zu erhalten. Dieser Mechanismus würde nach Floeters Ansicht keinen Hacker davon abhalten, "hinter verschlossenen Türen trotzdem die entsprechenden Attacken zu entwickeln und zu verwenden", wobei eine derartige, von Anwendern und Entwicklern zunächst unerkannte Bedrohung im Nachhinein noch fatalere Folgen haben könnte.

Die Hersteller sollten daher künftig mehr auf eine Verbesserung der Produkte als auf das Verbergen einzelner Produktmerkmale setzen. Wenn Software allgemein und die Kommunikation zwischen softwaregestützten Komponenten auf sicheren Verfahren wie Authentisierung der User oder Verschlüsselung basierten, sei es nicht mehr nötig, den Quelltext zu unterdrücken.

Das Betriebssystem Linux geriet in der Vergangenheit, abgesehen von vereinzelten Attacken, kaum ins Visier von Hack-Angriffen. Mit der wachsenden Popularität des Betriebssystems nimmt die Zahl der Einbruchsversuche jedoch kontinuierlich zu. Nach Ansicht von Tobias Klein, Mitarbeiter des Anbieters von IT-Lösungen und Sicherheitsdienstleistungen Cirosec und Autor des Buches "Linux-Sicherheit - Security mit Open-Source-Software", lässt sich das System gegen einen möglichen Missbrauch relativ gut sichern. In Linux integrierte Funktionen wie IP-Firewall, verschiedene Authentisierungsmechanismen und eine gezielte Systemüberwachung würden die Konfiguration zusätzlicher Sicherheitsmechanismen zulassen. Der herausragende Vorzug von Linux gegenüber Alternativbetriebssystemen liege in der Möglichkeit, Sicherheitsfunktionen auf Kernel-Ebene umsetzen zu können.

Vorteile der Offenlegung

Dabei erweise sich die freie Zugänglichkeit des Source Codes als Vorteil: Durch die viel größere Anzahl an freiwilligen Entwicklern im Vergleich zu einer nur begrenzten Zahl bei kommerziellen Softwareherstellern würden Schwachstellen schneller kommuniziert, und in relativ kurzer Zeit wäre ein Fix erstellbar.

Die Offenlegung des Source Codes erhöht zwar die Transparenz und damit die Revisionsfähigkeit von Software, wodurch ein hohes Maß an Sicherheit gewährleistet wird. Dies ist jedoch noch kein Garant für eine erhöhte Vertrauenswürdigkeit. Letztlich müssen die Unternehmen, die Open-Source-Produkte einsetzen, auch die Funktion und gleich bleibende Sicherheit garantieren können. Open-Source-Lösungen müssen daher systematisch und fachkundig entwickelt und evaluiert werden.

Betriebssicherheit wichtig

Hierbei könnten beispielsweise eine übersichtlicherer Aufbau, das Aufteilen in Module und das Aufbereiten von Produktinfomationen helfen. Weiter gehören Tests zu einer qualitativ hochwertigen Softwareentwicklung.

Hauke Kröger, Open-Source-Spezialist und Senior Consultant des Beratungshauses Avinci AG, sieht mit Blick auf die IT-Abteilungen in den Unternehmen einen wachsenden Bedarf an Qualität bei Open-Source-Lösungen. Dazu gehört auch die Programmierung komfortabler Bedienoberflächen. Die Entwicklung von frei verfügbaren Lösungen legt jedoch noch immer den Schwerpunkt eher auf die technischen Funktionalitäten. Allerdings sind die Administratoren in den Unternehmen auf eine komfortablere Handhabung von Open-Source-Produkten angewiesen, da sie für Sicherheit und den Schutz der Daten verantwortlich sind. "Open-Source-Lösungen müssen dann von Distributoren oder spezialisierten Beratungshäusern an die jeweiligen Kundenbedürfnisse angepasst werden", so Kröger. Bei der Weiterentwicklung durch den Anwender lässt sich die Produktionsversion kapseln und gegen unbefugte Veränderung durch Zertifikate, die auf digitalen Signaturen basieren, schützen. (sra)

*Markus Henkel ist freier Journalist in Wiesbaden.

Argumente

- Auch Hacker können Open-Source-Software verändern, nicht nur deren Entwickler.

- Kommerzielle Anbieter sprechen sich dafür aus, den Quellcode zu verschleiern beziehungsweise zu unterdrücken. Open-Source-Entwickler halten dies für wenig wirksam und sehen gerade im Offenlegen ein hohes Sicherheitspotenzial.

- Hersteller sollten lieber ihre Produkte verbessern als einzelne Merkmale zu verbergen. Eine Software, die auf sicheren Verfahren basiert, hat es nicht nötig, den Quelltext zu unterdrücken.

- Linux verfügt über integrierte Sicherheitsfunktionen. Es lassen sich sogar Sicherheitsfunktionen auf Kernel-Ebene umsetzen.

- Aufgrund der freien Zugänglichkeit des Source Codes werden Schwachstellen schneller entdeckt und behoben.

- Auch die Verlässlichkeit im Betrieb muss sichergestellt werden.

Software-Mix in Firmen

Während die kommerziellen Softwareanbieter mittlerweile in weiten Teilen zumindest die Kompatibilität ihrer Produkte zu Linux hergestellt haben, ist die Bereitschaft, eigene Produkte mit offenem Quellcode anzubieten, noch wenig ausgeprägt vorhanden. Dies unterstreicht auch die erst kürzlich auf der Basis einer internationalen Herstellervereinigung ins Leben gerufene "Initiative for Software Choice", welche die weitere Verbreitung von Open-Source-Lizenzen für die Softwareindustrie als bedrohlich betrachtet.

Doch es gibt auch Signale der Annäherung: Hersteller wie IBM und Bea haben die Leistungsfähigkeit von Open-Source-Produkten anerkannt und Plugins für derartige Lösungen wie beispielsweise den frei verfügbaren Web-Server der Apache Group zur Ergänzung eigener Komponenten bereitgestellt. Open-Source-Datenbanken wie Postgres oder MySQL werden zusammen mit kommerziellen IT-Infrastrukturen eingesetzt. Vereinzelt bieten Hersteller wie Oracle offene Quellcodes für ihre Produkte an.

Misch-Architekturen aus kommerziellen Lösungen und Open-Source-Komponenten bieten Unternehmen den Vorteil, leistungsfähige Infrastrukturen errichten zu können, die zugleich die Kosten reduzieren. Dabei muss jedoch auch die Frage nach den Service-Leistungen für einen derartigen Applikationen-Mix gestellt werden.

Abb: Verbreitung von Open Source

Heute nutzen bereits 37 Prozent aller Anwender Open-Source-Software. Der Anteil wird künftig noch steigen. Quelle: Mauro Mortali, Trend Consulting