skip to Main Content

Spectre & Meltdown – eine kritische Einschätzung

Anfang Januar 2018 wurden drei erhebliche Schwachstellen in den meisten modernen Prozessoren veröffentlicht. Diese wurden von drei unterschiedlichen Forscherteams entdeckt (Google Project Zero, Cyberus Technology, Graz University of Technology) und sind unter den zwei Namen

  • Meltdown (CVE-2017-5754 Rogue Data Cache Load) und
  • Spectre (CVE-2017-5715 – Branch Target Injection und CVE-2017-5753 – Bounds Check Bypass)

bekannt geworden. Sie betreffen nicht nur Desktop- und Serverrechner, sondern auch Mobilgeräte. [1] [2]

Diese Schwachstellen ermöglichen es einem Angreifer potenziell den gesamten Arbeitsspeicher eines Systems auszulesen – inklusive beispielsweise Passwörtern, Krypto-Schlüsseln oder persönlichen und vertraulichen Daten.

Bei den drei Sicherheitslücken handelt es sich um Designprobleme in den Prozessoren. Daher sind sie praktisch für alle Betriebssysteme (Windows, MacOS, Linux, AIX, Android, iOS, etc.) relevant. Meltdown kann zwar durch Softwarepatches vollständig behoben werden, Spectre jedoch – zumindest mit Stand heute – nicht. Ein vollständiger Schutz vor Spectre ist durch die jetzigen Patches nicht gegeben, der Angriff wird nur erschwert, bzw. die Erfolgsquote reduziert.

Wording in Veröffentlichungen

Man liest sehr oft, dass durch aktuelle Patches ein Spectre-Angriff erschwert würde. Diese Aussage ist zwar richtig, man muss sie aber richtig lesen. Leider bleibt dann nicht mehr viel an Sicherheit davon übrig:

Ein einzelner Angriff zielt darauf ab, einen Datenblock aus dem CPU-Speicher auszulesen, der einem nicht gehört. Das dauert vielleicht einige Millisekunden. Der Erfolg eines einzelnen Angriffs ist nicht garantiert, man kann es aber immer wieder probieren, irgendwann klappt es.

Nach dem Patch sinkt die Chance, dass es klappt, was aber leider nicht mehr heisst, als dass ein Angreifer es halt ein paar mal mehr versuchen muss, bis es klappt.

Die Folge ist nur, dass man es nur schwer schaffen wird sich in kurzer Zeit (Sekunden oder Minuten) ein zusammenhängendes, vollständiges und zeitlich integres Speicherabbild des Hosts zusammenzubauen. In längerer Zeit bekommt man aber trotzdem alle möglichen Speicherfragmente zu sehen – und das kann reichen. Es ist ein wenig wie Fliegen fangen. Es ist schwer, aber irgendwann kriegt man sie schon.

Zur Darstellung der möglichen Auswirkungen haben wir verschiedene Szenarien unterschieden:

– Einzelplatz-PC bzw. Smartphones

Mit Hilfe einer der Schwachstellen kann ein Angreifer Zugriff auf Daten erhalten, auf die er sonst keinen Zugriff hätte. Hierzu muss er Code auf dem System ausführen dürfen ohne besondere Rechte dafür haben zu müssen, was im Grunde überall, z.B. durch JavaScript, oder durch eine präparierte App auf einem Smartphone, möglich ist. Dabei können Datenfragmente auch aus Speicherbereichen anderer Prozesse oder virtueller Maschinen ausgelesen werden und zu einem Gesamtbild zusammengesetzt werden. Aber auch schon einzelne Speicherfragmente können Informationen wie Passwörter, Verschlüsselungs-Keys, E-Mails oder dergleichen enthalten.

– Client-Server Architektur

Mit Hilfe von Meltdown & Spectre können nur Daten aus dem Speicher des physischen Servers ausgelesen werden, auf dem der Angriffscode ausgeführt wird. Somit besteht bei physisch dedizierten Systemen keine direkte Gefahr für Angriffe vom Client aus, solange kein Code vom Client aus auf dem Server ausgeführt werden kann. Dies ist zumindest bei Fileserver Anwendungen i.d.R. nicht der Fall. Anders sieht es aus, wenn man RDP oder Citrix (oder ssh oder anderen interaktiven) Zugriff auf einen Rechner hat.

