强制访问框架 (MACF) 是实现apple 安全功能基础,用于监控进程的执行。用户态的视角非常有局限性,只有内核才能可靠地实施这种安全性

KAuth 内核监控,

在 macos 10.4 开始引入 KAuth KPI ,对于安全软件开发者的拦截选择操作。一旦被拦截,行动可以被检查,然后批准或拒绝。驻留在 内核模式中。

Design 设计

KAuth 定义了范围,且作用域是故意不透明的,通过反向 DNS 字符串标识。

操作时监听器,甚至通过用户模式的去进行决定,只有所有的调用都不返回 KAUTH_RESULT_DENY 这个时候操作才能被允许。

通过这种方式,KAuth侦听器可以进一步限制操作。但是其他监听的拒绝我们也不能无视。

KAuth 凭证

不管外部模块是否使用了KAuth,该机制都是由

XNU处理系统安全最重要的方面之一——凭据。