TikTag — ein Angriff auf den spekulativen Ausführungsmechanismus in ARM-CPUs, der es ermöglicht, den MemTag-Schutz zu umgehen.

Eine Forschergruppe der Nationalen Universität Seoul und der Firma Samsung hat eine Angriffstechnik auf ARM-Prozessoren entwickelt, die den Codenamen TikTag trägt. Diese Methode kann verwendet werden, um die Hardware-Schutzmechanismen von MemTag (MTE, Memory Tagging Extension), die in ARMv8.5-A-basierten Chips vorhanden sind, zu umgehen. Der Angriff ermöglicht die Identifizierung des Inhalts der TikTag-Tags für beliebige Speicheradressen aufgrund von Datenlecks, die aus spekulativer Ausführung von CPU-Anweisungen resultieren.

Die MemTag-Technologie ermöglicht es, Tags an Speicherbereiche zu binden und die Richtigkeit der Verwendung von Zeigern zu überprüfen, um die Ausnutzung von Sicherheitsanfälligkeiten zu verhindern, die durch den Zugriff auf bereits freigegebene Speicherblöcke, Buffer Overflows und Zugriffe vor der Initialisierung verursacht werden. Bei der Verwendung von MemTag wird für jeweils 16 Byte physischer Speicher ein 4-Bit-Tag erstellt, das als eine Art Schlüssel für den Zugriff auf diesen Speicher dient. Das Tag kann von einer Anwendung für einen zugewiesenen Speicherbereich mithilfe spezieller CPU-Anweisungen generiert und dann in den oberen nicht verwendeten Bits des Zeigers gespeichert werden. Bei Zugriff auf den Speicher mithilfe eines getaggten Zeigers überprüft die CPU die Übereinstimmung des Tags, das dem Zeiger zugeordnet ist, mit den Tags, die den Speicherbereichen zugeordnet sind, und ermöglicht den Zugriff nur, wenn die Tags übereinstimmen.

Die vorgeschlagene Angriffsmethode ermöglicht es, die an den Speicherblöcken gebundenen Tags zu identifizieren und den Schutz von MemTag zu umgehen. Forscher haben die Möglichkeit demonstriert, den TikTag-Angriff bei der Ausnutzung von Schwachstellen im Linux-Kernel und im Chrome-Browser durchzuführen, indem sie in diesen Produkten vorhandene Anweisungsfolgen (Gadgets) verwendeten, die zu einer spekulativen Codeausführung führten. Solche Gadgets verursachen bei spekulativer Ausführung von Code, der mit Zeigern arbeitet, das Lesen von Metadaten von MemTag, abhängig von äußeren Bedingungen, die vom Angreifer beeinflusst werden können. Nach der Feststellung einer falschen Prognose wird das Ergebnis der spekulativen Ausführung verworfen, aber die gewonnenen Daten bleiben im Cache und können dann durch Analyse über seitliche Kanäle abgerufen werden. Die Wahrscheinlichkeit eines erfolgreichen Umgehens des MemTag-Schutzes wurde in durchgeführten Tests auf 95% geschätzt, wenn der Angriff über einen Zeitraum von etwa 4 Sekunden durchgeführt wurde.

TikTag ist ein Angriff auf den Mechanismus der spekulativen Ausführung in ARM-CPUs, der es ermöglicht, den Schutz von MemTag zu umgehen.

Es wurden zwei Arten von Gadgets identifiziert, die zu Lecks über MemTag-Tags führen. Im ersten Fall tritt die spekulative Ausführung aufgrund einer falschen Vorhersage eines Sprunges auf, und die Bedingungen für die Ausführung des Gadgets können durch Manipulationen mit Systemaufrufen geschaffen werden. Im zweiten Fall
tritt die spekulative Ausführung aufgrund eines Vorhersagefehlers in der Beziehung zwischen Lese- und Schreiboperationen auf, wenn die STLF-Optimierung (Store-To-Load-Forwarding) verwendet wird, was es ermöglicht, das Tag durch das Bewerten des Cache-Zustands zu ermitteln (wenn das Tag übereinstimmt, wird der Wert direkt von dem vorhergehenden 'store'-Befehl in die 'load'-Operation umgeleitet und ändert den Cache-Zustand). Die erste Art von Gadgets eignet sich für Angriffe auf den Linux-Kernel, während die zweite auf die JavaScript-Engine V8 abzielt, die in Chromium-basierten Browsern verwendet wird. Ein Prototyp des Werkzeugs zur Durchführung des Angriffs wurde auf GitHub veröffentlicht.

TikTag ist ein Angriff auf den Mechanismus der spekulativen Ausführung in ARM-CPUs, der es ermöglicht, den Schutz von MemTag zu umgehen.TikTag ist ein Angriff auf den Mechanismus der spekulativen Ausführung in ARM-CPUs, der es ermöglicht, den Schutz von MemTag zu umgehen.

Das Unternehmen ARM hat die Möglichkeit eines Angriffs auf Systeme mit den Prozessoren Cortex-X2, Cortex-X3, Cortex-A510, Cortex-A520, Cortex-A710, Cortex-A715 und Cortex-A720 bestätigt, hat jedoch nicht vor, Änderungen an den CPUs vorzunehmen, um das Problem zu beheben, da die Architektur von MemTag davon ausgeht, dass die Tags keine geheimen Daten für Anwendungen sind. Das Problem bleibt auch in der Chromium-Codebasis ungelöst, da im Chrome-Browser der MemTag-basierte Schutz derzeit nicht standardmäßig angewendet wird. Das Team, das für die Sicherheit der Android-Plattform zuständig ist, hat die Möglichkeit eines Angriffs auf Pixel-8-Geräte anerkannt, die MemTag-Schutz verwenden, hat jedoch Patches hinzugefügt, um Lecks zu verhindern, und signalisiert die Bereitschaft, eine Belohnung für entdeckte Schwachstellen zu zahlen.

Als Workarounds zur Blockierung des Angriffs schlagen die Forscher vor, die Anweisungen sb oder isb zu verwenden, um die spekulative Ausführung während kritischer Speicheroperationen zu verhindern, oder zwischen Verzweigungsanweisungen und Speicherzugriffsanweisungen Fülloperationen anderer Anweisungen einzufügen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster