4 ms·
> Pegasus relies on vulnerabilities in Apple’s iOS, the iPhone operating system, to infiltrate a phone undetected. Apple issued a security update for the latest
by hobobaggins 3y ago
> Pegasus relies on vulnerabilities in Apple’s iOS, the iPhone operating system, to infiltrate a phone undetected. Apple issued a security update for the latest vulnerability on Sept. 7, 2023.
so. many. IOS. vulns.
what is going on over there at Apple?
- hn_throwaway_99 3y agoThey've basically shown it's impossible to create memory safe code in C/C++. Many of these vulnerabilities had to do with different image/video (or other file type) handling libraries. It's one reason why you see so many in the industry pushing to use Rust. Plus, many of the highest value targets are likely iPhone users, so bad guys target where there is the biggest payoff.
- mmis1000 3y ago> to use Rust. Also probably wasm for a finer-graded sandbox if rewrite is currently impracticable. https://hacks.mozilla.org/2021/12/webassembly-and-back-again-fine-grained-sandboxing-in-firefox-95/ https://hacks.mozilla.org/2021/12/webassembly-and-back-again... If the module memory corrupt for whatever reason. At least you would be able to unload it as a whole without pollution.
- chromoblob 3y agoAll cases of undefined behavior in C/C++ language can be replaced either with explicit aborts of the program or explicit infinite loops. The result is a subset of C/C++; then anyone can write any C/C++ code, use it as the restricted variant and most exploits resulting from UB (those that cannot cope with the aborting or hangup) will be eliminated automatically. To implement or not such a safe mode is the sole decision of the compiler author. Blame the compiler for rigidity, not language for flexibility. Developing new languages from scratch and tools, libraries for them costs much time and effort and fractures the market of programmers and costs them time to learn it as well.
- Novosell 3y agoAnd yet so many of these corporate giants seem to be embracing Rust. Think they've all got it wrong? They just didn't try hard enough with C and C++?
- chromoblob 3y agoMy point is, the new language way may well be the "harder" one, for implementers or for users. It might be explained as a knee-jerk type reaction. Although new languages can still have some additional benefits of safety. Ways have tradeoffs and agents should evaluate them reasonably. I want to see a well-founded analysis of costs/benefits for the choice between Rust and safe variant of C/C++ or similar choice.