Android is less of a monoculture, but also has less opportunity to tune the processor to include strong hardware mitigations against whole classes of vulnerabilities.
Android is less of a monoculture, but also has less opportunity to tune the processor to include strong hardware mitigations against whole classes of vulnerabilities.
Their commitment is squarely to mitigating issues that threaten the walled garden (and therefore the kernel), not so much userspace.
The solution is to abandon the whole approach — these systems should not be used across trust boundaries. Apple should create iMessage v2 using a real serialization system (protobuf, JSON, XML, ASN.1, etc) and deprecate the old scheme. It’s surely possibly to write a safe but non-extensible deserializer for the old protocol if compatibility is needed.
As a practical matter, doesn't this mean if I'm confident in my ability to avoid phishing messages, iOS is better?
Anything that "roots" a phone can also run roughshod, turn on my mic, grab signal messages stored locally, etc, correct?
What I'm getting at is a phone in a walled garden + a laptop that's open source might be the best way to get the security of the walled garden and the utility of open source.
I also have Firefox containers for important things like banking - a phishing url from my email will not open in the correct container. Huge red flag.
I see these iOS features as a mechanism to improve C safety on iOS, while you don't.
We would be better if Apple would just reboot the whole stack in Swift, but that will take years, if ever, so from a security advocate point of view, I see that better as what PCs offer nowadays, specially after the misstep that MPX ended up being.
Just for completeness, BTW, iOS devices after iPhone XS ship with PAC, which is part of ARM-v8.3; memory tagging is an extension of ARM-v8.5. Rumors point to the A14 chip supporting that but there's no word on whether Apple will support the extension.
Non-ARM devices will make use of a kernel fuzzer that chooses OS processes as victims to test.
Also Google keeps reducing the areas you are supposed to reach out to the NDK anyway.