Reverse Engineering the Customized Pointer Authentication Hardware Implementation on Apple M1
summary
Reverse engineering of Apple M1 PAC reveals a custom hardware pipeline: new Apple-specific system register encodings, a control register plus 128-bit key/diversifier registers, and a key transformation step that XORs per-key salts and VMD/boot/VM diversifiers into the real signing key. A hypervisor-based monitor with active-channel debugging and unlimited breakpoints is built to observe registers and signatures, and bypasses are found (E2-encoding reads and presetting E2 keys) proving Apple enforces per-CPU/per-VM diversifiers to mitigate cross-EL, cross-VM, cross-boot and cross-key attacks.
AI-written summary · about
chapters (8)
- 0:00Introduction to Apple PAC
- 1:00ARM PAC basics
- 4:29Apple PAC research and goals
- 9:59Undocumented system registers
- 21:52Bypassing key protection
- 29:04Hardware implementation findings
- 35:05Cross-domain mitigation
- 37:05Limitations and conclusion
related talks
30mApple Neural Engine Internal: From ML Algorithm to HW Registers
44mBehind the scenes of iOS and Mac Security
45mInside the Apple T2
40mKeeping secrets in your opponent's hands
49mBreaking Hardware-Enforced Security With Hypervisors
38mSide Channel Attacks: Lessons Learned Or Troubles Ahead?
48mDemystifying the Secure Enclave Processor
49mThe ARMs race for kernel protection