– Virtualisierte Systeme

Bei virtualisierten Systemen muss zwischen voll-virtualisierten Systemen (z.B. VMware, Hyper-V) und para-virtualisierten (bei der Para-Virtualisierung steht dem Gastsystem lediglich ein API-Zugriff auf die Host-Hardware zur Verfügung, z.B. Xen) bzw. Betriebssystemvirtualisierung (hierbei teilen sich das Gastsystem und das Hostsystem den Kernel, z.B. Docker, Linux Container LXC) unterschieden werden.

Para-Virtualisierung und Betriebssytemvirtualisierung können sowohl durch Meltdown als auch durch Spectre angegriffen werden. Hierbei kann u.U. der gesamte Arbeitsspeicher des Hosts ausgelesen werden – und damit auch der aller virtuellen Maschinen.

Voll-virtualisierte Systeme sind für Meltdown nur dahingehend verwundbar, dass innerhalb eines virtuellen Systems Daten ausgelesen werden können, innerhalb von diesem aber wiederum aus dem gesamten dieser virtuellen Maschine zugeordneten Speicher – also auch der anderer Prozesse und Benutzer oder des Kernels.

Spectre kann theoretisch auch hier die Grenzen zwischen den virtuellen Systemen überwinden und von anderen Systemen und dem Host Daten auslesen. Google hat nach eigenen Angaben in einem PoC bereits gezeigt, dass bei einer virtuellen Maschine Daten aus dem Kernelspeicher des Hosts ausgelesen werden konnten. [2]

– Cloud

Für Cloud Anbieter, welche (Para-)Virtualisierung nutzen, gelten die gleichen Aussagen von oben für virtualisierte Systeme. Allerdings ist der Impact möglicherweise noch größer als innerhalb einer Institution: es können unter Umständen Daten von anderen Kunden ausgelesen werden. Wirklich wirksame Gegenmaßnahmen gibt es derzeit nicht.

Diesen Aspekt darf man sich getrost auf der Zunge zergehen lassen und das erste Aha-Erlebnis noch ein wenig mit Risiko- und Compliance-Aspekten nachwürzen.

Komplexität eines Angriffs

Die Schwachstellen können ausgenutzt werden, wenn ein Angreifer irgendwelchen Code auf einem System ausführen kann, ohne besondere Rechte. Dies ist aber immer der Fall (er benutzt ja Programme) und kann z.B. auch schon über den vorhandenen Webbrowser geschehen, z.B. durch JavaScript. Bei Meltdown sind nicht einmal genaue Kenntnisse des angegriffenen Prozesses notwendig, bei Spectre hingegen sind tiefgründige Kenntnisse über den eingesetzten Prozessor, dessen Branch Prediction Unit, sowie den anzugreifenden Prozess notwendig. Dieses Wissen ist derzeit nicht öffentlich verfügbar. Die vorgestellten Proof-of-Concepts wurden bisher nur unter Laborbedingungen durchgeführt. Aber eben nur „bisher“.

Bis heute sind offenbar keine Exploits (Ausnutzen der Schwachstellen von einem Angreifer) in Umlauf. Da der Angriff jedoch keine Spuren hinterlässt, kann nicht mit Sicherheit gesagt werden, dass keine Angriffe stattfanden. Insbesondere durch das Bekanntwerden des Angriffs ist mit Sicherheit davon auszugehen, dass früher oder später neue Exploits entwickelt und verbreitet werden.

Das Szenario, dass nach und nach immer bessere Angriffswerkzeuge („Exploits“) öffentlich verfügbar sein werden und der Werkstudent oder die Sekretärin in ihrer Citrix-Sitzung den Serverspeicher des Virtualisierungs-Hosts per Skript in einer E-Mail auslesen können, ist nicht so sehr weit hergeholt. Aber auch Remote Angriffe per Web-Seite sind möglich.

Antivirus

Virenscanner werden vermutlich nur eingeschränkt – wenn überhaupt – in der Lage sein, Angriffe zu erkennen, da diese weitgehend dem normalen Verhalten von Programmen entsprechen. Klar es wird Heuristiken geben, aber auch klar, die kann man austricksen.

