Lockdown Mode restrictions on APIs and web technologies are not documented

I have an issue with Lockdown Mode in which an app does not work properly when lockdown mode is enabled, even when the app is added as an exception. The error is easily reproducible.


I opened the case to Apple and their answer was, "[...] For security reasons, we can't get into the details of these technologies."


I also opened the case with Apple Developer Support, and their answer was similar: "[...] We are not equipped to provide the type of information you are seeking."


So, basically, if a user has Lockdown Mode and and the app does not work properly, the developers have no way to troubleshoot the issue or to have programming habits that avoid issues in the first place. Well, with enough patience, they could perform a test by calling all the javascript/web functions that are available, and see which ones fail, or otherwise troubleshoot by try-and-error. And once that test is done, then Apple's security-through-obscurity is broken. Maybe there are researchers working on that, already.


I guess that Apple's claim is that this security-through-obscurity benefits the security side in making attacks more difficult, but this in turn puts pressure on users to disable the Lockdown Mode because of functional issues, which in reality makes the iPhone less secure.


In any case, if anyone has information about what APIs/functions are not available or have an altered behavior in Lockdown Mode, that would be cool.


[Edited by Moderator]

Posted on May 18, 2024 11:11 AM

Reply
7 replies

May 18, 2024 11:54 AM in response to user_493

rotapple45 wrote:

"rotapple", eh? Sounds like you've already made up your mind about things.

I have an issue with Lockdown Mode in which an app does not work properly when lockdown mode is enabled, even when the app is added as an exception. The error is easily reproducible.

What is the error?

So, basically, if a user has Lockdown Mode and and the app does not work properly, the developers have no way to troubleshoot the issue

That's hardly true. It's your app. You have the source code. There is an infinite number of ways to troubleshoot the problem.

Well, with enough patience, they could perform a test by calling all the javascript/web functions

I thought you said you had an app. What does javascript/web functions have to do with that? Is this one of those "electron" apps or something? I guess it isn't your app and you don't have the source code then. Bummer.

Maybe there are researchers working on that, already.

I'm sure they are. That's why Apple won't disclose the details to you. Isn't that kind of the point? If any developer could file a bug report and get full technical details, wouldn't that be a really helpful way to bypass those restrictions?


You are correct that there is some element of security through obscurity at work. Part of the effort is to obscure those details so that Apple has more time to improve the internals. That's pretty much how this security song and dance works. By the time vulnerabilities are found and exposed, Apple has already patched them. Hackers get their bug bounties. Apple's competitors get their bad Apple press. Apple gets its updates and new device purchases to run them. Everybody win! Except the end users, of course. Luckily, they don't matter to security folks, only to Apple.

this in turn puts pressure on users to disable the Lockdown Mode because of functional issues, which in reality makes the iPhone less secure.

The iPhone is already secure, without Lockdown Mode. Most users aren't using Lockdown Mode. Hopefully, those few people who are sincerely at risk of targeted attacks aren't going to be disabling Lockdown Mode because some random electon app doesn't work correctly. But since there aren't that many people affected in the first place, it really isn't going to make a difference to anyone's bottom line, including yours.

In any case, if anyone has information about what APIs/functions are not available or have an altered behavior in Lockdown Mode, that would be cool.

If they didn't, they sure wouldn't be allowed to post it in this forum.


Apple doesn't even document how the Sandbox works. You can go to the Developer forums and they will give you solutions that flat-out won't work with an App Store app. It is the developer's responsibility to test the app under normal use. That normal use does not include Lockdown Mode.

May 18, 2024 2:35 PM in response to user_493

rotapple45 wrote:


To be honest, I was myself appalled at my own nickname when I saw it after posting LoL. I haven't posted in a while and I don't remember where it comes from. Anyway, it looks like I can't change it.

There is an e-mail for contacting the Apple hosts in the Apple Support Community Terms of Use. They do change user names on a regular basis.

No, it's a regular news app with paid subscription. Nothing special about it. And you are right that I don't have the code; I'm only a user. That was not clear enough in my post. For privacy, I prefer not to post the app name here, but I am happy to share privately if you are interested.

I thought you were the developer. If you're a user, then you can either turn off Lockdown Mode or find an alternative app. When I search for Lockdown issues on the Developer site, what little I find does usually pertain to these kinds of embedded web apps. There is a distinct possibility that this limitation is a good thing. Maybe this app is doing some suspicious stuff behind the scenes.

Even if I am only a user, I am concerced because I happen to develop software. So, in the future, if I want to develop an app I might be impacted by the fact that users may cease to use my services because of those functional issues.

Theoretically, that would be a valid concern. But practically speaking, Lockdown mode doesn't affect most apps. If it does, that says more about the app than about Lockdown mode.

Also, when an app doesn't work well (even after having performed a million tests), that doesn't give good press and is very frustrating.

What makes you assume the app has been tested, at all, let alone in Lockdown mode?

