2 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 11mo 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 11mo agoCHERI, but that's just one example.
- pjmlp 11mo 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 11mo 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 11mo 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.