Liste Neuigkeiten Hintergrundartikel Kommentare Programmieren/Java IT-Sicherheit Computer Ratgeber & Tipps

Open-Source und Sicherheit: Wieso Open-Source nicht unsicher ist

Hinzugefügt am 24.07.2015 von Frank Hissen

Kürzlich erreichte mich die Frage, ob es nicht gefährlich sei, wenn der Quellcode für eine Verschlüsselungssoftware zugänglich ist. Eine Antwort...

Dieser Artikel erschien zuerst auf TecChannel.

Als Informatiker mit mehrjähriger Berufserfahrung im Bereich IT-Sicherheit und speziell im Bereich Kryptographie nimmt man viele Sachverhalte als selbstverständlich hin, die für den durchschnittlichen IT-Anwender manchmal alles andere als verständlich sind. Gerade der Bereich IT-Sicherheit erfordert viel fundiertes Wissen und praktische Erfahrung, selbst erfahrene IT-Spezialisten sind mit dem Thema des öfteren überfordert.

Gefahr durch Open-Source?

Als mich die Frage erreichte, ob es nicht „gefährlich“ sei, wenn der Quellcode für eine Verschlüsselungssoftware öffentlich zugänglich ist, die Software also open-source gestellt wird, war ich im ersten Moment sehr überrascht. Zwei wesentliche Gedanken waren der Hintergrund der Frage:

  1. Wenn der Quellcode offen liegt, wäre es nicht viel einfacher eine unautorisierte Entschlüsselung durchzuführen, also eine „Angriffssoftware“ gegen die Verschlüsselung zu entwickeln?
  2. Wenn der Quellcode offen liegt, wäre es nicht viel leichter schädlichen Programmcode in die Software einzufügen?

Für einen einfachen Endanwender offensichtlich berechtigte Gedanken.

Sicherheit durch Offenlegung

Als Antwort auf die erste Frage:

„Geheime“ Verschlüsselungsalgorithmen gibt es im Alltag im Grunde nicht. Bei Geheimdiensten mag das vielleicht anders sein (wer weiß das schon), aber jede Verschlüsselungstechnik, die wir im Alltag benutzen ist offen, öffentlich von Fachleuten diskutiert und allgemein anerkannt. Die Sicherheit hängt nicht von der Geheimhaltung ab. Das ist ein Grundprinzip der IT-Sicherheit. Ob man HTTPS (TLS/SSL), E-Mail-Verschlüsselung (S/MIME, PGP) oder SSH (Secure Shell) betrachtet, die verwendeten Algorithmen, wie zum Beispiel RSA oder AES, sowie die konkreten Protokolle sind aktuell und soweit absehbar auch in der Zukunft sicher.

In der Vergangenheit gab es zwar immer wieder Lücken, zum Beispiel in der TLS-SSL-Protokollfamilie oder einzelnen Implementierungen, aber diese wären früher oder später auch bei einer Geheimhaltung der Protokolle und Implementierungen entdeckt worden. Des Weiteren handelte es sich hierbei nicht um fundamentale Fehler, die die Verfahren an sich unbrauchbar gemacht haben. Bugfixes oder Handlungsempfehlungen waren schnell verfügbar.

Das Ziel von Open-Source-Produkten ist im Gegenzug, Vertrauen zu schaffen. Viele machen sich – angesichts der NSA-Enthüllungen der letzten Jahre offensichtlich durchaus berechtigt – Sorgen, in einer bestimmten Software könnten Hintertüren enthalten sein. Der Gedanke, dass insbesondere Software, die mit sensiblen Daten in Berührung kommt, ein guter Kandidat für eine von wem auch immer initiierte Hintertür ist, ist mehr als berechtigt. Was liegt näher als Verschlüsselungssoftware als einen solchen Kandidaten einzustufen.

