Wilhelm Tux welcome

Home Über uns Facts Presse FAQ News Optionen LibreOffice NDG

Erklärung zum Einsatz Freier Software
Kontakt
Mailing-Listen
Links/Projekte/Gruppen


Datenschutz und Freie Software

Datenschutz betrifft verschiedene Aspekte von Software und Software-Design. Ein wichtiger Aspekt ist die Sicherheit der eingesetzten Software, ein anderer die Transparenz der Software und der Schutz vor unbefugtem Zugriff. In diesen Punkten kann der Einsatz von Freier Software Vorteile bringen. Im Folgenden werden die verschiedenen Punkte genauer betrachtet.

1. Dimensionen der Software-Sicherheit
1.1 Systemimmanentes Sicherheits-Potenzial

Verschieden Aspekte von Freie Software erhöhen das Potenzial, ein sicheres Produkt zu erstellen. Durch die Offenlegung des Quelltextes ist es jedermann möglich, das Programm zu analysieren und nach Sicherheitsproblemen zu durchsuchen. Diese Möglichkeit alleine erhöht die Sicherheit eines Programmes nicht, solange niemand den Quelltext liest und nach Fehlern durchsucht. Wenn ein Sicherheitsloch in einem Programm gefunden wird, sollte dieses so schnell wie möglich korrigiert werden, um das Zeitfenster, das einem Angreifer zur Verfügung steht, zu minimieren.

Es ist zwar möglich, gewisse Sicherheitsprobleme durch andere Massnahmen zu lösen, der einzig richtige Ort für eine Sicherheitskorrektur ist aber in der Software selbst. Aus verschiedenen Gründen ist die Korrektur eines solchen Loches im Bereich Freiee Software häufig schneller als im kommerziellen Bereich. Diese Gründe werden im Folgenden erörtert.

Der Kommunikationsweg zwischen der Person, die das Problem entdeckt, und der Person, die für das betroffene Programm zuständig ist, ist vor allem im Vergleich zu grossen und enstprechend behäbigen Software-Herstellern extrem viel kürzer. Bei den meisten Freien Software-Projekten kann jedermann direkt Kontakt mit dem Entwickler aufnehmen, der für den Fehler zuständig ist und ihm das Problem unterbreiten. Bei (Gross-)Firmen muss eine Fehlermeldung häufig viele Etappen durchlaufen bis sie zu den zuständigen Personen gelangt.

Im kommerziellen wie im Freie Software-Umfeld kann es vorkommen, dass der Hersteller des Produktes nicht oder nur wenig daran interessiert ist, Sicherheitsprobleme zu lösen. Wenn ein Programmierer in einem Freie Software-Programm ein Sicherheitsproblem entdeckt, kann er den Fehler selbst beheben. Sobald er den Fehler behoben hat, kann er die Korrektur entweder selber publizieren, oder sie dem Entwickler zukommen lassen. Der Entwickler muss sich in solch einem Fall nur noch darum kümmern, ob die Lösung des Problems korrekt ist. So wird die Wahrscheinlichkeit erhöht, dass die Korrektur in der "offiziellen" Version des Programmes eingefügt wird. Diese Möglichkeit besteht in einem Closed Source-Programm nicht. Es besteht für Dritte keinerlei Weg, einen Fehler selbst zu beheben oder den Entwicklern mit einer Lösung unter die Arme zu greifen. Bei den meisten kommerziellen Lizenzen ist dies sogar ausdrücklich verboten.

Innerhalb von Firmen existieren Richtlinien, welche die Entwicklung von Software betreffen. Diese Richtlinien können gute wie schlechte Auswirkungen auf die Qualität und damit die Sicherheit von Programmen haben. So kann man sich fragen, wie es kommt, dass noch am selben Tag, als Microsoft Windows XP herausgegeben hat, ein 18 Megabytes grosses Update für genau dieses Betriebsystem der Öffentlichkeit zur Verfügung gestellt wurde ([SWDesign1]). Solche Ereignisse lassen auf grobe Fehler in den Designrichtlinien schliessen, sonst wäre es nie zu diesem peinlichen Vorfall gekommen. Richtlinien dieser Art sind offensichtlicherweise kontraproduktiv für die Qualität der Software.

