Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> a bank of 0-days, we don't know how deep.

I think Apple should randomize data structure ordering, change flags and logic in the the memory allocator, and choose a different set of compiler optimizations with every release.

At least that way, most exploits and bugs will at least require an expert to put in substantial effort to update them to work on a new OS release, and many exploits won't be possible at all on a new release - if for example the exploit allows a stack buffer to overrun by 1 byte, then it depends what data follows the buffer - and if the compiler randomizes that, then in the next release it might become non-exploitable.



This is generally only a minor annoyance unless you really know what you're doing.


Defense in depth. It raises the bar and making it more expensive and therefore less likely to be exploited


That’s not really how this works; the cost is marginal.


Is it marginal only for best-in-the-world experts and a serious hurdle for everyone else? If so that's still worthwhile as it means the attacker must hire (or be) an expensive expert.


The bar for iOS exploitation is already one that only admits best-in-the-world experts.


Also makes the value of Pegasus increase.


Yet increases their costs to get / develop exploits


And if it really become anything more wouldn't they just buy a popular app through a shell company and get early access to the betas?


The betas are freely available to download.


My understanding is that most of these zero-days are runtime so the above wouldn't help at all. The most recent one took advantage of Apple Wallet taking first dibs on a (virus) image and loading in the payload. Changing data structures/flags/compiler optimizations wouldn't have made a difference.


The process of going from [malicious image which gets loaded by apple wallet] to [shellcode running] depends hugely on compiler flags, memory layout, etc.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: