4 ms·
wouldn't it be like a crime against the crown to not have a cheri like thing in arm?
by a-dub 1y ago
wouldn't it be like a crime against the crown to not have a cheri like thing in arm?
- commandersaki 1y agoI always see cheri brought up and admittedly I know very little about it, except that the ergonomics appear poor requiring twice the storage for each pointer and ground up rearchitecting of the OS, making it quite unappealing from an engineering standpoint.
- wahern 1y agoFreeBSD, kernel and base, was ported to CHERI, along with PostgreSQL. > We have adapted a complete C, C++, and assembly-language software stack, including the opensource FreeBSD OS (nearly 800 UNIX programs and more than 200 libraries including OpenSSH, OpenSSL, and bsnmpd) and PostgreSQL database, to employ ubiquitous capability-based pointer and virtual-address protection. Most programs didn't require any changes at all. Even most pointer-integer-pointer conversions can be automatically handled by the toolchain and runtime. See https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201904-asplos-cheriabi.pdf https://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201904...
- commandersaki 1y agoSounds good for a clean slate but you couldn't seamlessly transition to it, which is why I said it was unappealing.
- checker659 1y ago> making it quite unappealing from an engineering standpoint The other option being rewriting everything under the sun from scratch.
- commandersaki 1y agoUm, there's also Memory Tagging which is the topic of this post. Apple's implemented it as part of the umbrella MIE and eliminates a class of bugs, at least on the surface of their own software, and allows for incremental adoption and doesn't break compatibility with older binaries.
- astrange 1y agoMTE (and PAC before it) store some metadata in previously unused pointer bits, so there are potential issues if you were already using those for something else. Oh and if your program has memory bugs then you have to fix them of course.