Da solche Richtlinien im Freie Software Bereich weitgehend nicht existieren (Ausnahmen sind z.B. Freie Software, die innerhalb einer kommerziellen Firma geschrieben wird), kann der Entwickler frei bestimmen, wie er seine Software schreiben will. Das Risiko, dass das Fehlen von allfälligen "guten" Richtlinien die Qualität der Software verschlechtern kann, besteht natürlich auch.

Ein häufiger Grund für Fehler in Software ist Termindruck, welcher auf den Entwicklern lastet. Im Freie Software-Umfeld programmiert jeder Software, nach seinen Bedürfnissen und stellt das Produkt zu dem Zeitpunkt fertig, den er wünscht. In grösseren Projekten existieren gewisse Termine (wenn z.B. eine neue Version herausgegeben wird), wenn aber ein Programmierer nicht zu dem Termin fertig ist, kann er sein Programm einfach zurückhalten. Termindruck ist in der Freie Software-Entwicklung also weitgehend inexistent. Somit entfällt hier eine sehr bedeutende Fehlerquelle.

1.2 Zertifikate

Zertifikate von bekannten Instituten werden von vielen Firmen und Behörden als Qualitätsgarantie gewertet. Dies ist auch im Sicherheitsbereich der Fall. Das Fehlen eines oder mehrerer solcher Zertifikate wird oft als Mangel an Qualität gewertet. Da Freie Software-Produkte kaum zertifiziert sind, kann der Verdacht aufkommen, dass sie eine solche Zertifizierung nicht möglich sei. Die Gründe warum Zertifikate im Freie Software-Bereich so selten sind liegen aber vor allem in anderen Bereichen. Zertifizierungen sind generell sehr teuer, weil solche Zertifikate meist von kommerziellen Organisationen vergeben werden, welche Fachpersonal für die Verifizierung bezahlen müssen.

Da die meiste Freie Software-Arbeit auf freiwilliger Basis erbracht wird, ist das Geld für ein solches Zertifikat häufig nicht vorhanden. Etliche Freie Software-Produkte würden aber die Kriterien für sehr hohe Zertifizierungsgrade erfüllen ([OpenBSD], [TrustedBSD] (in Arbeit), [Trustix]). Viele Standard-Freie Software-Produkte wären in niedrigeren Klassen problemlos zertifizierbar. Zertifizierungen gelten immer nur für eine Version. Sobald etwas am zertifizierten Programm geändert wird, muss neu zertifiziert werden.

Dies ist im Sinne eines Zertifikates eine sehr sinnvolle Einschränkung, da mit jeder Änderung neue Fehler eingeführt werden können. Viele Freie Software-Projekte sind sehr bestrebt, die Sicherheit ihrer Produkte hoch zu halten. Aus diesem Grund werden Sicherheitsfehler sehr schnell behoben und immer weitere Sicherheitserweiterungen eingebaut. Dies führt dazu, dass eine Zertifizierung sehr schnell nicht mehr gültig wäre.

2. Schutz der Daten
Sobald Daten von einem Ort zum anderen transportiert werden oder an einem "unsicheren" Ort gelagert werden, müssen diese durch entsprechende Massnahmen geschützt werden. Methoden, um dies zu tun, sind vor allem in der Kryptographie oder der Steganographie zu finden.

2.1 Kryptographie in Freier Software

Es gibt eine breite Palette von Software welche kryptographische Methoden implementiert. Für die meisten Probleme, die mit Kryptographie lösbar sind, gibt es ein Produkt, das die entsprechenden kryptographischen Methoden zur Verfügung stellt. ([OpenSSL] [OpenSSH])

2.1.1 Qualität der Kryptographie

