Kernel support for hardware-based control-flow integrity
Kernel support for hardware-based control-flow integrity
Posted Jul 11, 2022 15:58 UTC (Mon) by willy (subscriber, #9762)Parent article: Kernel support for hardware-based control-flow integrity
Posted Jul 11, 2022 16:15 UTC (Mon)
by Bigos (subscriber, #96807)
[Link] (3 responses)
Still, that would only help checking whether the return destination is "a" call-site, not that it is "the" call-site that originated the call. Maybe that was not deemed useful enough? You could still return to the middle of any function, even though the return destination is restricted to call-sites.
Posted Jul 11, 2022 16:50 UTC (Mon)
by Wol (subscriber, #4433)
[Link] (2 responses)
Istr a couple of languages where you could return to a different label in the caller than the original call site ...
Cheers,
Posted Jul 12, 2022 2:09 UTC (Tue)
by scientes (guest, #83068)
[Link] (1 responses)
Posted Jul 12, 2022 14:23 UTC (Tue)
by tamiko (subscriber, #115350)
[Link]
Posted Aug 9, 2022 1:18 UTC (Tue)
by alkbyby (subscriber, #61687)
[Link] (2 responses)
Compared to that forward edge stuff looks weak. And I'd argue, what is the point building feature that is immediately ~useless from the start.
But the cost of those shadow stack thingy is huge. It is not just debuggers and criu. Exception handling too. Various forms of longjmp (yes, AFAIR standard only allows to it to "skip" call frames, but in practice some folk have used it for more advanced means, and those will break). {make,swap}context and friends will break too, I think. And some people have built useful software around those too. Are we saying non-standard control flow now requires a syscall (in our still crazy times when syscall latency is sky-high, sadly)
Also I am curious how that works or doesn't work with dlopen-ed codes. If my initial set of modules (executable + .so-s) are compatible, but then I dlopen something legacy what happens ?
Posted Sep 9, 2022 14:30 UTC (Fri)
by jepsis (subscriber, #130218)
[Link] (1 responses)
Not so huge. Many Android phones have these enabled. Chrome OS too. Enabling CFI is strongly recommended on Android devices.
Posted Sep 9, 2022 19:59 UTC (Fri)
by nix (subscriber, #2304)
[Link]
Kernel support for hardware-based control-flow integrity
Kernel support for hardware-based control-flow integrity
Wol
Kernel support for hardware-based control-flow integrity
Kernel support for hardware-based control-flow integrity
Kernel support for hardware-based control-flow integrity
Kernel support for hardware-based control-flow integrity
Kernel support for hardware-based control-flow integrity