Hacker News new | past | comments | ask | show | jobs | submit login

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)




Yup arm64e in general has pointer authentication, iOS and MacOS already implement it.


It'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.


Except 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.


It's not much of trailblazing if nobody follows on the trail.


Indeed, Apple is following the trail of Burroughs, iAPX 432, MPX, SPARC ADI, Lisp Machines, among others.


Performance 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?


> 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_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%.


https://eprint.iacr.org/2016/444.pdf is the cipher used for pointer auth on Arm-designed cores.


Wonderful, thank you.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: