Derzeit sind die Begrifflichkeiten Spectre und Meltdown in aller Munde – doch wieso sind bestimmte Prozessoren (CPUs) überhaupt angreifbar, wie sehen die Sicherheitslücken aus? Und genauso wichtig: Wie kann ich mich schützen?
Update, 23. Januar 2018: Chiphersteller Intel hat Fehler in den neuesten Updates gegen die schwerwiegenden Sicherheitslücken gefunden und rät davon ab, entsprechende Versionen davon zu installieren. So könne es durch die Updates zu „unvorhersehbaren Problemen“ führen – wie sich diese genau gestalten und welche konkrete Gefahr für User besteht, sagte der Konzern nicht. Auch ist unklar, was Personen tun sollen, die die neuesten Updates bereits installiert haben – nicht jedes Update lässt sich durch jeden User einfach rückgängig machen, insbesondere wenn UEFI/BIOS betroffen sind. In unserer Redaktion gab es bisher keine Probleme – vielleicht möchte sich der Konzern nur absichern oder die User schützen, bei denen das Update zu negativen Folgen führen könnte. Intel-Manager Navin Shenoy in einem Blogeintrag: „Wir rufen unsere Partner in der Industrie auf, ihre Anstrengungen auf frühere Update-Versionen zu konzentrieren, sodass wir die Veröffentlichung beschleunigen können“. Es bleibt zu hoffen, dass Intel schnell mit einem entsprechenden Sicherheitsupdate hinterherkommt.
Spectre und Meltdown verständlich erklärt – das sind die Angriffsszenarien
Insgesamt sind drei Angriffsszenarien bekannt, die als schwerwiegende Sicherheitslücke gelten: Zwei werden als Spectre bezeichnet (CVE-2017-5753 und CVE-2017-5715), eines als Meltdown (CVE-2017-5754).
Betroffen sind folgende Prozessoren:
- Intel Core i3, i5, i7 (jeweils 45nm und 32nm), Intel Core M (45nm and 32nm), Intel Core 2. bis 8. Generation, Core X, Xeon, Atom und Celeron sowie einige Pentium (Intel Itanium und Intel Atom vor 2013 sind nicht betroffen)
- Qualcomm Snapdragon-CPUs (Tablets und Smartphones) sind mindestens anfällig gegenüber Spectre
- AMD-Prozessoren sind laut AMD nicht relevant von Meltdown, sehr wohl aber von Spectre betroffen (Betriebssystem- und Microsocode-Updates vorhanden) | Quelle: AMD
- Apple-Prozessoren in iMac, Macbook, iPhone, iPad und AppleTV sind betroffen | Quelle: Apple
- Nvidia Tegra und Nvidias SoCs mit ARM-CPUs: auch hier scheint ein Sicherheitsrisiko gegeben, Nvidia bereitet hierzu Sicherheitsupdates vor (z.B. für Nvidia Shield)
Nicht betroffen sind folgende Geräte:
- Apple Watch
- Google Home, Google Chromecast, Wifi und OnHub
- Raspberry Pi (verwendet nur ARM-Prozessoren ohne “Speculative execution”)
- AVM (u.a. Fritzbox)
- Geräte von Lancom | Quelle: Lancom
Der Kernelspeicher (Rogue Data Cache Read) und der Userspace teilen sich im Translation Lookaside Buffer (TLB) einen gemeinsamen Cache. Deshalb ist es unter Umständen für Angreifer möglich, Daten aus dem jeweils anderen Bereich auszulesen, die eigentlich vertraulich sind. Jetzt kann man sich fragen: Wieso greifen die beiden Bereiche eigentlich auf denselben Cache zurück? Die Antwort ist simpel: Die Vorgehensweise, dass der Speicher von beiden Anwendungskontexten verwendet werden kann, ohne geleert werden zu müssen, bietet enorme Geschwindigkeitsvorteile. Genau diesen Umstand jedoch nutzt der Meltdown-Angriff aus.
Bei Spectre wird die „Speculative Exekution“ von CPUs ausgenutzt, also der Versuch des Prozessors, Befehle zu erraten, die in Zukunft ausgeführt werden könnten. Prozessorkapazitäten, die gerade frei sind, sollen hierbei verwendet werden, um Informationen bereitzustellen, die in Kürze vielleicht benötigt werden. Problematisch hierbei: Es können auch Informationen bereitgestellt werden, die vertraulich sind. Die vom Prozessor vorausberechneten Informationen können so ausgelesen werden.
Unbedingt Sicherheitsupdates herunterladen und installieren!
Microsoft hat bereits Updates bereitgestellt, die gegen Spectre und Meltdown helfen sollen – auch wenn die Sicherheitslücke nicht komplett geschlossen zu sein scheint, sollen Angriffe durch diese Patches zumindest erschwer werden. Zum konkreten Inhalt der Updates hat sich Microsoft nicht geäußert. Prüfen Sie unter Windows Updates, ob Aktualisierungen zum Download oder zur Installation bereitstehen. Auch bei Browsern, Grafikkarten-Treibern und anderen Betriebssystemen (bspw. MacOS) gibt es bereits Patches – diese sollten also ebenfalls aktualisiert werden. Die Betriebssystem-Updates verringern zwar die Angriffsfläche, aufgrund des Hardwaredesigns aller relevanter Prozessoren kann die Sicherheitslücken jedoch eigentlich nur „migriert“ werden. Außerdem ist ein Verzicht von JavaScript in Webbrowsern ratsam, da sich bei der Nutzung viel Angriffsfläche auftut – da reicht schon der Besuch einer kompromittierten Website für größere Schäden aus. Deshalb keinen Webbrowser mit aktiviertem JavaScript geöffnet lassen, solange mit sensiblen Daten gearbeitet wird. Auch nachdem mit sensiblen Daten gearbeitet wurde, können diese noch im PC-Speicher existieren und entsprechen durch Dritte ausgelesen werden. Es ist aber nicht alleinig ausreichend, Betriebssysteme und Programme zu aktualisieren. Auch die CPU-Firmware muss aktualisiert werden, der sogenannte Microcode wird über ein BIOS/UEFI-Update installiert.
Leistungseinbußen nach Update?
Der Translation Lookaside Buffer (TLB) wir nach der Installation der Updates mutmaßlich nicht mehr von Kernel und Userspace synchron verwendet. Das kann zu Leistungseinbußen führen. Intel selbst berichtet von Leistungseinbußen bei der achten und siebten Core-i-Generation bei Office-Benchmarks (SYSMark2014SE) von rund sechs Prozent, bei CPUs der sechsten Generation sind es etwa acht Prozent. Je älter der Prozessor bzw. dessen Architektur, desto größer der Leistungsverlust. Außerdem wird von Inkompatibilitäten nach dem Update berichtet, insbesondere bei Systemen mit AMD-CPU: Hier wird von Systemabstürzen berichtet, die mit einem Windows-Update Mitte Januar behoben werden sollen. Besonders problematisch sind auch Anwendungsszenarien, bei denen häufige I/O-Operationen durchgeführt werden – etwa Datenbank-Server. Auch Cloud-Nutzer/-innen berichten von einer teils stark gestiegenen Serverauslastung.
Cloud-Server leiden besonders unter Spectre und Meltdown
Cloudsysteme haben die Eigenschaft, dass auf einem physikalischen Server viele Cloudanwendungen parallel laufen. Wenn nun jemand seine Daten im Browser bearbeitet, dann hat er keinen Einfluss darauf, welche Programme auf demselben physikalischen Server laufen und über die vorhandenen Sicherheitslücken Meltdown und Spectre den gemeinsamen Hauptspeicher auslesen könnten – selbst dann, wenn er auf seinem eigenen Clientrechner darauf achtet, nicht gleichzeitig noch andere Internetseiten mit möglicherweise bösartigem Javascript geöffnet zu haben. Daher sind Cloudsysteme von diesen Sicherheitslücken besonders betroffen, was nur teilweise durch Softwareupdates verhindert werden kann. Auch deshalb gilt: Vorsicht mit sensiblen Daten in Cloud-Umgebungen. Es kann unsicherer sein, in einer Cloudumgebung zu arbeiten statt auf einem eigenen Rechner – bei diesem nämlich kann selbst dafür sorgen, dass der Prozessor nicht mit anderen Programmen (von unbekannten Usern) geteilt wird. Spectre und Meltdown wurden quasi über Nacht bekannt und haben ein doch schon großes Ausmaß. Deshalb kann man als User nicht vorsichtig genug sein, schließlich ist unklar, welche potentiellen Sicherheitslücken in Zukunft aufgedeckt werden könnten.