Apple M1 "PACMAN" (Bild © PACMAN)
PACMAN nutzt einen aktuellen Softwarefehler aus, um die Pointer-Authentifizierung zu umgehen, was zur Ausführung von beliebigem Code führen kann. Bei der Schwachstelle handelt es sich um ein Hardware/Software-Co-Design, das die Mikroarchitekur-Konstruktion ausnutzt, um beliebigen Code auszuführen.
PACMAN erstellt ein PAC-Orakel, um zu prüfen, ob ein bestimmter Zeiger mit seiner Authentifizierung übereinstimmt. Es darf niemals abstürzen, wenn eine falsche Vermutung geliefert wird und der Angriff alle möglichen PAC-Werte mit dem PAC-Orakel brute-forced. Um Abstürze zu vermeiden, werden PAC-Orakel spekulativ geliefert. Um herauszufinden, ob der PAC-Wert korrekt war, verwendeten die Forscher uArch-Side-Channeling. In der CPU befinden sich Translation-Lookaside-Buffer (TLBs), in denen PACMAN versucht, den Zeiger spekulativ zu laden und den Erfolg mit der prime+probe-Technik zu überprüfen. Die TLBs werden mit den minimalen Adressen gefüllt, die zur Versorgung eines bestimmten TLB-Abschnitts erforderlich sind.
Wenn eine beliebige Adresse aus der TLB entfernt wird, ist es wahrscheinlich, dass das Laden erfolgreich war, und der Fehler kann mit einer falsch authentifizierten Speicheradresse übernommen werden.
Apple M1 PACMAN-Angriff
Auf der PACMAN-Website wird der Angriff im Detail beschrieben. Es ist wichtig, dass Apple von der Existenz des Problems weiss und die Forscher seit 2021 in Gesprächen mit dem Unternehmen stehen. Es ist zwingend erforderlich, die Software auf dem neuesten Stand zu halten, da diese Art von Speicherkorruptionsfehlern gepatcht werden kann. Der Hardware-Teil dieses Exploits ist nicht patchbar, aber die Nutzer sollten sich keine Sorgen machen, da sowohl Software- als auch Hardware-Exploits erforderlich sind, um zu funktionieren.