Das Thema Linux und seine Sicherheit ist, meinen Serverstatistiken nach zu urteilen, im Moment für besonders viele Personen interessant. Seit Wochen bekommt mein Beitrag zu Sinn und Unsinn von Virenscannern für Linux die weitaus meisten Besucher. Grund genug, sich mit der Sicherheit von Linux noch weiter zu beschäftigen. In diesem Beitrag möchte ich darauf eingehen, warum das Paketmanagement typischer Linux-Distributionen eine größere Sicherheit bietet als die üblichen Software-Installationsmechanismen anderer Betriebssysteme.
Paketmanagement – was ist das eigentlich?
Linux-Distributionen umfassen nicht nur das Betriebssystem, sondern auch praktisch die gesamte dafür erhältliche Software. Anstatt sich seine Programme irgendwo im Internet zusammenzusuchen, was bei Windows-Programmen nicht selten bedeutet, sich der zusätzlichen Gefahr sogenannter potentiell unerwünschter Software auszusetzen, bekommt man bei Linux fast sämtliche Programme passend zur Distribution aus einer zentralen Anlaufstelle, dem sogenannten Repositorium.
Wer ein Smartphone hat, kennt ein ähnliches Konzept: die App Stores der Mobil-Betriebssysteme ähneln den Linux-Repositorien, sind aber nicht das gleiche. Repositorien liefern zum Beispiel nicht nur das jeweilige Programm, sondern gleich auch noch den gesamten dafür notwendigen technischen Unterbau (die sogenannten Abhängigkeiten), sofern dieser noch nicht installiert ist. Das ist bei mobilen Systemen nicht notwendig, da hier der gesamte vorhandene Betriebssystem-Unterbau bereits vorhanden ist.
Es gibt eine Reihe unterschiedlicher Paketmanager mit ebenso unterschiedlichen Konzepten. Aus der Sicht der Sicherheit haben sie aber ähnliche Funktionalitäten.
Wie das Paketmanagement funktioniert
Die Programmpakete für eine Distribution liegen im Internet und werden bei der Installationsanforderung automatisch von den dafür vorgesehenen Servern heruntergeladen. Bei großen Distributionen gibt es viele sogenannte Mirrorserver, die die Inhalte des zentralen Servers spiegeln. Nur von diesen Quellen bezieht die Distribution ihre Programme.
Es wäre vorstellbar, dass jemand, der Zugriff auf einen Spiegelserver hat, die Pakete darauf verändert und mit Schadsoftware versieht. Damit das nicht geschieht, werden Pakete von den anerkannten Entwicklern elektronisch signiert und ihre Checksummen während der Installation überprüft. Damit wird gewährleistet, dass nur Originalpakete installiert werden.
In dieses System einzubrechen, ist vergleichsweise schwierig. Für Windows reicht es, einen Download von einer beliebigen Seite mit einer eigenen Installationsroutine zu versehen, die im Hintergrund weitere Programme und Schadsoftware installiert. Da es keine zentrale Anlaufstelle für Software gibt (was sich bei Windows 10 mit dem Store des Systems langsam ändert), ist es ein Kinderspiel, das System zu verseuchen.
Drittquellen
Wie auch bei Android gibt es die Möglichkeit, Software aus Drittquellen einzuspielen. Bei Android ist das ein nicht zu unterschätzendes Sicherheitsrisiko. Fast alle Infektionen mit Schadsoftware in diesem System stammen aus Drittquellen. Den Play Store selbst zu infiltrieren, ist zwar nicht unmöglich, aber schwieriger und selten von langer Dauer.
iOS ist in dieser Hinsicht sicherer, da es keine offizielle Unterstützung von Drittquellen gibt. Allerdings gibt es die Möglichkeit, Raubkopien auf Geräten mit Jailbreak zu benutzen, welche aus zwielichtigen Quellen heruntergeladen werden und verändert worden sein können, und kürzlich wurde bekannt, dass raubkopierte Entwicklungsumgebungen für iOS durchaus verseuchte Apps im App Store unterbringen können.
Für manche Paketsysteme, zum Beispiel das der Distribution Ubuntu und deren Derivate wie Mint u.a., gibt es die Möglichkeit, das Paketmanagement durch weitere Quellen, sogenannte PPAs, zu erweitern. Hier besteht natürlich ein gewisses Risiko, wobei die Gefahr von Fehlfunktionen die von Schadsoftware meiner Meinung nach deutlich überwiegt. Es ist aber vorstellbar, dass jemand Schadsoftware für eine Distribution kurzzeitig über ein PPA inkl. Signatur und Checksummenprüfung verteilt. Deshalb sollte man, wie auch bei Android, die Vertrauenswürdigkeit solch einer Drittquelle immer genau abschätzen.
Kommerzielle Programme
Kommerzielle Softwareanbieter haben ein Problem: das Paketmanagement enthält ihre Programme nicht, so dass die Programme den benötigten Unterbau, im Falle von Teamviewer für Linux z.B. eine angepasste Version von wine, in der Regel mitbringen müssen. Bei solchen Programmen muss der Benutzer selbst entscheiden, ob er der Quelle vertraut. Nicht zuletzt gilt das für Virenscanner… Abgesehen von F-Prot und Clam AV, die aber wenig mehr als Placebos darstellen.
Fazit
Linux gewinnt durch sein Paketmanagement zusätzlich an Sicherheit, da Pakete signiert und mit Prüfungsmechanismen versehen sind. Dieses System zu infiltrieren, ist verhältnismäßig schwierig, und selbst wenn es gelingt, erreicht es nur einen kleinen Teil der Linux-Benutzer, nämlich nur die, die auch diese jeweilige spezielle Paketquelle benutzen.