Kryptographie ist eine ungenaue Wissenschaft. Aussagen zur Sicherheit sind immer nur relativ zum aktuellen Wissenstand machbar. Gewisse Sachverhalte lassen sich formal beweisen, diese sind aber in der Minderheit. Trotz dieser Einschränkungen sind gewisse absolute Aussagen zur Sicherheit einer Methode möglich. Man unterscheidet zwischen starker und schwacher Kryptographie. Methoden, die als stark bezeichnet werden, haben eine Vielzahl von Tests und Analysen ohne nennenswerte Beeinträchtigung der Sicherheit bestanden. Methoden, die mit solchen Tests und Analysen "geknackt" worden sind oder werden können, bezeichnet man als schwach. Solche Methoden bieten zwar Schutz vor zufälligem Entdecken, einem gezielten Angriff halten sie aber nicht stand (selbst wenn die Methode nicht bekannt ist und nur der verschlüsselte Text vorhanden ist).

Da Freie Software von jedermann geschrieben werden kann, werden auch verschiedenste kryptographische Methoden eingesetzt. Die Möglichkeit, die eingesetzten Methoden zu verschleiern, besteht nicht, da jerdermann den Quelltext einsehen kann. Für eine sachkundige Person ist das Abschätzen der Sicherheit eines Freie Software Produktes erheblich einfacher als bei einem Closed Source-Programm. Es ist gängige Praxis in Closed Source-Programmen schwache Methoden zu verwenden und sich auf die "Unbekanntheit" der Methode zu verlassen.

Diese Methode wird in der Fachwelt als "security through obscurity" bezeichnet, also "Sicherheit durch Verdunkelung". Damit ist das Geheimhalten des Verschlüsselungsverfahrens gemeint. Dies ist insofern problematisch, als dass die Kryptographie keine genau Wissenschaft ist und es deshalb besser ist, wenn viele Personen das Verfahren nach Fehlern durchsuchen.

Diese Kernaussage der Kryptographie wurde bereits 1883 von Kerckhoff publiziert [Kerckhoff]. Um so tragischer ist es, dass es heute noch Firmen gibt, die mit "Sicherheit durch Verdunkelung" Kunden ködern. Ein Paper zu diesem Thema kann unter [Crypto] gefunden werden.

Beispiel Funknetzwerke:
Die heute verfügbaren Funknetzwerke sind ein gutes Beispiel was man mit Kryptographie alles falsch machen kann. Von zu kurzer Schlüssellänge bis zu Programmierfehlern wurde bei der Sicherheit dieser Technologie sehr vieles verpazt. Auch heute noch sind viele Produkte unsicher und gaukeln einem einen falschen Sinn von Sicherheit vor ([WLAN]).

Beispiel PPTP:
PPTP ist ein Protokoll zum Verbinden von mehreren Netzwerken. Microsoft benutzt in ihrem PPTP-Protokoll mehrere Techniken, die kompliziert und unsicher sind. Viele dieser Fehler wurden zwar im Verlauf der Zeit behoben, das gravierendste Problem von allen haben sie aber nicht gelöst. Sie benutzen für die Verschlüsselung immer noch Passwörter, die von Benutzern generiert werden.

Da die meisten Benutzer nicht in der Lage sind ein "gutes" Passwort zu erstellen, ist das eine sehr grosse Schwachstelle, die die Sicherheit von allen miteinander verbundenen Netzwerken gefährdet ([PPTP]).

2.2 Haltbarkeit von Daten

Ob Daten nach längerer Zeit noch gelesen werden können, hängt von der Art ab, wie diese gespeichert werden. Wenn Daten gespeichert werden, geschieht das in einem sogenannten Dateiformat. Um die Daten wieder lesen zu können, muss man dieses Format kennen oder herausfinden (was sehr schwierig sein kann). Viele kommerzielle Firmen behalten ihre Dateiformate für sich und es ist deshalb nur möglich, Dateien in solch einem Format mit einem Programm dieser Firma zu lesen. Sollte es die Firma oder das Programm nicht mehr geben, kann man auf die Daten nicht mehr zugreifen.

Eine Möglichkeit wäre, dass man die mühsame Arbeit auf sich nimmt, das Dateiformat herauszufinden. In vielen Fällen wird dies aber durch die Lizenz des Programmes explizit verboten. Wenn das Dateiformat für jerdermann verwendbar publiziert wird, spricht man von einem offenen Dateiformat. Ist dies mit einem Format der Fall, kann man jederzeit ein neues Programm schreiben, das Daten, die in diesem Format gespeichert wurden, lesen kann. Bei Freie Software-Programmen kann man mit dem entsprechenden Fachwissen die Programmteile, die für das Speichern und Lesen dieses Dateiformats zuständig sind, aus dem Quelltext entnehmen und in ein neues (aktuelles) Programm einbauen.

