Pointer Authentication
Auch bekannt als:PAC · Zeigerauthentifizierung
Pointer Authentication: ARM-Hardwarefunktion, die Zeiger kryptografisch signiert, um manipulierte Sprungziele zu erkennen. PAC erschwert ROPReturn-Oriented ProgrammingExploit-Technik, die vorhandene Codeschnipsel verkettet, statt eigenen Code einzuschleusen.-Ketten, indem es die Integrität von Code- und Datenzeigern absichert.
Funktionsweise und Einordnung
Ab ARMv8.3 stehen Instruktionen bereit, die einen Zeiger mit einem geräteinternen Schlüssel und einem Modifier signieren (pacia) und vor der Nutzung wieder prüfen (autia). Weil 64-Bit-Zeiger nicht alle Bits nutzen, wird der kurze Authentifizierungscode in die freien oberen Bits geschrieben. Der Modifier trägt den Kontext — etwa die Stackadresse oder einen Typbezeichner — und bindet die Signatur damit an einen bestimmten Ort. Schlägt die Prüfung fehl, entsteht ein Fault statt eines Sprungs.
Bedeutung in der Praxis
Die Sicherheit von PAC hängt an zwei Annahmen, die in der Praxis oft brechen. Ein konstanter Modifier macht jede Signatur überall gültig und hebt den Kontextbezug auf. Und ein Signier-Orakel — eine Schnittstelle, die ungeprüfte Werte signiert — liefert dem Angreifer gültige Signaturen, ohne dass je ein Schlüssel den Chip verlässt. Zusätzlich schützt PAC nur den geprüften Registerwert: Wird ein Zeiger nach der Prüfung erneut aus dem Speicher geladen, bleibt eine WettlaufsituationRace ConditionFehler, bei dem das Ergebnis von der zeitlichen Reihenfolge paralleler Vorgänge abhängt. ausnutzbar.
Verwandte Begriffe
- Binary ExploitationBinary ExploitationAusnutzung von Speicher- oder Logikfehlern in kompilierten Anwendungen.: Ausnutzung von Speicher- oder Logikfehlern in kompilierten Anwendungen.
- Return-Oriented ProgrammingReturn-Oriented ProgrammingExploit-Technik, die vorhandene Codeschnipsel verkettet, statt eigenen Code einzuschleusen.: Exploit-Technik, die vorhandene Codeschnipsel verkettet, statt eigenen Code einzuschleusen.
- HardeningHardeningReduziert die Angriffsfläche durch sichere Konfiguration und Deaktivierung unnötiger Funktionen.: Reduziert die Angriffsfläche durch sichere Konfiguration und Deaktivierung unnötiger Funktionen.
- Digital SignatureDigital SignatureKryptografischer Nachweis für Authentizität und Integrität digitaler Daten.: Kryptografischer Nachweis für Authentizität und Integrität digitaler Daten.