Bei Open Source Software handelt es sich um Software, deren Quellcode vom jeweiligen Rechteinhaber öffentlich verfügbar gemacht wurde. Bei einer echten Open-Source-Lizenz wird die Software gemeinsam entwickelt und andere Programmierer haben die Möglichkeit den Code einzusehen, zu verändern oder für eigene Zwecke zu verwenden. Dieses “reine” Open-Source-Modell wird oft als FOSS (freie und Open-Source-Software) bezeichnet.
Eine Abänderung von Open Source ist “source available”, was in der Praxis nichts anderes bedeutet als dass der Code einsehbar, eine Veränderung und anderweitige Verwendung allerdings nicht möglich ist. In Sachen Sicherheit ist diese Variante genauso gut wie Open Source.
Das eigentliche Problem?
Wie gesagt, das ist alles ganz verständlich, aber wenn es um das Thema Sicherheit geht, stellt es ein großes Problem dar. Wenn niemand die Möglichkeit hat zu sehen wie ein Programm genau arbeitet, wie soll man dann wissen, dass es sich nicht um bösartige Software handelt? Im Grunde ist es nicht möglich das zu wissen, also bleibt einem nichts anderes übrig als dem jeweiligen Unternehmen zu vertrauen. Für Sicherheitsfanatiker ein absoluter Albtraum.
Warum Open Source die beste Lösung ist?
Wenn der Programmcode open source ist kann er von qualifizierten Experten begutachtet werden, um sicherzustellen, dass keine Hintertüren, Schwachstellen oder andere Sicherheitslücken bestehen. Open Source ist mit Sicherheit nicht perfekt (siehe unten), aber zumindest ein Weg um sicherzustellen, dass die Software nur das macht, was sie tun soll … und nicht mehr.
Selbst wenn der Code noch nicht überprüft wurde ist die Tatsache, dass er frei verfügbar und einsehbar ist ein starkes Indiz dafür, dass die Software vertrauenswürdig ist, denn die Wahrscheinlichkeit, dass Entwickler bösartigen Code einfügen und diesen öffentlich einsehbar machen ist eher gering.
Keine perfekte Lösung …
Leider ist die Anzahl jener, die entsprechende Kenntnisse haben, um Open Source Software zu prüfen begrenzt, was wiederum bedeutet, dass die überwiegende Anzahl der Software unter dieser Lizenz nicht kontrolliert wurde.
Erschwerend kommt noch hinzu, dass viele Open-Source-Programme extrem komplex sind, tausende Zeilen Code beinhalten und bei einer Überprüfung – die ohnehin enorm Aufwändig wäre – schnell Fehler übersehen werden können. Das ist speziell dann der Fall wenn bösartiger Code absichtlich verschleiert wurde.
Aber…
Aus diesem Grund garantiert Open Source nicht, dass das Programm “sicher” ist, stellt aber die zurzeit beste Garantie dar, dass dies der Fall ist. Die Alternative – closed source – bietet keinerlei Garantie.
Open Source Programme immer verifizieren
In Sachen Sicherheit klingt Open Source großartig! Aber wie kann man sicherstellen, dass das gerade heruntergeladene Open Source Programm nicht auf irgendeine Art und Weise manipuliert oder verändert wurde?
Das mag wie eine paranoide Vorstellung klingen, aber im Februar 2016 wurde die Internetseite einer der populärsten Linux Open Source Versionen – Linux Mint – gehackt und eine veränderte Version des Betriebssystems zum Download angeboten.
“Diese Hacker haben eine modifizierte Version des Linux Mint ISO mit einer Hintertüre erstellt und dann die Downloadlinks der offiziellen Internetseite dorthin verwiesen.”
Die infizierte Version des Linux ISO installierte das Betriebssystem vollständig mit einem Chatprogramm, über welches es den Hackern dann möglich war auf das System der Benutzer zuzugreifen. Die Gefahr ist also allgegenwärtig.
In diesem Fall haben User, die vor dem Download das Programm verifiziert haben sofort den Täuschungsversuch bemerkt. Die Verifizierung ist mittels der Prüfsumme geschehen, stellt aber noch immer keine sichere Lösung dar, denn wenn die Webseite gehackt wurde ist stellt es nur noch einen geringen Mehraufwand dar auch die Prüfsumme zu ersetzen.
Sicheres Downloaden? Dazu gehört auch eine sichere Internetverbindung. Mit einem kostenlosen Proxy ist das ohne weiteres möglich.
Viel sicherer ist es wenn Entwickler die Software digital signieren, sodass es Benutzern möglich ist den Ursprung einer Datei zu verifizieren. Im Idealfall ist jede Art von Software digital signiert und verifiziert, aber gerade bei Open Source ist dies wichtig, da der Code öffentlich einseh- und veränderbar ist.
Fazit
Open Source ist keine perfekte Lösung, stellt aber zumindest die beste (und einzige!) Garantie dar, dass die Software vertrauenswürdig ist. Die Alternative (closed source) kann dies nicht garantieren und verlangt blindes Vertrauen in den jeweiligen Entwickler.