3 ms·
Really impressive to see this on a practical codebase. > 56% of total vulnerabilities (113 of 200) are memory-safety; of these: > • 54% mitigated throu
by insanitybit 3y ago
Really impressive to see this on a practical codebase.
> 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?
- ryao 3y agoFrom what I have heard from various talks on Cheri that I attended, it only targets about 72% of memory safety issues. Handling the remaining 28% is not mentioned, but I suspect it would be future work.
- insanitybit 3y agoThe 26% that aren't covered makes sense to me. It's the gap between the 54% and 72% that I'm trying to understand. 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.
- sweetjuly 3y agoYes. CHERI handily solves the spatial issue but does not really have a good solution for temporal safety as every solution eventually ends up requiring sweeping memory and revoking capabilities. Temporal safety really is a beast of an issue and it's still unclear whether there is a palatable solution using CHERI.
- insanitybit 3y agoMakes sense, thanks. TBH guaranteed spatial safety is such a nice win I'd take that and still be happy.