TCC 与 macOS 平台沙箱策略 // Mark Rowe

主要观点:介绍了 macOS 中的 TCC(Transparency, Consent and Control)及其相关内容,包括其负责管理用户允许应用访问的资源,以及与平台沙箱策略的关系等。
关键信息

  • TCC 是 macOS 的一个子系统,用于管理应用对敏感资源的访问权限,如硬件设备、位置服务等。
  • 平台沙箱策略是应用于 macOS 所有进程的策略,实现了 System Integrity Protection 的一部分,可通过(with user-approval …)触发 TCC 提示。
  • (with user-approval …)中的allow动作可附加特定类型的用户批准,触发sandboxdtccd请求 TCC 批准。
  • 以访问计算机摄像头为例,说明了平台沙箱策略中关于iokit-open-user-client操作的政策会触发 TCC 提示。
  • 平台沙箱策略中的关键概念是文件系统对象的“存储类”,用于分类文件系统对象并确定是否触发 TCC 提示。
    重要细节
  • TCC 权限由tccd进程调解,系统框架使用私有 API 确定是否有权访问资源。
  • 平台沙箱策略利用沙箱内核扩展触发 TCC 提示,对不同的文件系统操作和对象有相应的政策和存储类定义。
  • 列举了多个存储类的示例,如kTCCServiceSystemPolicyNetworkVolumeskTCCServiceSystemPolicyAppBundles等,以及它们对应的文件系统路径或属性条件。
阅读 6
0 条评论