在 macOS 中防范恶意软件
Apple 提供了威胁情报流程以快速识别和阻止恶意软件。
三层防御机制
恶意软件防御机制由三层构成:
1.阻止恶意软件的启动或执行:App Store 或结合公证的门禁
2.阻止恶意软件在客户系统上运行:门禁、公证和 XProtect
3.修复已执行的恶意软件:XProtect
第一层防御机制设计用于阻止恶意软件的分发,并使其一次都无法启动,这是 App Store 和结合公证的门禁的目标。
下一层防御机制是为了帮助确保任何 Mac 上出现恶意软件时可快速识别及阻止,以停止恶意软件的传播并修复恶意软件已渗透的 Mac 系统。这一层防御机制中除了门禁及公证外,还加入了 XProtect。
最后,XProtect 运作以修复已设法成功执行的恶意软件。
这些保护措施(详情如下所述)结合在一起以实现最佳的病毒和恶意软件防御机制。除此之外,还有额外的保护措施(特别是在搭载 Apple 芯片的 Mac 上)可限制设法执行的恶意软件造成的潜在破坏。请参阅保护 App 对用户数据的访问以了解 macOS 可帮助保护用户数据免遭恶意软件攻击的方法,以及操作系统完整性以了解 macOS 可限制恶意软件在系统上执行操作的方法。
公证
公证是由 Apple 提供的恶意软件扫描服务。要在 App Store 之外分发 macOS 版 App 的开发者需提交其 App 以进行扫描,这是分发流程的一部分。Apple 会扫描此软件以检测已知恶意软件,如果未发现,则签发公证票据。开发者通常将此票据打包到其 App 中,这样即使处于离线状态,门禁也可验证并启动 App。
Apple 还可给已知的恶意 App 签发撤销票据,即使这些 App 之前曾通过公证。macOS 会定期检查新的撤销票据,使门禁拥有最新的信息并可阻止此类文件的启动。此流程可非常迅速地阻止恶意 App,因为更新在后台进行,并且比推送新 XProtect 签名的后台更新更加频繁。另外,此保护措施既可应用于曾通过公证的 App,也可应用于未通过公证的 App。
XProtect
macOS 内建了称为 XProtect 的防病毒技术,可基于签名检测和移除恶意软件。系统使用由 Apple 定期更新的 YARA 签名,YARA 是一款用来基于签名检测恶意软件的工具。Apple 会监视新的恶意软件感染和威胁,并自动更新签名(独立于系统更新),以保护 Mac 免受恶意软件侵害。XProtect 会自动检测已知恶意软件并阻止其执行。在 macOS 10.15 或更高版本中,XProtect 会在以下操作执行时检查是否含已知的恶意内容:
App 首次启动
App 发生更改(在文件系统中)
XProtect 签名发生更新
XProtect 检测到已知的恶意软件时,会阻止软件并通知用户,还提供将软件移到废纸篓的选项。
【注】公证对已知文件(或文件哈希)有效,并可用在之前启动过的 App 上。XProtect 基于签名的规则比特定文件哈希更为通用,因此它可以找到 Apple 未发现过的变体。XProtect 只扫描发生更改或首次启动的 App。
如果恶意软件已侵入 Mac,XProtect 还包含修复感染的技术。例如,它包括的引擎可基于 Apple 自动发布的更新(作为系统数据文件自动更新和安全性更新的一部分)来修复感染。此系统会在收到更新信息后立即移除恶意软件,并继续定期检查是否感染,但 XProtect 不会自动重新启动 Mac。此外,XProtect 包含了一个高级引擎,可基于行为分析来检测未知的恶意软件。此引擎检测到的有关恶意软件的信息(包括是什么软件对它的下载最终负责)将用于改进 XProtect 签名和 macOS 安全性。
自动 XProtect 安全性更新
Apple 会根据最新的威胁情报自动发布 XProtect 的更新。macOS 默认每天检查这些更新。使用 CloudKit 同步分发的公证更新更加频繁。
发现新的恶意软件时 Apple 如何响应
发现新的恶意软件时可能会执行若干步骤:
撤销任何关联的开发者 ID 证书。
针对所有文件(App 和相关文件)签发公证撤销票据。
生成和发布 XProtect 签名。
这些签名还会追溯应用至之前通过公证的软件,并且任何新的检测结果均会引发之前的一个或多个操作发生。
最终,恶意软件检测会在接下来几秒、几小时和几天中相继启动一系列步骤,以将可能的最佳保护措施传播给 Mac 用户。