Retguard: An improved stack protector for OpenBSD
1–10 of 73 posts
Re: Retguard: An improved stack protector for OpenBSD
#2Re: Retguard: An improved stack protector for OpenBSD
#3How is this different than any other stack canary? Is it because it is per-function instead of per-stack like Linux?
RETGUARD is more than just an improved stack protector, as explained in the commit message it protects function epilogues that are close to return instructions.
[0] https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/lib...
Re: Retguard: An improved stack protector for OpenBSD
#4Re: Retguard: An improved stack protector for OpenBSD
#5How is this different than any other stack canary? Is it because it is per-function instead of per-stack like Linux?
(I started writing a more detailed reply based on the commit description, but there was too much speculation without seeing their source code).
Re: Retguard: An improved stack protector for OpenBSD
#6Re: Retguard: An improved stack protector for OpenBSD
#7How is this different than any other stack canary? Is it because it is per-function instead of per-stack like Linux?
First off, the normal glibc/GCC stack canary is per-process, not per-stack. (I started writing a more detailed reply based on the commit description, but there was too much speculation without seeing their source code).
RETGUARD however, is per function.
Re: Retguard: An improved stack protector for OpenBSD
#8[deleted]
Re: Retguard: An improved stack protector for OpenBSD
#9Re: Retguard: An improved stack protector for OpenBSD
#10CFI still looks more promising to me though. Protecting the CALL part. But this is better than the old gcc/clang stack cookie of course, protecting RET.