"Advanced Data Protection: iCloud Backup and everything inside it is end-to-end encrypted, including the Messages in iCloud encryption key."
These sorts of laws make Apple not able to support Advanced Data Protection in jurisdictions that pass them.
"Advanced Data Protection: iCloud Backup and everything inside it is end-to-end encrypted, including the Messages in iCloud encryption key."
These sorts of laws make Apple not able to support Advanced Data Protection in jurisdictions that pass them.
Approximately nobody has this on because it's not default, so even if you enable it, ~100% of your iMessages are still readable by Apple (and by extension FBI/DHS without a warrant).
If Apple is ordered to ask a given device to return all keys in plain text, it can. So can any Apple employees also on payroll for state actors.
No, that's not how any code works, proprietary or open source.
I've written proprietary software for 16 years, and none of it could remotely execute any code that I want.
I would also note that unless you compile an open source project yourself, there's no guarantee that the compiled product you download from an open source project actually came from the publicly available source. If you want to get all conspiratorial, I suggest that you're not conspiratorial enough. ;-)
It stands a reasonably safe assumption that Apple has been compelled to add obfuscated adversarial code to iOS, just as you can assume BitLocker is about as secure as a Masterlock made out of Swiss Cheese.
You use terms like "unscrubbed", "unfuzzed", "obfuscated", but what do you think they mean exactly? For example, how does "unfuzzed" relate, if at all, to https://en.wikipedia.org/wiki/Fuzzing
The only safe assumption seems to be that they are hiding something. Proving the contrary requires tools we may never have.
Apple is not capable of magic, or the impossible.
> Tools exist to mitigate that discoverability
Citation needed.
> The only safe assumption seems to be that they are hiding something. Proving the contrary requires tools we may never have.
You can assume whatever you want, but with no evidence whatsoever, I wouldn't call it "safe", I'd call it "irrational".
Also, you didn't answer my question, which suggests that I was right about your not knowing what you were talking about.
There are hundreds of commercial and open methods for obfuscating a program during compilation. Since Apple controls Ring 0 they can also obfuscate syscalls and network traffic if they want. I'd ask you if I'm wrong about this, but you already seem convinced.
> You can assume whatever you want, but with no evidence whatsoever, I wouldn't call it "safe", I'd call it "irrational".
It's perfectly rational. Apple already does this in China. We know the CIA, FBI and NSA have a common interest in weakening all domestic cryptography. Taking Apple at face value when so many other FAANG companies have been embarrassed by PRISM revelations is a fool's decision.
It will be irrational once we know for certain that Apple doesn't aid spying on their users. Until then, I figure I'm a safe skeptic. Pending evidence, both of our claims are equally substantiated. Only the uninvested parties have nothing to lose here, though.
To the extent that the CIA, NSA, or FBI have an interest in weakening cryptography, it applies at least as strongly (more strongly for most of them) to foreign cryptography, so I’d probably drop the modifier “domestic” from that sentence.
Obfuscation doesn't make reverse engineering impossible, only a little more difficult.
> It's perfectly rational. Apple already does this in China.
Does what exactly?
Remember, the original claim was "Apple can remotely execute any code they want on your phone at any time."
> Taking Apple at face value
I never said to take Apple at face value.
> It will be irrational once we know for certain that Apple doesn't aid spying on their users.
Which you claim is impossible to know forever, making your belief totally unfalsifiable. How convenient.
Sometimes it works pretty well. It's easy money to wager the community doesn't fully understand iOS from a reverse-engineered best-guess. Especially if their adversary is a multi-trillion dollar company who anticipates reverse engineers.
> Does what exactly?
Violate their venerable "Commitment to Privacy".
> the original claim was "Apple can remotely execute any code they want on your phone at any time."
It is undeniably feasible, yes. They control the modem, have complete ring-zero knowledge and can send arbitrary data to and from your device. That qualifies pretty much everything needed for remote code execution. If they send data to the iPhone that exploits a decoding bug like NSO Group, then feasibly yes you could execute arbitrary programs on the device, using an unmodified OS image. Nevermind just a regularly installed backdoor.
> Which you claim is impossible to know forever, making your belief totally unfalsifiable. How convenient.
I've been wrong before! Let's both hope I've got their character wrong and we get to see the truth someday. Until then we're squabbling over unknowns. It's not my habit to put faith into the unknown, but to each their own.
How would we ever "get to see the truth someday" on your conspiracy theory, if the truth happens to be that there's not actually an intentional remote code exploit?
That's my point: you've made yourself immune from the facts. You can't ever be proved wrong, by your own criteria of "proof", which posits that Apple always has the ability to avoid detection.
Now a dissident is targeted. Their phone is sent a special OS hotfix no one in the world has reviewed and that compromises the random number generator at a CPI microcode level that would take months of targeted reverse engineering to detect, then relevant messages are decrypted over the wire with the now weakend keys. It then reverts itself when done making detection that much less likely.
Whoever has the signing keys make the rules... or anyone who can give secret orders to those holding the signing keys.
You're moving the goalposts. What you originally said, which I objected to, was "Apple can remotely execute any code they want on your phone at any time."
In other words, Apple can remotely execute any code they want on my phone and your phone and everyone's phone now.
And if you disable those you will not get security updates, thus allowing everyone access to execute code on your phone.
Any iPhone in a default configuration will happily download and install it.
This is RCE (with a slight delay).
Automatic unattended upgrades are on by default in iOS. The configuration wizard flow still has the screen that used to prompt you about them, asking for consent, but now it doesn't give you the choice, it just tells you it's going to update automatically. It's up to you to go into Settings after setup and disable it if you don't want Apple to be able to push new and unknown code to your device arbitrarily.
Eh, that's really a stretch of the definition. Hardly anyone installs software via physical media anymore, so doesn't mean that all code execution is remote code execution?
"Software updates are RCE" is not the greatest take.
> It's up to you to go into Settings after setup and disable it if you don't want Apple to be able to push new and unknown code to your device arbitrarily.
Which you can do very easily.
Regardless, every user notices when Apple has shipped an OS update, because your device rebooted.
Furthermore, software updates can still be reverse engineered after they're released.
A court order on whoever controls the Apple signing keys could do this. I would wager that this is already happening in China since the CCP took control of the signing keys.
If a system is not open, accountable, with distributed reproducible builds each adding their own signature, then you are in fact granting a central party access to execute any code they wish on your device if you accept updates without reverse engineering every single CPU instruction, driver, firmware bundle, and microcode change in every update bundle and sideloading them by hand somehow... which Apple does not permit.
Which signing keys are you talking about?
I would venture to say that these users notice because of the notification that says "Your device has been updated to iOS <version>", not because of the 2 AM reboot.
That notification, of course, being entirely within Apple's discretion.
Apple can effectively silently run whatever code they want on most iPhones and iPads.
That's what I meant.
> Apple can effectively silently run whatever code they want on most iPhones and iPads.
You may feel that this is a powerful argument, but I'm completely unimpressed by it when anyone can easily go into Settings and turn off automatic updates. ¯\_(ツ)_/¯
I'm not a fan of automatic updates, especially as the default setting, but that's not because I think Apple is going to send down some secretly evil update. Rather, it's just because updates can break stuff that the user relies on, which is no secret.
Once again, you said, "Apple can remotely execute any code they want on your phone at any time", which is what I replied to. Until you're willing to admit that you misspoke, we're done here.
Whoever that is can sign whatever they want, send an update notification targeting a single user, and the phone will then execute anything as instructed.
A court order could tell whoever holds those signing keys to sign something to decrypt all messages, or install a dummy encryption key, or make the random number generator always return 42.
Just because Apple has successfully gaslighted the courts by claiming they cannot decrypt phones, does not make it true.
Supply chain attacks on a proprietary system lacking reproducible builds and public accountability is indistinguishable from remote code execution as a service.
That wasn't the claim. The claim was "Apple can remotely execute any code they want on your phone at any time." In other words, Apple can do it right now, on your phone, without any software update. And there's zero evidence for this claim.
Software updates are not remote code execution. Moreover, users can choose not to install software updates.
However, automatic software updates are, as Solarwinds learned, and this is on by default on iOS, meaning that Apple can indeed execute code on all iPhones in the default configuration without user intervention.
The semantics do not impact the threat model here so who cares?
This discussion is getting pretty tiresome to me. You and sneak want to redefine all software updates as "remote code execution". That's complete BS IMO, and I'm never going to agree to that redefinition.
You can play semantic games, but the end result is the same under a threat model that does not trust any single entity to run code of their choosing on your device.
A supply chain attack is the correct term for this, but a supply chain attack is, in effect, and RCE path available to anyone in the supply chain.
Saying supply chain attacks are not a form of RCE because you can disable software updates is like saying no RCEs exist because you have the choice to disconnect from the internet. Security discussions should be grounded in threat models over semantics.
There's no evidence that Apple is a threat.
You claimed that Apple could already remotely execute any code at any time. That sounded very sinister, as if Apple had added a secret back door to the OS, but it was extremely misleading at best, completely false at worst. Yes, Apple can ship software updates, as we all know. But that's not a threat in itself.
I don't want to hear what Apple could theoretically do. Your lover could theoretically kill you while you sleep. How's that for a threat model? Are you going to sleep alone for the rest of your life? I suspect it's actually more likely, though, than Apple shipping the malicious OS update that you fear.
No, I'm not a lawyer but my understanding is that this is compelled speech and is not permissible.
Any system that relies on a single private key with SPOFs in the supply chain should be considered compromised, if the targets it governs are high value.
The CCP did not need to do anything cloak and dagger and simply mandated overt access to Apples HSMs for chinese users.