Creating a Memory-Safe Workstation with CheriBSD [pdf]
bsdcan.org
bsdcan.org
https://discourse.llvm.org/t/rfc-enforcing-bounds-safety-in-...
In particular, it will allow safety issues from type casting, which do not happen under Cheri C/C++:
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-947.pdf
I hope that the two efforts could be combined. Having a software version of Cheri for "legacy hardware" would give us the best of both worlds.
https://learn.microsoft.com/en-us/cpp/code-quality/understan...
Are these lines of code written _just_ for Google Chromium, or does this include all dependencies that you would normally not touch the source code of?
> 56% of total vulnerabilities (113 of 200) are memory-safety; of these:
> • 54% mitigated through referential and spatial safety (implemented); of these, 8% of memory safety w/sub-object
> 72% mitigated if including heap temporal memory safety (white-board design)
> • 26% unmitigated are uninitialized values; at least 5% of memory safety would likely be mitigated by LLVM stack initialization
> • Handful of unmitigated vulnerabilities: stack temporal safety, VM vulnerabilities, …
Could someone explain this?I believe this is saying that 54% of the 113 vulnerabilities were mitigated with what the implementation can do today, 72% would have been mitigated using the heap temporal stuff, which this seemingly implies is future work.
Correct?
My recollection is that by default CHERI provides strong spatial safety but it requires work (and possibly primitives that do not fully exist yet) to get the temporal safety. I'm wondering if that's what this is/ if my recollection is correct.
The mentioned Morello boards appear to be these:
What’s the current consensus on how this rollout and transition is expected to happen?
https://msrc.microsoft.com/blog/2022/01/an_armful_of_cheris/
Although not CHERI, Solaris SPARC, iOS PAC and Android MTE (on ARMv9) are already doing memory tagging.
I'd like to see something similar standardized for ARM and available in off-the-shelf ARM CPUs and SoCs; I'd also like to see it supported in Apple's ARM SoCs and OSes, and in Android and Windows on ARM.