6 ms·
Can you say what hardware could do better? I.e. which kind of primitives do you miss, or would make it easier to develop safer software?
by grumbelbart 9mo ago
Can you say what hardware could do better? I.e. which kind of primitives do you miss, or would make it easier to develop safer software?
- checker659 9mo agoCHERI, but that's just one example.
- pjmlp 9mo agoBounds checking of pointers, C Machine kind of. Solaris and Linux SPARC since 2015, for example. https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/prog-interfaces/using-application-data-integrity-adi.html https://docs.oracle.com/en/operating-systems/solaris/oracle-... https://docs.kernel.org/arch/sparc/adi.html https://docs.kernel.org/arch/sparc/adi.html ARM MTE, as another one, https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/mte/mte/ https://learn.arm.com/learning-paths/mobile-graphics-and-gam...
- fweimer 9mo agoThese approaches can only detect linear overflows deterministically. Use-after-frees (temporal safety violations) are only detected with some probability. It's mostly a debugging tool. And MTE requires special firmware, which is usually not available in the cloud because the tag memory reservation is a boot-time decision.
- pjmlp 9mo agoStill better than status quo on most systems. It is kind of interesting how all attempts to improve security are akin to arguing about usefulness of seatbelts when people still die wearing them.