Bei kommerziellen Herstellern von Sicherheitssoftware steht natürlich das Interesse im Vordergrund, das geistige Eigentum des eigenen Unternehmens zu schützen. Ein ebenfalls verständliches Interesse. In diesem Fall lässt sich Vertrauen zumindest teilweise durch Zertifizierungen von anerkannten Stellen erreichen, auch ohne den Quellcode offenzulegen. Übrigens ein Vorgehen, dass gerade kleineren Open-Source-Projekten fehlt: Nur weil der Quellcode öffentlich ist oder die Software viele Anwender hat, bedeutet das nicht, die Software würde alles richtig machen. Als Beispiel sei TrueCrypt genannt, das trotz der Abkündigung durch die ursprünglichen Entwickler viele Jahre zu den meistgenutzten Festplattenverschlüsselungen zählte und von Anfang an open-source war. Es dauerte fast zehn Jahre bis es zum ersten Audit kam – finanziert durch ein Crowdfunding-Projekt und noch heute nicht vollständig abgeschlossen. Ein schwerer erster Schritt dieses Audits war es nachzuweisen, dass die vertriebenen Binaries (Binärprogramme) auch aus dem veröffentlichten Quellcode gebaut wurden. Denn was nützt selbst ein Beweis, dass der Quellcode einwandfrei ist, wenn die zum Download stehende Software gar nicht aus diesem Quellcode hervorgeht. Dies ist natürlich für den einfachen Anwender nicht ohne Weiteres ersichtlich.

Hacker brauchen keinen Quellcode

Als Antwort auf die zweite Frage:

Wenn man IT-Nachrichten verfolgt und Meldungen zu Hacking-Vorfällen ansieht, wird man schnell feststellen, dass Hacker keinen Quellcode brauchen, um Systeme zu hacken, Software zu manipulieren oder Anwendern Trojaner unterzujubeln. Dies gelingt offensichtlich bei Open- wie Closed-Source-Software gleichermaßen. Das liegt schlicht daran, dass gute Hacker zu den technisch versiertesten IT-Fachleuten gehören. Sie analysieren Software oder ganze Systeme mit Tools und Know-how in einer Weise, dass sie keinen Quellcode benötigen oder soweit notwendig Teile des Codes aus dem Binärprogramm wiederherstellen.

Quelloffenheit bedeutet übrigens nicht, dass jeder der möchte, beliebig am Programmcode eines Projekts Änderungen vornehmen darf und kann. Als Beispiel betrachte man Linux, das vermutlich auch kommerziell am meisten eingesetzte Serverbetriebssystem. Trotz Quelloffenheit wird die Entwicklung kontrolliert durchgeführt und systematisch gesteuert.

Für den Endanwender gilt natürlich die bekannte Regel, nur Software zu installieren, die von vertrauenswürdigen Quellen bzw. Seiten stammt. Dazu zählen neben einschlägigen Download-Portalen (von denen leider nicht alle vertrauenswürdig sind) vor allem die Seiten der Hersteller selbst.

Fazit

Selbst wenn man Open-Source-Software kritisch gegenübersteht, muss man festhalten, dass alleine die Quelloffenheit von Verschlüsselungssoftware an sich keine Sicherheitslücken verursacht, sondern im Gegenteil Vertrauen und Kontrolle schaffen kann.

Für die Kritiker von Open-Source-Software sei zumindest hinsichtlich des Themas Sicherheit gesagt: Wenn Sie Online-Shopping oder Online-Banking machen, nutzen Sie mit sehr hoher Wahrscheinlichkeit bereits mehr als nur eine Open-Source-Komponente, zum Beispiel Ihren Browser, den Web-Server der Bank oder das Betriebssystem des Online-Shops.

Kategorien: IT-Sicherheit Hintergrundartikel Programmieren/Java


Kommentare

Eigenen Kommentar hinzufügen

Teilen / Weiterempfehlen

Wenn Sie diese Seite gut finden, teilen Sie es doch ihren Kontakten mit:

Mail Facebook Twitter Pinterest LinkedIn
reddit Digg StumbleUpon XING
WhatsApp Telegram