About the security content of iOS 10.3
support.apple.com
support.apple.com
Highlights the value of languages like Swift or Rust that build in bounds checking into the language itself, preventing such attacks (as long as you don't call any explicitly unsafe bits). I do wonder if Apple is considering re-writing any of these core services in a safer language.
"A consequence of this principle is that every occurrence of every subscript of every subscripted variable was on every occasion checked at run time against both the upper and the lower declared bounds of the array. Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to--they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980 language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law."
-- C. A. R. Hoare, Turing award lecture in 1981, http://cacm.acm.org/magazines/1981/2/10949-the-emperors-old-...
> I do wonder if Apple is considering re-writing any of these core services in a safer language.
Apple already uses C++ for device drivers, which allows for more safety oriented programming as straight C.
In any case, even if it isn't fully ready today, they view Swift as a C and Objective-C replacement in the long term.
"Fast. Swift is intended as a replacement for C-based languages (C, C++, and Objective-C). " -- https://swift.org/about/
"Swift is a successor to both the C and Objective-C languages." -- https://developer.apple.com/swift/
The dock and launchd in Sierra were rewritten in Swift.
Just to qualify that a bit, IOKit uses a restricted form of C++ based on Embedded C++
https://en.wikipedia.org/wiki/Embedded_C%2B%2B
https://developer.apple.com/library/content/documentation/De...
How did they do ?
The iPhone 4S was an extreme case of this, where it was introduced in 2011, but was sold in India until 2016. Meaning it has some of the shortest or longest iOS support depending on when and where you bought it (0-5 years!)
5-10 years personally is what I think the minimum should be for security-related bugs.
Fact is, I'm probably never going to hold off on a phone for more than a year (I still have a 6S+), but I always hand-down my old phones. I can't use a 5-year old phone, but, others can and should still be able to do so safely.
Why weren't you happy with an old Nokia?
And without even needing to install anything! "Processing maliciously crafted web content may lead to arbitrary code execution."
What happens if your device is already infected? Does the update process replace all OS files or could an infected device still contain malware after upgrade to 10.3?
Are there tools or apps that can report system level logs, e.g. could iOS 10.3 detect and report if known-malicious files are present on a device?
Reason is that it isn't worthwhile to spend time on that. Firstly, it is typically impossible to prove that a vulnerability cannot lead to arbitrary code execution (to do so, you would likely have to know _all_ vulnerabilities in your code), and secondly, defense in depth still requires plugging all holes, even if you can _now_ prove they just lead to an impregnable barrier.
And already infected devices very, very likely are safe after a reboot (the OS will only run signed code, and the malware isn't signed, or even considered code), but still may carry files that could infect systems running older iOS versions.
Or should we assume that competent attackers are hoarding sandbox escapes and thus most app vulnerabilities can be escalated to device compromise?
My presumption with any technology is that there are security risks and issues. What is more concerning to me is the absence of information about these risks and issues.
Apple had a nice time for years while Microsoft acted as a honeypot for crackers. The absence of published problems for Apple products was merely an indication that crackers and researchers were not attempting to poke holes into the Apple ecosystem.
I imagine none of the GUI stuff, but drivers and other C stuff