近日,微软发现苹果macOS系统存在一个“Shrootless”漏洞(CVE-2021-30892),攻击者可以利用该漏洞绕过操作系统的系统完整性保护(SIP),进而执行任意代码。
例如在绕过 SIP 防护措施后,攻击者能够安装 rootkit 和无法检测的恶意软件、甚至覆盖系统文件而不被 SIP 给阻止。
系统完整性保护是苹果macOS系统中一个安全功能,最早出现在OS X El Capitan,由很多内核强制实施的机制构成。它的主要功能是保护系统文件及目录,以免这些文件及目录被没有特定权限的进程修改,包括root用户或者拥有root权限的用户。
微软安全研究人员(MSVR)表示,攻击者可以创建一个特制的文件来劫持安装过程。
“在苹果绕过SIP保护的macOS进程时,我们(微软安全团队)发现了守护进程 system_installd 具有强大的 com.apple.rootless.install.inheritable 权限。获得这个权限之后,攻击者可利用system_installd的任何子进程来绕过SIP文件系统的限制。”
微软安全研究人员正是通过这一发现,从而找到了macOS系统完整性保护漏洞。
随后,微软安全研究人员根据以下算法,进行了相关的POC漏洞测试,覆盖内核扩展排除列表:
- 使用 wget下载一个有苹果签名、并具有安装后脚本的软件包;
- 在这个软件包中植入 /etc/zshenv 恶意文件来检查父进程;system_installd 会通过调用默认 shell来运行它们;
- 通过创建可劫持安装过程的自定义软件包,攻击者便可利用该机制来达成恶意目的。
值得庆幸的是,微软上报该漏洞后,苹果公司日前已经发布了该安全漏洞的修复办法,相关补丁已经公布。在 macOS Monterey、Catalina 和 Big Sur 的安全补丁说明中,苹果对微软公司表示感谢。