Elektroniknet Logo

Sicherheitslücke in Prozessoren

Was hinter »Meltdown« und »Spectre« steckt


Fortsetzung des Artikels von Teil 1

Abwehr kostet Rechenzeit

Die Gegenmaßnahme besteht darin, den Speicher des Kernels vollständig von den Benutzerprozessen zu trennen. Der Linux-Patch verwendet dazu die so genannte Kernel Page Table Isolation (KPTI). Dazu sind allerdings umfangreiche Umbaumaßnahmen am Kernel erforderlich, weshalb die Arbeiten schon seit einiger Zeit andauern. Die KPTI-Patches verschieben den Kernel in einen völlig separaten Adressraum. Der Nachteil dieser Trennung ist, dass es aufwendig ist, für jeden Systemaufruf und für jeden Interrupt von der Hardware immer wieder zwischen zwei getrennten Adressräumen zu wechseln. Diese Kontextwechsel brauchen Zeit, denn es müssen erst Daten in den Speicher geschrieben  und neue geladen werden. Das erhöht den Overhead des Kernels und verlangsamt den Computer. Anfängliche Prognosen, dass dies den Programmablauf um bis zu 30 Prozent verlangsamen könnte, scheinen aber übertrieben zu sein. Realistische Messungen geben Werte um 5 Prozent an. Es ist zu vermuten, dass Apple und Microsoft in ihren Betriebssystemen iOS und Windows gleichartige Maßnahmen umsetzen. Details dazu sind allerdings bei diesen Closed-Source-Betriebssystemen nicht bekannt.

Relevante Anbieter

Spectre

Mit einem weiteren Angriff, »Spectre«, wird die Abgrenzung von Speicherinhalten zwischen Anwendungen überwunden. Mit Spectre können Informationen aus anderen Prozessen oder dem gleichen Prozess extrahiert werden, die auf demselben System laufen. Ein Beispiel dafür wäre schädlicher Javascript-Code in einer Website, der die Login-Cookies für andere Seiten aus dem Speicher des Browsers extrahiert.

Bei Spectre wird vom Angreifer Code eingeschleust, der die Sprungvorhersage des Prozessors beeinflusst. Dadurch werden von völlig fehlerfreien und nach allen Regeln der Technik entwickelten Programmen Befehlsfolgen ausgeführt, die so normalerweise nicht zur Ausführung gelangen würden. Forscher von der Universität Graz haben ein Exploit geschrieben, bei dem diese Befehlsfolgen so beeinflusst und ausgeführt werden, dass es gelang, den gesamten Speicher der angegriffenen Anwendung auszulesen. Spectre ist nicht auf bestimmte Prozessoren beschränkt und schwierig zu patchen, aber auch schwierig zu implementieren. Die prinzipielle Funktionsweise des Angriffs konnten die Grazer Forscher auf Ivy-Bridge-, Haswell- und Skylake-CPUs von Intel, auf AMD Ryzen und einigen ARM-Prozessoren von Qualcomm und Samsung nachweisen. Laut Google sind bei ARM die Cortex-Kerne R7, R8, A8, A9, A15, A17, A57, A72, A73 und A75 betroffen.

Die vorher beschriebenen KPTI-Patches stellen keinen Schutz gegen Spectre dar. Um Anwendungen zu schützen, müssten die Entwickler ihre Programme neu compilieren oder auf ein Mikrocode-Update des Chipsatzes warten. Bis zum Redaktionsschluss gab es noch keine soliden Spectre-Fixes für Intel- und AMD-Prozessoren. Google ist zuversichtlich, dass ARM-basierte Android-Geräte mit den neuesten Sicherheitsupdates vor Angriffen geschützt sind. Allerdings sind Endkunden darauf angewiesen, dass die Smartphone-Hersteller diese Updates ihren Kunden auch bereitstellen. Das vom US-Heimatschutzministerium finanzierte Computer Emergency Response Team (CERT) der Carnegie Mellon University in Pittsburgh ist sogar der Meinung, dass eine wirkungsvolle und nachhaltige Beseitigung der geschilderten Cyber-Security-Risiken nur durch den Einsatz neuer Prozessoren möglich ist.

Ausführliche Informationen zu Meltdown und Spectre gibt es auf einer Spezialseite der Universität Graz, auf der die Forscher ihre Erkenntnisse publiziert haben.


  1. Was hinter »Meltdown« und »Spectre« steckt
  2. Abwehr kostet Rechenzeit

Das könnte Sie auch interessieren

Verwandte Artikel

INTEL GmbH, AMD Advanced Micro Devices GmbH, ARM Germany GmbH