←back to thread

1704 points ardit33 | 1 comments | | HN request time: 0s | source
Show context
mapgrep ◴[] No.24149792[source]
You could argue about Apple's rights, or citizens' free speech rights, or consumer rights, under existing law. It would be an interesting discussion because I think it's a lot more complicated an issue that most people appreciate.

But really why not talk about how we think things should work on platforms like iOS? What should the law be? What protects essential human rights, encourages creativity, and allows business to function to some extent?

Personally, I would argue that consumers should have a legal right to install whatever software they wish on a product they have purchased, including onto the bundled operating system. I don't think it should be permissible for a company like Apple (or Microsoft or whoever) to sell me a gadget and then use various sorts of locks to try to keep me from putting whatever apps or app stores or services I like on it.

Does anyone have any argument for why this right would be a bad thing? People would get bad software on their phones, but last I checked, this is happening already, including on iOS. Apple would lose some margin, but last I checked, their investment in creating and maintaining iOS has been handsomely rewarded and would surely continue to be.

replies(20): >>24150118 #>>24150217 #>>24150279 #>>24150291 #>>24150292 #>>24150369 #>>24150460 #>>24150828 #>>24151413 #>>24152705 #>>24152764 #>>24154029 #>>24154441 #>>24154710 #>>24154759 #>>24154888 #>>24155099 #>>24155703 #>>24155755 #>>24166318 #
wheelie_boy ◴[] No.24150291[source]
A big part of the value of iPhones and iPads is that you don't have to worry about installing an app that screws up your system and requires a wipe & reinstall. You don't have to worry about viruses. You don't have to worry about spending a lot of time being a system administrator, and just use it. You don't even have to worry about many types of malware, because the system protects you from poorly-behaved applications, through a combination of technical means and human review.

If it was possible to side-load apps, then those advantages go out the window. To see what I'm talking about, look at apps that are skirting the apple app store.

Onavo is a good example. They:

- paid teens

- to install the Facebook Enterprise Certificate

- to side-load the Onavo VPN

- to spy on their internet traffic

- to find out about new apps or websites that might be a threat to facebook (among other things)

replies(9): >>24150876 #>>24152446 #>>24152798 #>>24152999 #>>24153218 #>>24154036 #>>24154593 #>>24154714 #>>24155838 #
43920 ◴[] No.24150876[source]
I would argue that the technical limitations of iOS are what accomplishes this, rather than app review. For a malicious actor, sneaking prohibited behavior past app review is incredibly easy - look at what Fortnite just did! The reason that apps on iOS can't damage your device is that apps are sandboxed, and that the OS requires user permission to access data and places limits on how many resources an app can use. There's no reason that the same sandboxing system couldn't be applied to apps from outside the store.

(VPNs and provisioning profiles are sort of an exception to this, because they can escape the sandbox, but a) the number of scary warnings presented by the system should be enough to limit their impact, and b) they will also continue to exist separately from the app store issue).

replies(2): >>24150995 #>>24154825 #
wheelie_boy ◴[] No.24150995[source]
Sandboxing is important, but is only one part of the protections.

There's also:

- App store guidelines on what is and is not permissible in different cases

- Restrictions against using private APIs

- Restrictions against jailbreaking the device

There are a variety of VPN apps available on iOS. Why was Onavo blocked? Because it violated the guidelines on the use of the information, which is the kind of thing that it difficult to automate.

Restrictions against using private APIs are semi-automated, and would be difficult to completely automate.

The fact that you can't get an iOS app that jailbreaks the device in order to do whatever it wants is in part due to human review - if one existed in the store, it would get pulled, and the developer cert would get revoked. Jailbreaks exist, and human review in the app store is one way they are mitigated.

I for one remember the bad old days when playing a CD could (and did!) install a rootkit.

replies(2): >>24152605 #>>24152609 #
43920 ◴[] No.24152605[source]
All iOS jailbreaks are a result of security vulnerabilities, which Apple tends to fix almost as soon as they're discovered - and ultimately, it's Apple's responsibility to make their sandbox secure, regardless of what's running in it. I also don't see how installing outside apps would make jailbreaks any easier, given that you can already connect your phone to a computer and temporarily install an app on it (and for people who are motivated to jailbreak, this isn't much of a hurdle).

I haven't done enough iOS development to know for sure, but I'm assuming Apple could prevent private API usage by apps through technical means, rather than just app review.

replies(2): >>24152911 #>>24156104 #
Wowfunhappy ◴[] No.24152911[source]
> and for people who are motivated to jailbreak, this isn't much of a hurdle

And also because, once you’re jailbroken, you can setup software to automatically resign the app on-device every few days, so you never need a computer again.

replies(1): >>24159367 #
colejohnson66 ◴[] No.24159367{3}[source]
I thought jailbreaking worked by using exploits to disable code signing. As in, there’s no need to sign an app. Have things changed the past few years?
replies(1): >>24159923 #
Wowfunhappy ◴[] No.24159923{4}[source]
Most Jailbreaks today are "tethered" in some way, which means the Jailbreak disappears (to varying degrees†) once the phone is turned off. For Jailbreaks like unc0ver, this means you need to re-run a bootstrap app every time you reboot your phone, in order to return to "Jailbroken" mode and allow unsigned code.

This, of course, is a catch-22. You need to run an app to allow unsigned apps, but that app can't run if it isn't signed.

---

† The community makes a distinction between "tethered", "semi-tethered", and "semi-untethered" jailbreaks. The jailbreak I described above is "semi-untethered". You really couldn't come up with terminology more prone to getting mixed up...

replies(1): >>24160091 #
1. colejohnson66 ◴[] No.24160091{5}[source]
I’m aware of the distinction between the different kinds of jailbreaks; I just hadn’t been keeping up on the news regarding them. Thanks!