Datenschutzaspekte

Wie weit kann virtuellen oder Multiuser-Systemen überhaupt noch vertraut werden und wie teuer kann es unter der DSGVO werden, wenn man sich nicht ernsthaft mit der Lösung beschäftigt hat? Man kann die Situation durchaus so bewerten, dass ohne weitere Maßnahmen, die über bloßes Patchen hinausgehen, die Sicherheit der Datenverarbeitung nach Art. 32 DSGVO nicht mehr überall gewährleistet ist. Über den Art. 83 DSGVO kann man dann erahnen, wie teuer es werden könnte (nämlich bis zu theoretischen 10Mio. € oder 2% des weltweiten Vorjahresgesamtumsatzes des Unternehmens).

Andererseits wird kein Datenschutzbeauftragter seinen Mandanten raten können, die Datenverarbeitung vorübergehend auszusetzen, bis man alles umgebaut und die Daten nach Hardware sortiert getrennt verarbeiten kann.

Wir werden diese Frage der Einschätzung daher an die Aufsichtsbehörden für den Datenschutz richten und weiter berichten!

Fazit

Durch die Bemühungen der verschiedenen Soft- und Hardwarehersteller wurde in der Vergangenheit die Sicherheit stetig verbessert. Nun zeigen Meltdown und Spectre, dass sich die Risikolage von jetzt auf gleich ändern kann.

Meltdown und Spectre zeigen sehr grundlegende Schwachstellen auf, die auf Hardwaredesignproblemen beruhen. Wodurch, zumindest bei Spectre, das Patchen deutlich erschwert, wenn nicht gar unmöglich wird. Somit ist die eigentliche Herausforderung, das Risiko entsprechend (neu) zu bewerten und wie in einem Unternehmen alternative, kompensatorische Maßnahmen umgesetzt werden können. Spectre-Patches können u.E. derzeit nicht als wirksam angesehen werden.

Die Auswirkungen sind im Grunde so gewaltig, dass man gerne dazu tendiert sie nicht wahrhaben zu wollen. Bringt aber nix.

Aktuelle Empfehlungen

  • Die Schwachstellen sind im Rahmen des regulären Schwachstellen Managements zu bewerten und zu behandeln, also im Rahmen des jeweiligen Verfahrensrisikos. Wichtig: Rosa Brille weg und Risiken realistisch einschätzen! Wie Sie handeln bleibt immer noch Ihnen überlassen, aber machen Sie sich nichts vor!
  • Nach erfolgreichem Test sollten die vorhandenen Patches (Betriebssystem und Mikrocontroller) ausgerollt werden. Tests sind wichtig, da die Hersteller in der Eile auch schon nicht-funktionale Patches verteilt haben.
  • Im Rahmen des Risikomanagementprozesses sollten die Schwachstellen bzw. Patches zumindest für absehbare Zeit, in kurzen Abständen, etwa wöchentlich, neu bewertet werden.
  • Aktuell hilft wohl nur die hardwarebasierte Trennung von wirklich relevanten Daten. Wer bisher Medizindaten und die Parkplatzverwaltung auf derselben Hardware hatte, sollte umdenken!
  • Vendor Management: fordern Sie von Ihrem Cloud Anbieter Aussagen ein, wie er gedenkt Ihre Daten vor anderen zu schützen! Hier wird es auch rechtlich spannend, denn was er tun muss und was nicht, und was dann davon ihr Problem bleibt oder seins, das hängt von Ihrem Vertrag ab.
  • Wenn Sie personenbezogene oder hochsensible Daten bearbeiten, empfehlen wir einen noch strengeren Blick. Noch gibt es keine aufsichtsbehördliche Stellungnahme wie mit einer Situation umzugehen ist, in die man durchaus interpretieren kann, dass viele Verfahren auf absehbare Zeit nicht weiter betrieben werden dürften. Unter der Strafandrohung des BDSG war das nicht weiter schlimm. Die DSGVO wartet da mit ganz anderen Geschützen auf.

Autoren: Florian Franke, Holger Heimann, Christian Stehle

[1] https://meltdownattack.com/

[2] https://googleprojectzero.blogspot.de/2018/01/reading-privileged-memory-with-side.html

Back To Top