The grsecurity "RAP" patch set
RAP is our patent-pending and best-in-breed defense mechanism against code reuse attacks. It is the result of years of research and development into Control Flow Integrity (CFI) technologies by PaX. The version of RAP present in the test patch released to the public today under the GPLv2 is now feature-complete."
Posted Feb 7, 2017 1:19 UTC (Tue)
by roc (subscriber, #30627)
[Link] (2 responses)
So just to clarify: if an attacker obtains an unlimited-read primitive in a multi-threaded user-space protected by RAP, they can bypass RAP? (It seems to me they could, since they could determine a thread's RAP cookie and also the hashes needed to construct valid return address targets.)
Seems like RAP would benefit from user-space per-thread stack protection, which you could implement using Intel's Memory Protection Keys (modulo compatibility issues). MPKs also let you make executable code completely non-readable which would be helpful.
Posted Feb 7, 2017 2:12 UTC (Tue)
by PaXTeam (guest, #24616)
[Link] (1 responses)
Posted Feb 7, 2017 4:51 UTC (Tue)
by roc (subscriber, #30627)
[Link]
Have you collected data on whether common software contains adequate ROP chains to launch attacks, with the return type hash checking?
Posted Feb 7, 2017 3:55 UTC (Tue)
by vapier (guest, #15768)
[Link] (1 responses)
the text says "CrOS uses ssp-all", but then links to a page that explicitly says CrOS does not -- it uses ssp-strong. seems like an unnecessarily obvious typo.
Posted Feb 7, 2017 11:14 UTC (Tue)
by FLHerne (guest, #105373)
[Link]
"SSP-All was chosen as a comparison since it was used for a long time by Chrome OS."
Posted Feb 7, 2017 4:24 UTC (Tue)
by imgx64 (guest, #78590)
[Link] (3 responses)
This is sarcasm, right? What would they do with a patent if they got one?
Posted Feb 7, 2017 8:08 UTC (Tue)
by patrick_g (subscriber, #44470)
[Link] (1 responses)
Posted Feb 7, 2017 19:27 UTC (Tue)
by HIGHGuY (subscriber, #62277)
[Link]
Posted Feb 7, 2017 8:24 UTC (Tue)
by pabs (subscriber, #43278)
[Link]
http://www.levien.com/patents.html
Posted Feb 7, 2017 12:25 UTC (Tue)
by karkhaz (subscriber, #99844)
[Link] (2 responses)
Also interesting is the fact that the patched kernels have fewer branch misses. Is this just a chance occurrence on this one benchmark (running `du -s`) or is there a systematic reason why the patched kernels have fewer branch misses?
Posted Feb 7, 2017 12:35 UTC (Tue)
by Sesse (subscriber, #53779)
[Link] (1 responses)
Posted Feb 7, 2017 12:38 UTC (Tue)
by karkhaz (subscriber, #99844)
[Link]
Posted Feb 7, 2017 12:47 UTC (Tue)
by mjw (subscriber, #16740)
[Link] (2 responses)
Posted Feb 8, 2017 2:18 UTC (Wed)
by PaXTeam (guest, #24616)
[Link] (1 responses)
Posted Feb 8, 2017 21:31 UTC (Wed)
by Lionel_Debroux (subscriber, #30014)
[Link]
Posted Feb 7, 2017 13:59 UTC (Tue)
by welinder (guest, #4699)
[Link] (1 responses)
Posted Feb 23, 2017 8:58 UTC (Thu)
by stephenm (guest, #114284)
[Link]
The grsecurity "RAP" patch set
> XOR canary method is vulnerable to arbitrary reads
> ASLR helps a bit: two leaks are needed
> encrypted return address
> plaintext code address (not necessarily the return address)
> Combine with return place (code pointer target) verification
The grsecurity "RAP" patch set
The grsecurity "RAP" patch set
CrOS uses ssp-strong, not ssp-all
CrOS uses ssp-strong, not ssp-all
--<link>--
"fstack-protector-all was defined to add the canary to all functions. This results in substantial use of stack space for saving the canary on deep stack users, and measurable (though surprisingly still relatively low) performance hit due to all the saving/checking. For a long time, Chrome OS used this, since we’re paranoid."
The grsecurity "RAP" patch set
The grsecurity "RAP" patch set
And perhaps, if they want to do this, sell to these proprietary OS vendors the right to use the patent?
The grsecurity "RAP" patch set
Either way, I (some Joe Nobody in this story) am sure prepared to give them the benefit of the doubt for now.
The grsecurity "RAP" patch set
http://www.advogato.org/article/31.html
http://www.advogato.org/article/89.html
The grsecurity "RAP" patch set
The grsecurity "RAP" patch set
The grsecurity "RAP" patch set
The grsecurity "RAP" patch set
The grsecurity "RAP" patch set
The grsecurity "RAP" patch set
The corresponding fixes throughout the tree (drivers, fs, net, sound, etc.) make up a significant proportion of the size increase between the grsec 4.4.x (last version without RAP, 4.4.8 is just above 8e6 bytes) and 4.5.x patches (4.5.2 is just above 9e6 bytes, +~12%). The diff between copies of these patches confirms.
The grsecurity "RAP" patch set
and three-letter acronyms.
The grsecurity "RAP" patch set