Originally posted by kylew77
View Post
GCC 15 Adds Option For Arm Guarded Control Stack "GCS" Code Generation
Collapse
X
-
So basically the same as Shadow Stack on x86? (implemented in recent AMD & Intel CPUs but still not enabled by default on just about any Linux distro afaik, though seemingly close with the ABI now locked down & support in glibc)
Originally posted by kylew77 View PostI wonder what it's real effect on security will be? Not that it will be trivial to bypass it but if it will stop a lot of attacks.
Leave a comment:
-
-
Originally posted by kylew77 View PostI wonder what it's real effect on security will be? Not that it will be trivial to bypass it but if it will stop a lot of attacks.
First, the linked quote isn't really the Arm documentation, rather it's the Arm Blog summarizing some architectural changes in v9's ISA. It doesn't cite any real world example code it intends to protect against. I assume there's examples in the mentioned, but not linked-to from the blog, developer documentation.
"A GCS is a protected region of virtual address space allocated by software. When the processor executes a Branch with Link instruction, such as BL, the return address is pushed onto the GCS as well as being written into the Link Register (LR). On a procedure return, the latest stored return address is popped from the GCS. The processor either compares the popped value with the LR, or uses the popped value directly...To prevent accidental or malicious changes to the GCS, a new Stage 1 permission is introduced. This permission allows reads by software, but restricts writes to either GCSPUSH instructions or as a side-effect of executing a BL."
I'm not going to opine on how trivial it could be to get around the GCS because I'm not qualified to do so.
Leave a comment:
-
-
I wonder what it's real effect on security will be? Not that it will be trivial to bypass it but if it will stop a lot of attacks.
Leave a comment:
-
-
GCC 15 Adds Option For Arm Guarded Control Stack "GCS" Code Generation
Phoronix: GCC 15 Adds Option For Arm Guarded Control Stack "GCS" Code Generation
GCC 15 feature development is soon wrapping up to focus on bug fixing before releasing GCC 15.1 as stable in the early months of 2025. One of the latest features to make it in the compiler codebase is code generation support around Arm Guarded Control Stack (GCS) functionality...
Tags: None
-
Leave a comment: