有哪些可用的 iPhone MDM 访问权限

What are the available iPhone MDM AccessRights

我目前使用 8191 作为 MDM 负载所需的 'AccessRights' 变量 (com.apple.mdm)。

现在,当使用这个时,用户会收到以下消息:

The administrator may collect personal data, add/remove accounts and restrictions, list, install and manage apps, and remotely erase data on your iPhone

告诉 him/her 允许 MDM 服务器远程擦除设备。现在我根本不希望 MDM 服务器能够执行此操作。

例如,当我将 AccessRights 更改为 4161 时,消息变为:

The administrator may collect personal data, and list, install and manage apps on your iPhone

现在我找不到对此 AccessRights 变量及其值的任何引用。谁能告诉我这个值到底代表什么?

更新:

Visput 的 "Mobile Device Management Protocol Reference" 打印屏幕为 AccessRights 提供了所需的数值。但是,由于 Apple 机密 material 的性质,此答案将保留上下文、在此过程中吸取的教训以及提到 material 可能会受到保密协议的约束。


为了清楚地理解答案的范围以及为了向新手解释,我将提供一些背景信息。

上下文

First off Mobile Device Management (MDM) 为您提供了一些功能,这些功能被组织成一组称为配置文件的设置 - 诸如真正的管理功能之类的功能,包括方便的配置、自助服务工具和增强的保护等。

这些配置文件只是 XML 允许您分发配置信息的文件。 配置文件采用 属性 列表格式。

From the document 描述配置文件中的键并提供生成的 XML 有效负载的示例,PayloadContent 是键之一。它也是您所指的包含访问权限 属性.

的那个

PayloadContent[optional] is an Array of payload dictionaries (payload objects). Not present if IsEncrypted is true.

文档指定这些是所有有效负载通用的有效负载字典键:PayloadType、PayloadVersion、PayloadIdentifier、PayloadUUID、PayloadDisplayName、PayloadDescription、PayloadOrganization。

除了上面的标准有效负载密钥之外,每个有效负载类型 都包含特定于该有效负载类型的密钥。

您正在使用 PayloadType "com.apple.mdm" 并正在寻找 MDM 有效负载的特定于有效负载的密钥。

结论

我对所有 mdm 有效负载密钥的引用进行了长期而艰苦的查找。我能找到几个 AccessRights 值的地方,public.

可用的官方文档中有 none

我能找到的最接近的是 Inside the mdm protocol (pdf)。一个项目的目标不是创建一个简单的、交钥匙的、独立的 MDM 服务器,也不是探测协议的弱点或隐藏功能,而只是尽可能多地记录协议。

来自这份文件:

Unfortunately, documentation of the underlying protocol has never been freely available. Obviously, third parties selling MDM servers were provided access to the documentation by Apple, but it’s not been available for researchers or smaller development shops. This hampers risk analysis for enterprises making use of MDM. In order to aid such risk assessments, and to enable and encourage future research, this project was born.

现在我认为该文档对于理解 MDM 非常有用。在 访问权限 上,它提供了一个图像页面 8,表示 GUI 工具的打印屏幕,该工具将访问权限显示为复选框。至于生成的值,你最好的机会是 google 像这样的东西:

<key>AccessRights</key>
<integer>8191</integer>

我还在某处找到了值 2047。 我还发现此 Security Configuration Recommendations from the NSA 中提到了 Apple iOS 设备的访问权限。在第 16 页,您拥有远程管理员的访问权限:

The following settings control what an MDM server is permitted to query from an iOS device. For an enterprise-owned, enterprise-controlled device, permitting the enterprise administrator to query as much information as possible is appropriate. Some MDM products may simply include these access rights by default and offer options to retrieve less information from the device.

它继续实际列出复选框,这些复选框在上一指南中也有说明。没有对应 xml 生成 data/ids.

我最接近实际 ID 的是 this mdm-settings.xml ,它枚举了访问规则以及设备上使用的一些其他数据 iOS6.

你最好的改变是联系苹果支持并询问细节。

由于 Apple 机密 material 的性质,您正在查找的信息可能受保密协议约束。以上文档基于 Developer Preview

中可用的数据

这是描述所有访问权限标志的 table:

您可以混合使用这些值来配置必要的访问权限列表。
在您的特定情况下:
8191 - 是上述所有值的组合。
4161 - 是 4096、64 和 1 的组合。