As Chairman Gruber already replied [ http://daringfireball.net/linked/2010/08/30/holwerda ] Thom is misrepresenting or at least misinterpreting his statement and its context. In order to say that Apple are "fighting" jailbreaking we'd have to see them taking active steps in preventing it - e.g. putting an e-fuse, like the one in some Motorola Droid phones, in the iPhone or at least have something on the device verify the origin and integrity of iOS images before allowing them to be installed or run. Just because Apple are patching the vulnerabilities used in jailbreaking and have stated that they won't support jailbroken iPhones, I would not say they are fighting it - not enabling or encouraging it, certainly, but not fighting it.
I also want to take exception to Thom's statement that Apple "fought hard to maintain jailbreaking as an illegal activity". It might not have been "[a] figment of our collective imagination", but without a shred of support provided in the post, it might very well have been. And I don't think Apple care too much about its legality. Yes, we love to poke fun of how litigious Apple are, but I can't remember them picking a fight that they don't have a good chance of winning. Certainly the folks at Apple realize they won't be able to stop the practice of jailbreaking by pulling a RIAA and carpet bombing jailbreakers with lawsuits. As I said, if Apple wanted to prevent jailbreaking, they would have come up with an effective technical measure to do so, not a legal one.
> or at least have something on the device verify the origin and integrity of iOS images before allowing them to be installed or run
They do prevent you from downgrading your iOS image by refusing to authenticate old versions on install. I find it hard to interpret this as simply "downgrading is not supported" as Gruber does, as it is an active step on Apple's part to stop you from doing something. Installing Linux on my Macbook is also supported by Apple, but that doesn't mean they actively alter my Macbook's boot process to stop me from doing it.
Unless things have changed with the iPhone 4, the only case in which downgrade is not possible is if the upgrade modifies the baseband firmware. At least that has been my experience. I've downgraded iOS on my phone a number of times, most recently from the latest beta of 4.1 to 4.0.2.
You may argue otherwise, but from where I stand, preventing downgrading and thus preventing jailbreaking has been a (fortunate for Apple?) side effect, rather than a goal.
This changed with the 3GS, where Apple began issuing signatures for individual devices to authorize firmware installs. This procedure is also in play for the 3rd generation iPod Touch, iPhone 4, and iPad.
The firmware install process includes a phone-home procedure that verifies with Apple that the device is authorized to install that firmware.
Once a new firmware image is released, Apple just stops issuing signatures for the previous releases and devices can no longer install it.
The procedure is vulnerable to a replay attack, and so Cydia offers a stand-in replacement for Apple's authorization server, but users who want to downgrade have to be savvy enough to save their auth token ahead of time.
OK, I stand corrected. I'm stuck with a 3G. Probably my example of downgrading from a beta to the current release is no good either - it will likely still work with the system you described, but it is not indicative of the ability to arbitrarily downgrade the OS>
have something on the device verify the origin and integrity of iOS images before allowing them to be installed or run.
iOS already does this. The device won't accept an iOS image unless it has been signed by Apple. Not only that, but iTunes now "verifies with Apple" over the Internet that you are allowed to install the update before proceeding. Not only that, but all binaries including App Store apps and even debug builds of apps produced by the iOS SDK must be signed.
I think Apple is using all the "effective technical measures" available to them. The only way to run code not signed by Apple is to exploit a vulnerability, and e-fuses wouldn't patch the vulnerabilities that allow jailbreaking. At best e-fuses would allow Apple to brick a jailbroken device if the owner was foolish enough to attempt an OS upgrade. The only way I could see them making iOS tighter is rewriting the whole thing in a safer language than C to cut the number of vulnerabilities.
I’m not really all that informed about the details of the iOS but didn’t Apple do this since day one, long before there even was a App Store? Before the first jailbreak came out? If it has been this way forever I see no way how you could call this ‘fighting’ jailbreaking.
Before the iPhone even came out it was obvious people would try to jailbreak them, and signed firmwares are a necessary part of jailbreak defense. You're right that Apple couldn't have been defending the App Store from jailbreaks before it was invented, but back then they did care about the carriers. They had a lot to prove. Now Apple is the darling of the industry and they have no reason to kowtow to the carriers any more, but they continue to fight jailbreaks to protect the App Store.
It used to be possible to upgrade or downgrade to a forged image through iTunes, regardless of whether you bought any software that's in it. I know a few people that upgraded to 2.0 that way.
edit: my experience seems to be irrelevant - things have changed; see ben1040's post bellow. My statement that Apple haven't done all they could have done still stands though.
[strikethrough]
That has not been my experience, although I admit I haven't jailbroken an iPhone in quite a while. But this used to be how PwnageTool worked - it unzips a stock iOS image, modifies it, packages it back up, and lets you install it on your phone through iTunes.
I'm absolutely certain that this is something Apple can detect and could have prevented if they wanted to.
[/strikethrough]
Also, e-fuses and trusted computing thingamajigs can be used to constantly keep the integrity of the core OS components (bootloader, kernel, launchd, etc.) in check and either brick the device or, more likely, to refuse to boot or continue running the OS until it has been restored. So, no, I disagree that Apple are using all the effective technical measures available to them. Apple are using all the measures that they think is worth investing resources in, given the magnitude of the problem (which seems to be right now tiny to nonexistent).
The recent patent submission to track 'suspicious activity' seems like a nice detection system that can be used to flip the kill switch when kids try to segfault the iOS, in order to find an attack vector for a jailbreak.
I think Apple may be keeping the status quo for a while longer, to secure it's position in the smartphone market, to avoid a backlash, to benefit from free vulnerability disclosures by the jailbreak community and to focus it's development efforts to more important tasks at hand.
Apple is indeed not openly fighting jailbreakers, but it's in their interest to keep the software under control. Whenever you upgrade from a jailbroken phone, all the unsigned apps disappear, along with the data contained. Given their desire to control the application ecosystem (grossly benefiting from all the developer signups and app sales), if the percentage of jailbroken iPhones ever becomes a blip on the radar, they will take repressive action to disincentivize the user (AppStore lock-out, kill-switch) and jailbreak tinkerers (suspicious activity reports).
I don't find the unlocking US phones in Europe a problem, because legislation here often requires the phones to be unlocked from the subscription plan. iPhones can be bought unlocked at a slightly higher (unsubsidized) price.
I think you are muddying the topic with your links.
The kill switch exists, very true, but other stores have it just the same: in particular Android Marketplace has a kill switch too.
The copyright submission does show that Apple considers jailbreaking illegal, but that was NOT what people are discussing. Everyone agrees that is Apple's stance. The question is if Apple should "look the other way", with a camp saying they already seem not to care much and others saying they are doing everything they can to stop jailbreaking. So again: nobody is arguing about Apple's official stance, but how hard they should pursue it.
Finally the recent patent is just that: a patent. It is not something that has actually been implemented, and we don't even know if they want to implement it. But the bottom line is that in a discussion if Apple has or has not fight jailbreaking, we are talking 2007-now. Arguing that Apple may in the _future_ implement something like that would be bad but not relevant.
That is not to say I think your arguments may be wrong. I agree in the future Apple may fight jailbreaking more strongly, we don't know. But the discussion is not about how likely it is or isn't a certain future, but how Apple has acted _so_far_.
I wouldn't exactly classify Apple's response to questions, which they were explicitly asked by the Copyright Office, as "fought hard". Fighting hard would be Apple spending millions of dollars lobbying against the exemptions or taking the case to court.
And the kill switch in questions is one "that allows Apple to remotely delete malicious or inappropriate applications stored on the device". One that they haven't yet used, I might add, unlike some other mobile OS vendors. It's not a nefarious device to prevent jailbreaking.
I'm not arguing that it's not in Apple's interest to prevent jailbreaking. I'm not arguing that it is not that they are not making it easy to jailbreak iOS. All I'm saying is that it doesn't look like they are actively fighting jailbreaking. All the hurdles to jailbreaking thus far seem to be coincidental rather than the goal.
"I also want to take exception to Thom's statement that Apple "fought hard to maintain jailbreaking as an illegal activity". It might not have been "[a] figment of our collective imagination", but without a shred of support provided in the post, it might very well have been."
What? There is a link to an article that very well summarizes the levels of FUD Apple raised to in order to maintain jailbreaking illegal ("Exposing children to age-inappropriate content", "Limitation on ability to innovate", "Cellular network impact") The only thing they missed is Hitler.
Comments
As Chairman Gruber already replied [ http://daringfireball.net/linked/2010/08/30/holwerda ] Thom is misrepresenting or at least misinterpreting his statement and its context. In order to say that Apple are "fighting" jailbreaking we'd have to see them taking active steps in preventing it - e.g. putting an e-fuse, like the one in some Motorola Droid phones, in the iPhone or at least have something on the device verify the origin and integrity of iOS images before allowing them to be installed or run. Just because Apple are patching the vulnerabilities used in jailbreaking and have stated that they won't support jailbroken iPhones, I would not say they are fighting it - not enabling or encouraging it, certainly, but not fighting it.
I also want to take exception to Thom's statement that Apple "fought hard to maintain jailbreaking as an illegal activity". It might not have been "[a] figment of our collective imagination", but without a shred of support provided in the post, it might very well have been. And I don't think Apple care too much about its legality. Yes, we love to poke fun of how litigious Apple are, but I can't remember them picking a fight that they don't have a good chance of winning. Certainly the folks at Apple realize they won't be able to stop the practice of jailbreaking by pulling a RIAA and carpet bombing jailbreakers with lawsuits. As I said, if Apple wanted to prevent jailbreaking, they would have come up with an effective technical measure to do so, not a legal one.
> or at least have something on the device verify the origin and integrity of iOS images before allowing them to be installed or run
They do prevent you from downgrading your iOS image by refusing to authenticate old versions on install. I find it hard to interpret this as simply "downgrading is not supported" as Gruber does, as it is an active step on Apple's part to stop you from doing something. Installing Linux on my Macbook is also supported by Apple, but that doesn't mean they actively alter my Macbook's boot process to stop me from doing it.
Unless things have changed with the iPhone 4, the only case in which downgrade is not possible is if the upgrade modifies the baseband firmware. At least that has been my experience. I've downgraded iOS on my phone a number of times, most recently from the latest beta of 4.1 to 4.0.2.
You may argue otherwise, but from where I stand, preventing downgrading and thus preventing jailbreaking has been a (fortunate for Apple?) side effect, rather than a goal.
This changed with the 3GS, where Apple began issuing signatures for individual devices to authorize firmware installs. This procedure is also in play for the 3rd generation iPod Touch, iPhone 4, and iPad.
The firmware install process includes a phone-home procedure that verifies with Apple that the device is authorized to install that firmware.
Once a new firmware image is released, Apple just stops issuing signatures for the previous releases and devices can no longer install it.
The procedure is vulnerable to a replay attack, and so Cydia offers a stand-in replacement for Apple's authorization server, but users who want to downgrade have to be savvy enough to save their auth token ahead of time.
OK, I stand corrected. I'm stuck with a 3G. Probably my example of downgrading from a beta to the current release is no good either - it will likely still work with the system you described, but it is not indicative of the ability to arbitrarily downgrade the OS>
have something on the device verify the origin and integrity of iOS images before allowing them to be installed or run.
iOS already does this. The device won't accept an iOS image unless it has been signed by Apple. Not only that, but iTunes now "verifies with Apple" over the Internet that you are allowed to install the update before proceeding. Not only that, but all binaries including App Store apps and even debug builds of apps produced by the iOS SDK must be signed.
I think Apple is using all the "effective technical measures" available to them. The only way to run code not signed by Apple is to exploit a vulnerability, and e-fuses wouldn't patch the vulnerabilities that allow jailbreaking. At best e-fuses would allow Apple to brick a jailbroken device if the owner was foolish enough to attempt an OS upgrade. The only way I could see them making iOS tighter is rewriting the whole thing in a safer language than C to cut the number of vulnerabilities.
I’m not really all that informed about the details of the iOS but didn’t Apple do this since day one, long before there even was a App Store? Before the first jailbreak came out? If it has been this way forever I see no way how you could call this ‘fighting’ jailbreaking.
Before the iPhone even came out it was obvious people would try to jailbreak them, and signed firmwares are a necessary part of jailbreak defense. You're right that Apple couldn't have been defending the App Store from jailbreaks before it was invented, but back then they did care about the carriers. They had a lot to prove. Now Apple is the darling of the industry and they have no reason to kowtow to the carriers any more, but they continue to fight jailbreaks to protect the App Store.
It used to be possible to upgrade or downgrade to a forged image through iTunes, regardless of whether you bought any software that's in it. I know a few people that upgraded to 2.0 that way.
edit: my experience seems to be irrelevant - things have changed; see ben1040's post bellow. My statement that Apple haven't done all they could have done still stands though.
[strikethrough] That has not been my experience, although I admit I haven't jailbroken an iPhone in quite a while. But this used to be how PwnageTool worked - it unzips a stock iOS image, modifies it, packages it back up, and lets you install it on your phone through iTunes.
I'm absolutely certain that this is something Apple can detect and could have prevented if they wanted to. [/strikethrough]
Also, e-fuses and trusted computing thingamajigs can be used to constantly keep the integrity of the core OS components (bootloader, kernel, launchd, etc.) in check and either brick the device or, more likely, to refuse to boot or continue running the OS until it has been restored. So, no, I disagree that Apple are using all the effective technical measures available to them. Apple are using all the measures that they think is worth investing resources in, given the magnitude of the problem (which seems to be right now tiny to nonexistent).
Apple's response mentioned in the post can be read here: http://www.copyright.gov/1201/2008/answers/7_13_responses/ap...
Jobs' confirmation of an existing "kill switch" sounds like a technical counter-measure to me: http://www.telegraph.co.uk/technology/3358134/Apples-Jobs-co...
The recent patent submission to track 'suspicious activity' seems like a nice detection system that can be used to flip the kill switch when kids try to segfault the iOS, in order to find an attack vector for a jailbreak.
I think Apple may be keeping the status quo for a while longer, to secure it's position in the smartphone market, to avoid a backlash, to benefit from free vulnerability disclosures by the jailbreak community and to focus it's development efforts to more important tasks at hand.
Apple is indeed not openly fighting jailbreakers, but it's in their interest to keep the software under control. Whenever you upgrade from a jailbroken phone, all the unsigned apps disappear, along with the data contained. Given their desire to control the application ecosystem (grossly benefiting from all the developer signups and app sales), if the percentage of jailbroken iPhones ever becomes a blip on the radar, they will take repressive action to disincentivize the user (AppStore lock-out, kill-switch) and jailbreak tinkerers (suspicious activity reports).
I don't find the unlocking US phones in Europe a problem, because legislation here often requires the phones to be unlocked from the subscription plan. iPhones can be bought unlocked at a slightly higher (unsubsidized) price.
I think you are muddying the topic with your links.
The kill switch exists, very true, but other stores have it just the same: in particular Android Marketplace has a kill switch too.
The copyright submission does show that Apple considers jailbreaking illegal, but that was NOT what people are discussing. Everyone agrees that is Apple's stance. The question is if Apple should "look the other way", with a camp saying they already seem not to care much and others saying they are doing everything they can to stop jailbreaking. So again: nobody is arguing about Apple's official stance, but how hard they should pursue it.
Finally the recent patent is just that: a patent. It is not something that has actually been implemented, and we don't even know if they want to implement it. But the bottom line is that in a discussion if Apple has or has not fight jailbreaking, we are talking 2007-now. Arguing that Apple may in the _future_ implement something like that would be bad but not relevant.
That is not to say I think your arguments may be wrong. I agree in the future Apple may fight jailbreaking more strongly, we don't know. But the discussion is not about how likely it is or isn't a certain future, but how Apple has acted _so_far_.
I wouldn't exactly classify Apple's response to questions, which they were explicitly asked by the Copyright Office, as "fought hard". Fighting hard would be Apple spending millions of dollars lobbying against the exemptions or taking the case to court.
And the kill switch in questions is one "that allows Apple to remotely delete malicious or inappropriate applications stored on the device". One that they haven't yet used, I might add, unlike some other mobile OS vendors. It's not a nefarious device to prevent jailbreaking.
I'm not arguing that it's not in Apple's interest to prevent jailbreaking. I'm not arguing that it is not that they are not making it easy to jailbreak iOS. All I'm saying is that it doesn't look like they are actively fighting jailbreaking. All the hurdles to jailbreaking thus far seem to be coincidental rather than the goal.
"I also want to take exception to Thom's statement that Apple "fought hard to maintain jailbreaking as an illegal activity". It might not have been "[a] figment of our collective imagination", but without a shred of support provided in the post, it might very well have been."
What? There is a link to an article that very well summarizes the levels of FUD Apple raised to in order to maintain jailbreaking illegal ("Exposing children to age-inappropriate content", "Limitation on ability to innovate", "Cellular network impact") The only thing they missed is Hitler.