4 ms·
Very useful, depending on the implementation and potential trade-offs. If the performance is good, this is a nice extra layer that makes return-oriented program
by spijdar 5y ago
Very useful, depending on the implementation and potential trade-offs. If the performance is good, this is a nice extra layer that makes return-oriented programming more difficult. Combined with NX bits, it really raises the difficulty in developing/using many types of exploits.
(it's not impossible to bypass, I'm vaguely aware it's been done on Apple's new chips that implement a similar (the same?) ARM extension, but there's no perfect security)
- pram 5y agoYup arm64e in general has pointer authentication, iOS and MacOS already implement it.
- philistine 5y agoIt's incredible how Apple went from a laggard in new technologies to a trailblazer. I guess that's the power of a corporation on the scale of an 18th century trade monopoly.
- pjmlp 5y agoExcept Oracle did it first with SPARC ADI, Solaris on SPARC is one of the few UNIXes that have tamed C for couple of years now. And actually pointer tagging architectures go all the way back to the early 1960's, with Burroughs being one of the first ones having a go at it.
- Accujack 5y agoPerformance is what I wonder about. The idea sounds good, but what crypto scheme can perform encryption of a signature both securely and fast enough to keep up with every pointer pushed on the stack? What's the trade-off?
- staticassertion 5y ago> but what crypto scheme can perform encryption of a signature both securely and fast enough XOR, I assume. https://pure.tugraz.at/ws/portalfiles/portal/37604654/ind_branch_faults_pa_2021_nasahl_host.pdf https://pure.tugraz.at/ws/portalfiles/portal/37604654/ind_br... > On average, encoding addresses and verifying them at each indirect branch using the dedicated blraaz and braaz instructions yields a performance overhead of 1.50%. The protection of the link between indirect control-flow transfers induces a runtime overhead of 0.83% on average. For the combination of both protection mechanism, we measured an average performance overhead of 2.34%.
- my123 5y agohttps://eprint.iacr.org/2016/444.pdf https://eprint.iacr.org/2016/444.pdf is the cipher used for pointer auth on Arm-designed cores.
- staticassertion 5y agoWonderful, thank you.