应用安全
macOS包括内置技术,以确保只安装受信任的应用程序,并帮助防御恶意软件。为了确保合法的应用程序不会被篡改,macOS还包括应用运行时保护和应用签名的方法。
Gatekeeper
为了控制可安装应用程序的来源,macOS提供了一个称为Gatekeeper的特性。Gatekeeper允许用户和组织设置一个安装应用程序所需的安全级别。
在最安全的Gatekeeper设置下,用户只能安装来自App Store的签名应用。默认设置允许用户安装来自App Store的应用,以及具有有效开发者ID签名的应用。这个签名表示应用程序由 Apple 颁发的证书签名,并且从那以后它们就没有被修改过。Gatekeeper 也可以完全禁用如有必要,通过终端命令sudo spctl –master-disable
禁用。
此外,Gatekeeper 在某些情况下应用路径随机化,,包括当应用程序直接从一个未签名的磁盘映像启动,或者从它们被下载并自动取消存档的位置启动。路径随机化使得应用程序在启动之前可以从文件系统中一个未指定的只读位置使用。这阻止了应用程序使用相对路径访问代码或内容,但也阻止了它们从这个只读位置启动时的自我更新。例如,使用Finder移动应用程序到Applications文件夹意味着路径随机化将不再被应用。
默认保护模型的主要安全优势是它提供了广泛的生态系统保护。如果恶意软件的作者设法窃取或者其他方式获得 Developer ID 签名能力,并使用它来分发恶意软件,苹果可以通过撤销签名证书来快速响应。这将阻止恶意软件的进一步传播。这种保护措施削弱了Mac上大多数恶意软件活动,并为所有用户提供了广泛的保护。
用户可以临时覆盖这些设置以安装任何应用程序。组织可以使用他们的 MDM 解决方案来建立和执行Gatekeeper 设置,以及将证书添加到macOS信任策略中,以评估代码签名。
XProtect
macOS包含内置的基于签名的恶意软件检测技术。苹果监控新的恶意软件感染和毒株,并自动更新XProtect签名——独立于系统更新——以帮助保护Mac系统免受恶意软件感染。XProtect自动检测并阻止已知恶意软件的安装。
恶意软件清除工具
如果恶意软件进入Mac系统,macOS还包括修复感染的技术。除了监控生态系统中的恶意软件活动,以撤销开发者id(如果适用的话)并发布XProtect更新,苹果还向macOS发布更新,从任何受影响的系统中删除恶意软件,这些系统被配置为接收自动安全更新。一旦恶意软件删除工具收到更新的信息,恶意软件在下次重启后被删除。恶意软件清除工具不会自动重启Mac
自动安全更新
苹果会自动发布XProtect和恶意软件删除工具的更新。默认情况下,macOS每天都会检查这些更新。有关自动安全更新的更多信息,请参阅苹果支持文章“Mac App Store: Automatic security updates”。
运行时保护
系统文件、资源和内核被屏蔽在用户的应用程序空间之外。App Store中的所有应用都是沙箱化的,以限制对其他应用存储的数据的访问。如果app Store中的应用程序需要从其他应用程序访问数据,则只能通过macOS提供的api和服务来实现。
强制性应用代码签名
所有来自App Store的应用都经过苹果的签名,以确保它们没有被篡改或修改。苹果针对所有苹果设备上提供的应用程序进行了签名。许多在 App Store 之外分发的应用程序都由使用 Apple 颁发的 Developer ID证书(结合私钥签名,以便在默认 Gatekeeper 设置下运行。
来自 App Store之外的应用程序通常使用 Apple 颁发的签名开发者证书进行签名。这可以让你验证应用程序是真实的,没有被篡改。内部开发的应用程序也应该用苹果发布的开发者ID签名,这样你就可以验证它们的完整性。
MAC (Mandatory Access control)要求通过代码签名来启用系统保护的授权。例如,需要通过防火墙访问的应用程序必须经过相应MAC授权的代码签名