Kürzlich hat ein Team koreanischer Forscher von Samsung, der Seoul National University und dem Georgia Institute of Technology einen neuen spekulativen Ausführungsangriff namens TIKTAG getestet. Überraschenderweise zielt dieser speziell entwickelte Angriff auf die Memory Tagging Extension von ARM ab und ermöglicht Datenlecks mit einer Erfolgsrate von über 95 %. Die praktischen Auswirkungen dieser Entdeckung sind erheblich, da sie es Hackern ermöglicht, wichtige Schutzmechanismen gegen Speicherbeschädigungen zu umgehen.
Grundlegendes zur Memory-Tagging-Erweiterung von ARM
Integriert als Basisoption in ARM v8. Insbesondere in der 5-A-Architektur ist MTE eine Verbesserung im Umgang mit dem Speicherbeschädigungsproblem, das eine der größten Kategorien von Sicherheitsproblemen darstellt. In MTE wird ein Tagging mit geringerem Overhead verwendet, wobei Tags in der Größe von vier Bits 16-Byte-Speicherblöcken zugewiesen werden. Dieser Mechanismus hilft dabei sicherzustellen, dass der an ein Tag angehängte Zeiger auf das Tag des Speicherbereichs verweist, auf den zugegriffen wird, und reduziert so Fälle von unbefugtem Speicherzugriff und -missbrauch.
MTE gibt es, wie bereits erwähnt, in drei Kategorien, nämlich synchron, asynchron und asymmetrisch, und jede davon bietet ein ausgewogenes Maß an Sicherheit und Leistung. Dennoch zeigt der TIKTAG-Angriff Schwachstellen im System auf und zeigt, dass selbst Schutz auf höchster Ebene überwunden werden kann.

Die Forscher beobachteten zwei Hauptprogramme mit hoher Effizienz und Geschwindigkeit, darunter TIKTAG-v1 und TIKTAG-v2, die auf die Ausführung von Spekulationen abzielten, um MTE-Speicher-Tags zu leaken.
TIKTAG-v1: Verzweigungsvorhersage und Datenvorabruf
Zu den in TIKTAG-v1 verwendeten Funktionen gehören die Spekulationsverkleinerung bei der Verzweigungsvorhersage und das Vorabrufen von Daten der CPU. Dieses Gadget hat sich dem Linux-Kernel widersetzt, insbesondere bei den Funktionen, die Speicherspekulationen beinhalten. Schädlicher Code ändert Kernelzeiger und verwendet Cache-Seitenkanäle durch Systemaufruffunktionsaufrufe. Anschließend greifen sie auf die Zustände eines Caches zu und messen diese, um Speichertags zu erhalten.


TIKTAG-v2: Store-to-Load-Weiterleitung
TIKTAG-v2 konzentriert sich auf die Store-to-Load-Weiterleitung bei der Zeitspekulation des Prozessors. Der erste Schritt besteht darin, den Wert an einer Speicheradresse zu speichern und ihn gleichzeitig von derselben Adresse zu laden. Der Wert wird an das nächste Tag weitergegeben, wobei der gemeinsam genutzte Cache-Status erfolgreich geladen und geändert wird. Andererseits verhindert eine Nichtübereinstimmung die Weiterleitung, der Cache-Status bleibt im selben Zustand. Wenn Angreifer den Cache-Status nach der spekulativen Ausführung untersuchen, können sie das Ergebnis der Tag-Prüfung ableiten.
TIKTAG-v2 erwies sich als wirksam gegen den anfälligen Zielprozess – den Google Chrome-Browser, mit Schwerpunkt auf den Teilen einschließlich der V8-JavaScript-Engine: Die Ausnutzung von Speicherbeschädigungsschwachstellen im Renderer-Prozess wurde auch hier in diesem Dokument gezeigt.


Auswirkungen und Reaktion der Industrie
Das Lecken von MTE-Tags ist nicht mit dem Lecken von Passwörtern, Verschlüsselungsschlüsseln usw. verbunden. Es schwächt jedoch effektiv die Sicherheit, die MTE angeblich bietet. Dadurch werden heimliche Angriffe zur Speicherbeschädigung möglich. Die Feldforschung endete im November und Dezember 2023, und das Team übermittelte den Stellen seine Ergebnisse. Obwohl die allgemeine Resonanz recht positiv war, wurden keine schnellen Pflaster sofort angewendet.
In einem technischen Dokument, das in einem Repository namens arxiv.org hinterlegt ist, haben die Forscher mehrere Maßnahmen zur Abwehr von TIKTAG-Angriffen vorgeschlagen. Erstens: Lassen Sie nicht zu, dass Spekulationen den Cache-Zustand ändern, nachdem die Tag-Prüfung abgeschlossen ist. Zweitens: Das Einschließen von Spekulationsbarrieren (Anweisungen „sb“ oder „isb“) hilft, die Ausführung sensibler Speicherprozeduren zu verhindern. Drittens: Füllen Sie mit Füllanweisungen zusätzliche Zeit zwischen Verzweigungsanweisungen und Speicherzugriffen ein. Und schließlich: Verbessern Sie die Sandboxing-Strategien, um die Konstruktivität von AMAs in sensiblen Speicherbereichen so sicher wie möglich proaktiv einzuschränken.


Die Antworten von ARM und Chrome
ARM war sich bewusst, dass der TIKTAG-Angriff sehr stark war, und wies daraufhin, dass es immer noch sicher sei, die Tags für die Zuweisung auf Architekturebene mithilfe spekulativer Methoden offenzulegen. In ihrem Bulletin wurde betont, dass Zuweisungs-Tags im Adressraum nicht verborgen seien.
Das Sicherheitsteam von Google Chrome hat diese Probleme zwar aufgezeigt, sich aber dazu entschieden, sie nicht zu beheben. Es hat darauf hingewiesen, dass die V8-Sandbox Speicherdaten und MTE-Tags nicht geheim hält. Außerdem sind in Chrome derzeit keine MTE-basierten Abwehrmechanismen aktiviert, sodass die Behebung der Fehler nicht dringend ist.
Obwohl der MTE-Oracles-Mechanismus des Pixel 8-Geräts später im April 2024 dem Google Android-Sicherheitsteam offengelegt und als Hardwareproblem bestätigt wurde, das für eine Kopfprämie in Frage kam. Die Angriffe wären ohne die Ausnutzung der Boot- und Wiederherstellungsabbilder des Pixel 8-Geräts nicht möglich gewesen.