Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

M1 durch CPU-Sicherheitslücke angreifbar – Gefahr allerdings sehr überschaubar

Prozessoren werden immer komplizierter – und durch diese Komplexität entstehen auch Sicherheitslücken. Anfang 2018 wurden zwei Sicherheitslücken in Intel- und AMD-CPUs bekannt, welche sich das spekulative Ausführen von Programmcode zunutze machten. Grob umschrieben führen Prozessoren Code aus – auch wenn noch gar nicht feststeht, ob dieser im weiteren Programmverlauf benötigt wird. Dies hat den Vorteil, dass so Rechenzeit gespart wird. Allerdings geschah diese spekulative Ausführung von Code unter Umgehung von sonst aktiven Sicherheitsvorkehrungen und durch geschickte Analyse war es möglich, Speicher zu lesen, auf welchen das aktuelle Programm eigentlich keinen Zugriff hatte.


Natürlich nehmen Sicherheitsforscher auch Apple-Chips genau unter die Lupe – und nun scheint eine Lücke in Apples A14- und M1-Chips aufgetaucht zu sein. Diese ist zwar nach ersten Erkenntnissen nicht so schwerwiegend wie die Spectre- und Meltdown-Sicherheitsprobleme – aber dennoch kann ein Angreifer möglicherweise in Kombinationen mit anderen Angriffsvektoren Sicherheitsbarrieren überlisten.

Data-Memory-Dependent Prefetcher liest auch geschützte Adressen
Mit dem Apple M1 und dem A14 hat Apple viel Energie aufgewendet, damit der Prozessor nicht auf Speicherinhalte warten muss. Hierfür hat Apple einen Data-Memory-Dependent Prefetcher (DMP) in die Firestorm-Performance-Cores integriert, nicht jedoch in die Effizienz-Kerne. Dieser Prefetcher liest bereits den Inhalt von Speicheradressen, bevor Programme diese überhaupt anfragen. So will Apple verhindern, dass der Prozessor auf den Arbeitsspeicher warten muss und wertvolle Zeit verliert.

Erkennt der Prozessor, dass der Inhalt vieler aufeinanderfolgender Speicherzeiger gelesen wird, tritt der DMP in Aktion und liest bereits den Inhalt der nächsten Adressen aus, so dass direkt auf diesen zugegriffen werden kann. Der Inhalt wird dann in der Cache vorgehalten, so dass bei einem möglichen Zugriff dieser direkt bereitsteht.

Speicheradressen auf Gültigkeit überprüfen
Hat der DMP eine Adresse bereits gelesen, steht diese direkt über den Cache bereit – und der Prozessor muss nicht warten. Da der DMP dies aber vorbei am normalerweise aktiven Speicherschutzmodell erledigt, kann ein Angreifer möglicherweise Informationen über die gelesene Adresse erhalten. Misst ein Angreifer nun die Zeit beim Zugriff, lässt sich hieraus ableiten, ob eine Adresse gültig ist oder nicht. Zwar ist es wohl nach aktuellem Kenntnisstand der Sicherheitsforscher nicht möglich, den Inhalt von zufälligen Speicheradresse zu ermitteln – wohl aber, ob die Speicheradresse eine valide Adresse ist. Dies klappt auch, wenn die Speicheradresse zu einem anderen Prozess gehört.

ASLR umgehen
Hierdurch könnte sich eine Technik überwinden lassen, welche Apple bereits seit einiger Zeit einsetzt: Adress Space Layout Randomisation (ASLR). Hier werden Programme und Programmierbibliotheken nicht an feststehende Speicheradressen geladen, sondern an Zufällige. Dadurch wird eine Vielzahl von bekannten Attacken so gut wie unmöglich, da der Angreifer sich nicht auf ein vorhersehbares Speicherschema verlassen kann. Doch durch die "Augury" getaufte Attacke ist es Angreifern zumindest möglich, valide Speicheradressen von invaliden zu unterscheiden.

Aktuelle Implikationen sehr gering
Auch die Entdecker der "Augury"-Attacke sagen aktuell, dass die Bedrohung durch die identifizierte Schwachstelle in der Praxis sehr gering ist – aber durch ein Software-Update lässt sich die Lücke nicht stopfen. Erst in Kombinationen mit weiteren Sicherheitsmängeln kann "Augury" ein Baustein sein, um eine komplette Attacke durchführen zu können.

Kommentare

Radiodelta
Radiodelta03.05.22 08:53
Ich gebe offen zu, ich habe NICHTS verstanden. Nur, dass ich mir nicht so viel Sorgen machen muss. Und das muss heute reichen
+9
Mendel Kucharzeck
Mendel Kucharzeck03.05.22 09:17
Radiodelta
Eine einfache, aber unvollständige Erklärung ist folgende: Wenn der M1 den Speicher

1 2 3 4 5 6

…lesen soll, ließt er aber auch gleich…

1 2 3 4 5 6 7

Dies kann problematisch sein, weil er 7 unter bestimmten Voraussetzungen eigentlich nicht hätte lesen dürfen. Dennoch ist die Lücke nicht dramatisch, da ein Angreifer nicht an das kommt, was an Stelle 7 tatsächlich im Speicher steht.
+14
Plüschprum03.05.22 09:27
Mich beruhigen die Formulierungen im Konjunktiv. Das könnte also alles sein oder passieren, aber so richtige Anwendungen scheint es noch nicht zu geben. Zudem stellt sich mir die Frage, ob im „normalen“ Betrieb eines „normalen“ Anwenders eine Gefährdung darstellt. Wenn man dafür physischen Zugriff auf das Gerät benötigt, stellt es erst Recht keine Gefahr dar.
+1
Nebula
Nebula03.05.22 09:59
Mendel Kucharzeck
Radiodelta
Eine einfache, aber unvollständige Erklärung ist folgende: Wenn der M1 den Speicher

1 2 3 4 5 6

…lesen soll, ließt er aber auch gleich…

1 2 3 4 5 6 7

Dies kann problematisch sein, weil er 7 unter bestimmten Voraussetzungen eigentlich nicht hätte lesen dürfen. Dennoch ist die Lücke nicht dramatisch, da ein Angreifer nicht an das kommt, was an Stelle 7 tatsächlich im Speicher steht.
Danke, super erklärt.
»Wir werden alle sterben« – Albert Einstein
+1
Mendel Kucharzeck
Mendel Kucharzeck03.05.22 10:07
Plüschprum
Die erste Voraussetzung ist, dass du Code auf dem Computer ausführen kannst – manchmal genügt hier bereits Javascript auf Webseiten, doch hier haben Browser meist Sicherheitsmechanismen, um derartige Attacken auszuhebeln.

Die Lücke an sich erlaubt es nicht, irgendetwas "anzustellen". Es kann nur möglicherweise ein Schutzmechanismus (ASLR) abgeschwächt werden, der in Kombination mit weiteren (bisher nicht gefunden) Lücken einen Komplettangriff erlauben könnte. Es könnte also ein Baustein in einem zukünftigen Angriffsvektor sein.

Aber wie schon geschrieben: Kein Grund zur Sorge, wahrscheinlich auch zukünftig nicht.
+11

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.