macOS安全特性

/ 0

Gatekeeper

macOS 10.7.5 引入的安全特性,检测从互联网下载或其他第三方安装的软件,在首次运行时,确保它们的行为对系统没有危害。

系统在默认情况下只允许用户安装来自 App Store 的软件,如果需要安装从网上下载或其他地方复制的软件,系统会弹出提示框并阻止软件运行。

首先,系统会检测软件的签名是否有效,以此来判断是否被篡改,如果签名不对,系统会弹出让用户删除该软件的提示框。

如果软件的签名没有问题,系统会进入下一步检测恶意代码。

SIP/Rootless

SIP简介

SIP 全名 System Integrity Protection(系统完整性保护),又叫做 Rootless 保护机制,它是为了保护系统进程、文件、文档不被其它进程修改。

简单的来说,SIP 限制了 Root 账户的权限,使其没有了对系统的完全控制权。

macOS 系统自10.11之后,SIP 默认是开启的,让恶意 app 无法通过用户授权的方式从而获得所有系统权限了。

SIP技术作用

文件系统保护:利用沙盒机制限制 root 账户的权限,让重要的目录与文件不能被第三方程序任意修改,例如 /System/bin/sbin/usr(/usr/local目录除外)等目录中的文件。

运行时保护:向一个系统进程中注入代码与修改磁盘上受保护的文件一样,都是会失败的。受系统保护的程序与使用苹果私有的 entitlements 签名的程序,在运行时都会被内核标记为 restricted(受限的)。防止被注入代码或挂调试器以及内核调试等。

内核扩展签名:第三方开发的 kext 内核扩展必须经过签名之后放到 /Library/Extensions 目录下。

完全关闭SIP机制

重启按住 command + R 进入恢复模式(recovery),在顶部工具栏找到终端(Terminal),执行下面命令后重启系统即可:

csrutil disable

启用SIP,关闭debug

和上面一样,只是执行命令不同:

scrutil enable —without debug

重新启用SIP

和上面一样,只是执行命令不同:

csrutil enable