2.3 Schutz vor unbefugtem Zugriff

Mit der zunehmenden Vernetzung erhöht sich auch das Risiko der permanenten oder sporadischen Spionage. Im Closed Source Bereich ist es häufig der Fall, dass ein Programm oder ein Betriebsystem (vertrauliche) Informationen an den Hersteller sendet [Spyware]. Gewisse Firmen (allen voran Microsoft, siehe [Palladium]) planen eine extreme Ausweitung ihrer Datensammlungs- und Benutzerkontrollsysteme, die sie in ihre Produkte einzubauen gedenken.

Natürlich sind auch Freie Software-Programme nicht davor gefeit, als Spyware eingesetzt zu werden. Dies fällt aber meistens sehr schnell auf und kann behoben werden. Weiter stellt es kein Problem dar, bestehend auf der als Spyware konzipierten Software (die vielleicht sehr nützliche Funktionen zur Verfügung stellt), eine neue Version ohne die Spionagefunktionen zu erstellen und der Öffentlichkeit zur Verfügung zu stellen. Weiter kann man sich vor passiver Spionage (abhören von Kommunikationen) mit Hilfe von kryptographischen Softwaremitteln schützen.

2.4 Schutz des Endbenutzers

Die meisten bereits erwähnten Punkte dienen natürlich auch dem Schutz des Endbenutzers; es gibt aber gewisse Aspekte, die gesondert betrachtet werden sollten.

2.4.1 Schutz vor Fehlmanipulationen

Ein sehr häufiger Grund für Sicherheitsprobleme sind Fehlmanipulationen von Seiten des Benutzers. So werden zum Beispiel "lustige" Programme über Email versandt und ohne darüber Nachzudenken ausgeführt. Dass solch ein Programm einen Trojaner installieren oder die Festplatte löschen könnte, ist vielen Anwendern hingegen nicht bewusst.

Im Freie Software-Betriebsystembereich sind auf UNIX-Gedankengut basierende Betriebsysteme die Regel [LinuxDistros], [Tribug]. In diesen ist eine Trennung von Administration und Benutzung seit Jahrzehnten gang und gäbe. Der Nutzer kann höchstens seine eigene Arbeitsumgebung gefährden. Dieser Schutz gilt natürlich ganz speziell für Viren, die vor allem auf Einzelbenutzer- Betriebsystemen sehr gefährlich sind.

2.4.2 Standardkonfiguration

Kommerzielle Softwarehersteller aber auch gewisse Freie Software-Hersteller (wie [SUSE]) haben das Ziel, das Betriebsystem so zu konfigurieren, dass der User, ohne Modifikation der Standardkonfiguration, möglichst alles machen kann was er zu tun wünscht, ohne von Sicherheitsmassnahmen behindert zu werden. Diese Vorgehensweise kann vielen Angreifern Tür und Tor öffnen.

Es gibt aber einige Freie Software-Projekte die auf diese "Verbreitung durch einfache Benutzung" verzichten ([Debian],[Gentoo],[OpenBSD]) und einem versierten Benutzer oder Administrator eine sehr gute Basis bieten, eine sehr sichere Installation zu erstellen. Unerfahrene Anwender laufen in einer solchen Installation nicht Gefahr, ihr System durch Unkenntnis unnötigen Risiken auszusetzen.

2.4.3 Rechtliche Lage

Viele Länder wie z.B. die USA haben rechtliche Bestimmungen bezüglich des Exports von kryptographischen Produkten. Produkte, die aus solchen Ländern stammen, stehen meist nur mit abgeschwächter Kryptographie anderen Ländern zur Verfügung. Da Freie Software-Entwicklung nicht an ein konkretes Land gebunden ist, steht für die meisten Freie Software-Produkte starke Kryptographie zur Verfügung. Produkthaftung wird von Freie Software- wie von Kommerziellen-Lizenzen grundsätzlich abgelehnt. Rechtlich bieten kommerzielle Lizenzen generell keine höhere Leistung verglichen mit den Lizenzen von freier Software.

