Mal ganz ehrlich, wer ist der Meinung, dass OS X und iOS die derzeit gefährdetsten Betriebssysteme sind? Nun, ich kann es auch nicht glauben, auch wenn ich in den letzten Jahren immer wieder eine Menge Hass-Nachrichten erhielt, wenn ich darauf hingewiesen habe, dass Apples Betriebssysteme nicht unverwundbar sind. Doch genau das ist die Botschaft in einem Artikel von GFI: Most vulnerable operating systems and applications in 2014. Er basiert auf Daten aus der National Vulnerability Database und hat in Kreisen der IT-Sicherheits-Berichterstattung für einen gewissen (wenn auch gedämpften) Aufruhr gesorgt. Sieht man sich einige der Kommentare unter dem Blog an, kann man davon ausgehen, dass der Autor auch ein paar Hass-Mails erhalten hat. Doch viele der Kommentare drehen sich um den Vorwurf des „schlechten Journalismus“. Die Verantwortlichen scheinen nicht zu wissen, dass Christian Florian kein Journalist, sondern Produkt Manager bei GFI ist:
„Er beaufsichtigt derzeit GFI LanGuard, eine erfolgreiche Lösung für Netzwerksicherheits-Scans und Patch-Management.”
Während einige Kommentare aus der Sicherheits-Branche darauf hinweisen, dass dieser Job nicht unbedingt für seine Unparteilichkeit spricht, denke ich, dass man sagen kann, dass er vermutlich etwas von diesem Thema versteht. Die Frage ist nur, ob er auch Recht hat. Und das hängt meiner Meinung nach davon ab, wie man „gefährdet“ genau definiert.
Manche Leute, darunter auch Graham Cluley, haben auf gewisse Ungereimtheiten bezüglich der Methodik hingewiesen, die hinter Florians Ergebnissen steht.
…jede Microsoft Windows Version bekommt einen eigenen Eintrag – die verschiedenen Versionen von Apple-Betriebssystemen hingegen wurden zusammengefasst.
Das vermittelt den oberflächlichen Eindruck, dass der Autor tatsächlich voreingenommen ist. Rechnet man die Schwachstellen der verschiedenen Windows-Versionen zusammen, erhält man 248 – insgesamt also mehr als 147, 127 und 119 Schwachstellen für OS X, iOS und Linux Kernel. Florian greift dieses Problem auf und weist darauf hin, dass es viele Windows-Schwachstellen gibt, die auf mehrere Windows-Versionen zutreffen. Im Grunde handle es sich deshalb nur um 68 verschiedene Schwachstellen. Dennoch wäre es vielleicht besser gewesen, auch die anderen Betriebssysteme nach Versionen zu trennen. Dann wäre sein Fazit allerdings auch weit weniger dramatisch ausgefallen. Immerhin werden im Update-Teil des Artikels einige Linux-Distributionen getrennt betrachtet.
Ich habe ein etwas anderes Problem mit diesem Bericht. Die Daten sagen uns zwar etwas über die Häufigkeit an Updates für individuelle Plattformen, aber nicht, wie schnell die verantwortlichen Unternehmen reagiert haben oder ob und in welchem Ausmaß die jeweiligen Schwachstellen ausgenutzt wurden. Hierüber gibt es weder in dem Artikel noch in der NVD-Datenbank Informationen – für behobene Probleme werden die entsprechenden Einträge nicht entfernt.
Während diese Daten also Aufschluss über individuelle Schwachstellen der verschiedenen Plattformen geben, sagen sie nicht viel über die generellen Gefahren für die Nutzer dieser Plattformen aus: es gibt nämlich noch viele andere Faktoren, die für die Sicherheit eines Systems verantwortlich sind. So gibt es für Windows und Android viel mehr Malware als für OS X oder iOS, wobei die Meinungen bezüglich der Auswirkungen dieser Schadcode-Mengen zuweilen variieren. Außerdem beziehen sich 83 Prozent der aufgelisteten Schwachstellen auf Anwendungen – mit einem besonderen Schwerpunkt auf Browser und andere plattformübergreifende Anwendungen (Java, verschiedene Adobe-Programme). Das könnte den immer wieder aufkeimenden Kampf zwischen den Betriebssystemen etwas relativieren.
Im Update des Artikels wird klargestellt:
…das Ziel des Artikel ist nicht, jemandem die Schuld zuzuweisen – weder Apple oder Linux noch Microsoft. Ich versuche zu vermitteln, dass alle Software-Produkte Schwachstellen haben.
Das scheint mit dem ursprünglichen Artikel und dem Prinzip, aus dem Vergleich der Anzahl der Schwachstellen nach Betriebssystemen gewisse Schlüsse zu ziehen, nicht ganz übereinzustimmen: Benötigen wir tatsächlich konkrete Zahlen, um zu beweisen, dass alle Software-Produkte Schwachstellen besitzen? Nun ja, vielleicht schon: Aus einigen Kommentaren lässt sich ableiten, dass manch ein Schreiberling Zahlen gut und gern ignoriert, die nicht mit den eigenen Anti-Microsoft-Vorurteilen übereinstimmen.
Florian behauptet in seinem Artikel, dass die Häufigkeit von Updates mit der Popularität eines Produkts steigt: Dafür sprechen seine Ergebnisse allerdings nicht, wenn man bedenkt, dass Microsofts Marktanteil den aller anderen Anbieter von Desktop-Betriebssystemen übertrifft. Und während die Marktanteile von iOS und Android relativ ausgeglichen sind, unterscheiden sich die sechs Android-Schwachstellen doch eindeutig von den 127, denen offenbar iOS-Nutzer ausgesetzt waren. Florian erklärt uns allerdings nicht, wie viele der 119 Linux-Kernel-Schwachstellen auch für Android gelten und ich verspreche mir definitiv nicht genug Mehrwert aus einer solchen Analyse, um selbst nachzuzählen. Vermutlich kann man argumentieren, dass Forschung über Schwachstelle bei steigendem Marktanteil extensiviert und bei alternden Produkten verringert wird, aber das ist pure Spekulation.
Das Unternehmen fasst zusammen:
Wir von GFI möchten, dass Menschen diese Informationen als Orientierung nutzen können und zeigen, welchen Bereichen sie mehr Aufmerksamkeit schenken sollten, wenn es um die Reparatur ihrer Systeme geht.
So weit so gut. Wer allerdings nicht bereit ist, sich eigenständig auf den NVD- und CVE-Webseiten tiefgehender über die Schwachstellen zu informieren, wird nicht allzu viel von dem GFI-Bericht lernen. Nur, dass alle großen Betriebssysteme Schwachstellen haben können – was aber keine besonders neue Erkenntnis ist – und dass die regelmäßige Aktualisierung von Anwendungen genauso wichtig (wenn nicht sogar wichtiger) ist wie die von Betriebssystemen.
Mich beunruhigt dieser Bericht – und andere Artikel, die sich unhinterfragt auf die ziemlich oberflächlichen Aspekte berufen, die dieser Untersuchung zugrunde liegen – zusätzlich aus einem anderen Grund.
Dazu eine kleine Analogie: Meine Frau und ich besaßen einmal eine kleine aber weitläufige Viktorianische Villa in den englischen Midlands. Weil sie schon ziemlich alt war und sich in der Nähe von Eisenbahnschienen sowie fluvioglazialen Landschaftsräumen befand, was es nicht sonderlich überraschend oder ungewöhnlich, dass die äußeren Wände irgendwann durch das Einsetzen von Zugankern gestärkt worden waren. Als wir die Gegend verlassen wollten, mussten wir stets lächeln, wenn potenzielle Käufer versuchten, den Kaufpreis mit dem Verweis auf die noch vorhandenen Ankerplatten herunterzuhandeln. Wenn man in einer solchen Gegend ein Haus kaufen möchte, sollte man da nicht froh sein, dass diese Verstärkungen bereits vorgenommen wurden?
Genauso scheint es mir unangemessen, einen Computer-Laien zu ermutigen, die Sicherheit eines Betriebssystems anhand der erkannten (aber vielleicht auch schon reparierten) Schwachstellen zu messen. Wenn der Artikel nähere Informationen über die Natur der jeweiligen Schwachstellen, Links oder wenigstens für eine eigenständige Recherche geeignete Suchbegriffe und die Reaktionszeit der verschiedenen Unternehmen enthalten würde, wäre er um einiges hilfreicher. Natürlich ist mir klar, dass eine so detaillierte Auseinandersetzung mit einem hohen Aufwand verbunden ist, aber ich bin mir sicher, dass die hier angesprochenen „IT-Administratoren“ es zu schätzen gewusst hätten.
Ich bin geneigt, Nutzern, die sich für detailliertere Informationen über Windows-spezifische Schwachstellen und Patches interessieren, den folgenden Bericht eines meiner ESET-Kollegen zu empfehlen: Windows Exploitation in 2014.
Der Bericht konzentriert sich vor allem auf den Internet Explorer – wenig überraschend, wenn man bedenkt, wie viele Patches er im Vergleich zu anderen Windows-Komponenten im Jahr 2014 benötigte –, ist aber auch bezüglich verschiedener Ausnutzungsmethoden sehr informativ.
Diese Abbildung aus dem 16-seitigen Bericht zeigt die Techniken, durch die bestimmte Komponenten ausgenutzt werden – z.B. Drive-By-Downloads, LPE (Local Privilege Escalation) und RCE (Remote Code Execution).