Post

I am curious to see what memory bugs remain practical on iOS with MIE and typed allocators. The fact that memory tags are enforced even in kernel access to userspace memory is going to make use-after-free and buffer overflows extremely hard. security.apple.com/blog/memory-...

security.apple.comBlog - Memory Integrity Enforcement: A complete vision for memory safety in Apple devices - Apple Security ResearchMemory Integrity Enforcement (MIE) is the culmination of an unprecedented design and engineering effort spanning half a decade that combines the unique strengths of Apple silicon hardware with our adv...

4 reposts28 likes

This comes to macOS next year. The security argument for Chrome over Safari disappears? The hardware reaches Graviton three years later, but retooling the linux kernel and userland around typed allocators takes at least 5-8 years? Until then all computing worth doing has to be on a Mac?

C++ is good enough again? Will any arguments for productivity-costing modern language techniques like borrow checking survive if memory tagging actually works? Will security teams ban sensitive work happening on x86 laptops and desktops for 5+ years? Lots of change ahead!

You will likely still want borrow-checking and its ilk, but for the new purpose of ensuring that your code runs reliably (or at all) on the new hardware. MTE violations mean crashes, which likely is still a DoS vector for software that handles untrusted inputs.

Android is a good chunk of the way there (and in fact is the pioneer, with MTE), so I expect it to quickly follow. The magic here is extending MTE to the point where we can rely on it, so we can get on with programming. Until it hits non-mac laptops… dodge security teams? :)