3. Analyse der aktuellen Situation
In den vorhergehenden Teilen wurde Freie Software als allgemeines Konzept betrachtet. Im Folgenden sollen anhand von verschiedenen Beispielen einzelne Produkte vorgestellt werden und zum Teil mit ihren kommerziellen Gegenstücken verglichen werden.

3.1 Linux

Wohl der prominenteste Vertreter der Freien Software ist das Betriebssystem Linux (auch GNU/Linux genannt). Es existiert eine grosse Anzahl von verschiedenen sogenannten Distributionen. Diese bieten alle einen durchwegs guten Schutz der Benutzer und der Dienste, die darauf laufen. Viren sind auf diesem Betriebssystem weitgehend inexistent. Die Linuxgemeinde legt grossen Wert auf das Weiterentwickeln von Features und neuen Programmen, die Sicherheit wird dabei aber nicht ausser acht gelassen.

3.2 OpenBSD

OpenBSD [OpenBSD] ist ein auf BSD basierendes Betriebsystem, welches den Ruf hat, das sicherste erhältliche Betriebsystem zu sein. Die Grundmaxime von OpenBSD ist robustes, d.h. fehlerfreies Programmieren. Im Gegensatz zu vielen kommerziellen Betriebsystemen wird OpenBSD kontinuierlich weiterentwickelt (und nicht für jede neue Version von vorne begonnen). So wird verhindert, dass die selben Fehler mehrmals passieren. OpenBSD hat in den letzten 6 Jahren nur ein einziges bekanntes Sicherheitsloch gehabt.

3.3 Apache vs. IIS

Apache ist ein Freie Software-Web-Server der laut [Netcraft] zur Zeit der meistbenutzte Server der Welt ist (ca 60% der eingesetzten Webserver basieren auf Apache). Sein stärkster Konkurrent ist IIS von Microsoft. Der folgende Vergleich der Sicherheitsprobleme der beiden Programme in den vergangenen Jahren zwigt hier klare Tendenzen (Quelle: [SecurityFocus]) Sicherheitsprobleme von 1996 - August 2002, IIS Probleme: 102, Apache Probleme: 32.

Als Beispiel für die Unsicherheit von IIS kann code-red angeführt werden, welcher innert 3 Tagen mehrere hunderttausend Windows-Server infiziert hat und der heute noch aktiv ist. [CodeRed]

3.4 Outlook vs. andere Mailer

Es gibt wohl kaum eine Software, die für soviele Sicherheitsprobleme zuständig ist wie Microsoft Outlook. Die Integration von Makrosprachen und direktem öffnen von Dokumenten in diesem Programm (die die Benutzung sehr einfach macht) öffnet hunderte von Angriffsmethoden. 'I love you' und 'Meliassa' sind zwei der prominentesten Angriffe auf Outlook. Systeme, die andere Mail-Software benutzen, waren nicht betroffen. Jedes Freie Software-Mailprogramm ist sicherer als Outlook. Die von vielen Firmen begehrten Funktionalitäten von Outlook wie Terminverwaltung sind alle längst als Freie Software erhältlich.

Zusammenfassung
Freie Software ist an sich ist keine Garantie für Sicherheit und Datenschutz. Es gibt aber viele Punkte, die diese Aspekte fördern. Die Realität zeigt, dass Freie Software im Schnitt sicherer als das ensprechende kommerzielle Produkt ist.

Die Möglichkeiten solche Produkte zu analysieren und zu modifizieren, bieten ein sehr weites Mass an Freiheiten, die für den Datenschutz sehr förderlich sind. Sobald es zum Thema Schutz vor Spionage kommt, kann Freie Software aufgrund seiner natürlichen Transparenz jedes Closed-Source-Produkt in den Schatten stellen.

Kommentare zu dieser Seite:
Betreff: Mein Name:

Valid HTML 4.01!
Valid CSS!