The app has a main section for the news. That section is only loaded partly, and as you scroll a bit, the rest of the space is all black (or white, I don't remember). The other sections load, although they are pretty unresponsive with the Lockdown Mode. When I receive a notification about some news, clicking on the notification usually opens the article without issues.

Have you contacted the developer about these issues?

According to Apple, I'm the only user in the world to have this issue.

Do you have any evidence to the contrary?

I think that this is an over-generic statement. True in the vast majority of the cases (especially if users follow security higyene practices etc). But not true as in a 100%.

Don't believe what you read on the internet. 😄

I know I am only a drop in the ocean but, well, I wanted to at least state the issue.

But it sounds like this is just a problem with that app. Lots of people do come to these forums with complaints about 3rd party products. But in those cases, we can't test them. All we can do is recommend alternatives.

I'm not sure if I understand your point here. Developers do not need to know the technicalities of how sandboxing works (and they probably have no interest at all in knowing so), as long as the APIs and language primitives are documented and do the work that developers expect to be done.

But that's just the thing. Many developers do encounter sandbox issues. My app has lots of those. I was able to get one version of the app in the Mac App Store, but it wasn't worth the effort. Apple's APIs and documentation are completely ignorant of the sandbox. Developers just have to figure it out. Lockdown is much the same thing. But except for web activity, Lockdown seems to apply almost exclusively to Apple's own apps.

May 18, 2024 12:55 PM in response to etresoft

Thanks for your quick comment.

"rotapple", eh? Sounds like you've already made up your mind about things.

To be honest, I was myself appalled at my own nickname when I saw it after posting LoL. I haven't posted in a while and I don't remember where it comes from. Anyway, it looks like I can't change it.

What does javascript/web functions have to do with that?

I am pretty sure it is a Hybrid app that uses web technologies underneath.

Is this one of those "electron" apps or something?

No, it's a regular news app with paid subscription. Nothing special about it. And you are right that I don't have the code; I'm only a user. That was not clear enough in my post. For privacy, I prefer not to post the app name here, but I am happy to share privately if you are interested.


Even if I am only a user, I am concerced because I happen to develop software. So, in the future, if I want to develop an app I might be impacted by the fact that users may cease to use my services because of those functional issues. And to troubleshoot those issues will likely be a pain. I am aware that most users don't have Lockdown Mode (and probably don't need it). But if that app touches sensitive topics, I expect that the portion of users who will have the Lockdown Mode will be relatively high. Also, when an app doesn't work well (even after having performed a million tests), that doesn't give good press and is very frustrating.

What is the error?

The app has a main section for the news. That section is only loaded partly, and as you scroll a bit, the rest of the space is all black (or white, I don't remember). The other sections load, although they are pretty unresponsive with the Lockdown Mode. When I receive a notification about some news, clicking on the notification usually opens the article without issues.

That's pretty much how this security song and dance works.

Yes. But with other security features (updates, app integrity, biometrics...) I have a much lesser impact on usability. If all boils down to how many users are impacted, then yeah, it's not really worth it to troubleshoot my case. According to Apple, I'm the only user in the world to have this issue.

The iPhone is already secure, without Lockdown Mode.

I think that this is an over-generic statement. True in the vast majority of the cases (especially if users follow security higyene practices etc). But not true as in a 100%.

Most users aren't using Lockdown Mode.

I am :)

I know I am only a drop in the ocean but, well, I wanted to at least state the issue.

Apple doesn't even document how the Sandbox works.

I'm not sure if I understand your point here. Developers do not need to know the technicalities of how sandboxing works (and they probably have no interest at all in knowing so), as long as the APIs and language primitives are documented and do the work that developers expect to be done.

May 18, 2024 2:54 PM in response to user_493

If the developer is sufficiently interested in this topic (and you’ll want to contact them), they can post a note indicating that their app is incompatible with lockdown (at least) in their documentation.


As for what lockdown blocks, yes, Apple doesn’t provide details past “Web browsing - Certain complex web technologies are blocked, which might cause some websites to load more slowly or not operate correctly. In addition, web fonts might not be displayed, and images might be replaced with a missing image”


Based on various reports, lockdown disables the JIT and WebAssembly support, MP3 support, and some game-related functions.


For those that are potential targets, this isn’t a game, and these restrictions as well as further app and services and contents-related restrictions the user might adopt locally are entirely appropriate. Apps that get blocked are best assumed to be a potential risk.

May 21, 2024 12:26 PM in response to etresoft

Maybe this app is doing some suspicious stuff behind the scenes.

Maybe. But that's just speculative.

It's possible that the ads embeded in the app load the code that is triggering the Lockdown restrictions. If so, the app developers would probably like to know what those ads are doing. But, again, because Apple does not provide futher information or tools, it's very hard to troubleshoot.

Theoretically, that would be a valid concern. But practically speaking, Lockdown mode doesn't affect most apps. If it does, that says more about the app than about Lockdown mode.

That's a very generic statement. It could also be a bug of the Lockdown feature or a false positive.

What makes you assume the app has been tested, at all, let alone in Lockdown mode?

I wasn't assuming anything. That statement was in the paragraph where I speak from the perspective of the developer, saying that if I develop an app in the future I might encounter those issues even after having tested the app. Note that Apple dynamically changes the restrictions when applying the Lockdown Mode to an app, depending on the app's behavior (as I was told in the case).

Have you contacted the developer about these issues?

Yes. They sent me the link of the Lockdown Mode feature page on Apple, and they told me there isn't much they can do.

Do you have any evidence to the contrary?

No.

Don't believe what you read on the internet. 😄

Don't assume that I google stuff 😄

Many developers do encounter sandbox issues. [...] Developers just have to figure it out.

Without further details, I don't see how your case relates to mine.


Lockdown Mode restrictions on APIs and web technologies are not documented

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.