Mac上的Gatekeeper系统跟运行时保护

问题:无法打开“xxx.xxx”,因为无法验证开发者。macOS无法验证此App是否包含恶意软件。

之前升级了macos后,就遇到了上面的问题。这里根本原因是Macos上Gatekeeper系统的特性,以防止用户无意识地执行恶意软件。
在这里插入图片描述

如何解决?

com.apple.quarantine是苹果(macOS)上的一个文件系统标记(Attribute),它表示文件是从Internet下载的或由邮件附件接收的。这个标记用于Gatekeeper系统,这是Mac操作系统的一个安全特性,以防止用户无意识地执行恶意软件。

此标签存于文件的拓展属性(Extended Attribute)中,并带有一些值,包括:

  1. 下载时间的时间戳
  2. 下载应用程序的标识
  3. URL,从该URL下载了文件

你可以通过xattr命令来查看或修改文件的com.apple.quarantine标志:

  • 查看文件的com.apple.quarantine属性:
    xattr -l <文件名>
    
  • 清除文件的com.apple.quarantine属性:
    xattr -d com.apple.quarantine <文件名>
    
  • 清除目录下所有文件的com.apple.quarantine属性:
     xattr -r -d com.apple.quarantine <目录名>
    

清除了com.apple.quarantine属性之后就可以正常使用了。
另外,也可以通过ls -al@查看文件的属性,我们从下面的结果也可以看出,有拓展属性的话,文件的权限位会多出一个@。

ls -al@

total 264088
drwxr-xr-x@  5 user  staff        160  3 27 11:54 .
	com.apple.macl	       72 
	com.apple.quarantine	       21 
drwx------@ 57 user  staff       1824  3 27 11:54 ..
	com.apple.macl	      216 
-rw-r--r--@  1 user  staff       6148  3 27 11:54 .DS_Store
	com.apple.FinderInfo	       32 
drwxr-xr-x  14 user  staff        448  3 27 11:54 a_directory
-rw-r--r--@  1 user  staff  118796235  3 27 11:54 a_file
	com.apple.metadata:kMDItemWhereFroms	      247 
	com.apple.quarantine	       21 

参考资料

https://support.apple.com/zh-cn/guide/security/sec5599b66df/web

macOS 提供门禁技术和运行时保护以帮助确保仅受信任的软件可在用户的 Mac 上运行。

门禁

macOS 包括一项称为门禁的安全技术,其设计旨在帮助确保仅受信任的软件可在用户的 Mac 上运行。当用户从 App Store 之外的地方下载并打开 App、插件或安装器软件包时,门禁会验证该软件是否来自可识别的开发者、经过 Apple 公证不含已知的恶意内容且未被修改。在首次打开下载的软件之前,门禁还会请求用户批准,以确保用户没有被诱骗运行他们认为只是数据文件的可执行代码。

默认情况下,门禁会帮助确保所有下载的软件已由 App Store 签名,或者由已注册的开发者签名且经过 Apple 公证。App Store 审核过程和公证流程均旨在确保 App 不含已知的恶意软件。因此,默认情况下,macOS 中的所有软件在首次打开时都会检查是否包含已知的恶意内容,无论它以何种方式安装到 Mac 上。

用户和组织可以选择仅允许从 App Store 安装软件。另外,用户可以忽略门禁策略以打开任意软件,除非受到移动设备管理 (MDM) 解决方案的限制。组织可以使用 MDM 配置“门禁”设置,包括允许使用备用身份签名的软件。如果需要,也可以完全停用门禁。

门禁还可防止在分发安全 App 时包含恶意插件。此处指使用 App 时在用户不知情的情况下触发恶意插件加载。必要时,门禁会从随机的只读位置打开 App。这旨在防止自动加载与 App 一起分发的插件。

运行时保护

系统文件、资源和内核与用户的 App 空间保持隔离。App Store 中的所有 App 均已经过沙盒化,以限制访问其他 App 储存的数据。如果来自 App Store 的 App 需要访问其他 App 的数据,则只能使用 macOS 提供的 API 和服务来进行访问。

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gatekeeper是指在计算机系统中,用于限制用户对系统资源的访问权限的一种软件或硬件机制。它可以作为一个安全门禁,确保只有经过授权的用户可以使用系统资源。这种机制可以帮助保护系统免受未经授权或恶意访问的威胁。通过对用户身份进行验证gatekeeper可以决定是否允许用户访问系统中的敏感数据、配置设置和其他资源。 TrustZone是一种基于硬件的安全技术,用于提供比常规软件安全性更高的保护。它将处理器分为不同的安全域,每个安全域都有自己的内存和处理器资源。TrustZone可以将系统划分为一个安全域和一个非安全域,这样可以确保安全域中的软件和数据不受非安全域的干扰。非安全域运行一般应用程序,而安全域用于运行敏感数据和关键任务的应用程序。 TrustZone可以保护诸如加密密钥、身份验证和数字签名等敏感信息,从而防止未经授权的访问和攻击。它还可以防止恶意软件或操作系统级别的漏洞对敏感数据的访问。TrustZone提供了硬件级别的安全隔离,确保安全域中的软件和数据不会受到来自非安全域的干扰。 综上所述,gatekeeper和TrustZone都是用于提高计算机系统安全性的机制。Gatekeeper通过对用户身份验证和权限控制来限制对系统资源的访问,而TrustZone通过硬件级别的安全域划分和隔离,提供更高级别的安全保护

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值