Forscher haben in Apples M1-Prozessor eine Schwachstelle gefunden, die zur Umgehung des Schutzes vor Angriffen von außen genutzt werden kann. Der als Pacman Discoverers bezeichnete Angriff erfordert jedoch die Ausnutzung von Softwarefehlern.
Pacman betrifft grundsätzlich alle ARM-Prozessoren mit dem Sicherheitsfeature Pointer Authentication Codes (PAC). Apples M1 ist die am weitesten verbreitete CPU mit diesem Feature, Qualcomm präsentiert sie mit dem Laptop-Prozessor Snapdragon 8cx Gen 3. Apple selbst stuft die Entdeckung als Proof of Concept ein. Laut einer Erklärung besteht keine unmittelbare Gefahr für die Benutzer.
Laut Forschern des MIT Computer Science and Artificial Intelligence Laboratory benötigen Angreifer keinen direkten Zugriff auf die Hardware. Im Testfall wurde der Rechner aus einem anderen Raum angegriffen. Im Moment wissen sie jedoch nicht, dass diese Angriffstechnik schon einmal verwendet wurde. Forscher waren bereits 2021 mit Apple in Kontakt, um die Ergebnisse zu teilen. Eine weitere Schwachstelle im M1-Prozessor namens Augury wurde erst Anfang Mai bekannt.
Bei Erfolg auf alles zugreifen
Der offene Angriff umgeht sogenannte Pointer Authentication (PAC)-Codes, eine Art Schutzschicht, die verhindern soll, dass Softwarefehler ausgenutzt werden, um Benutzerzugriffsrechte auf den Kernraum zu erweitern. Bei Erfolg kann der Kernel verwendet werden, um auf alle Arten von Systemdaten zuzugreifen.
Da der Pacman-Angriff auf das PAC-Sicherheitsmerkmal hinweist, wählten die Entdecker Pac-Man als Logo.
(Bild: pacmanattack.com)
So funktioniert der Angriff
Ein Zeiger ist ein Objekt in einer Programmiersprache, das auf die entsprechenden Adressen im RAM zeigt, wenn die CPU auf den Speicher zugreift. Die Zeigerauthentifizierung wurde eingeführt, um zu verhindern, dass Angreifer diese Funktion missbrauchen, um zwischen Programmen auf Speicher zuzugreifen. Das System überprüft damit, ob der Zugriff erlaubt ist, indem es kryptografisch verschlüsselte Signaturen vergleicht. Zeigerauthentifizierungscodes sind eine zusätzliche Schutzmaßnahme gegen Angriffe, die ARM mit der Architekturversion ARMv8.3 eingeführt hat.
Die Ergebnisse der Forscher zeigen, dass dieser Schutz nicht sehr zuverlässig ist. Indem sie M1 spekulativ ausführen und alle möglichen PAC-Werte erraten, schaffen sie es, die Zeiger zu überschreiben. Sie können einen Seitenkanal verwenden, um herauszufinden, ob der Versuch, einen Zeigerzugriff zu erraten, erfolgreich ist oder nicht. So betreten sie schließlich den Kernel-Space und führen Code aus.
Was hilft
Die Schwachstelle ist in der Hardware verankert und kann nur durch Software-Tricks behoben werden. In jedem Fall ist jedoch ein Softwarefehler als Grundlage dafür erforderlich, dass eine Speicherverfälschung in Richtung einer Zeigerauthentifizierung fortschreiten kann. Apple hält die Sicherheitsmaßnahmen des Betriebssystems macOS für ausreichend.
(mki)
Auf der Homepage