开始过程中的Kauth事件。 - 预防能力
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开始过程中的Kauth事件。 - 预防能力相关的知识,希望对你有一定的参考价值。
我想在每个启动的新进程(fork + execve或posix_spawn)中获取内核中的事件,并且能够阻止此操作。
第一个选项是使用名为mpo_vnode_check_exec
的Mac框架通过挂钩到此方法,函数在授予访问权限时返回0或检查延迟到下一个钩子。非零返回值意味着立即拒绝访问。
不幸的是,这个框架没有得到apple的支持,我希望使用一个稳定的替代方案,例如kauth fileop scope和KAUTH_FILEOP_EXEC
flag。但是,该框架仅用于检测,缺乏预防能力。
也许当我在进程创建时获得相关的kauth回调,或者阻止进程从运行直到我决定是否应该运行(并在另一个线程中强制执行判决)时,有一种方法可以阻止进程运行。
谢谢
答案
但是,该框架仅用于检测,缺乏预防能力。
如果您只关注文件范围,请更正。
Register与Vnode scope和你的回调返回是否允许访问。
kauth_listen_scope(KAUTH_SCOPE_VNODE, &myCallback, NULL);
最后,请注意,此范围非常嘈杂,因为报告了对每种资源的每种类型的访问。
以上是关于开始过程中的Kauth事件。 - 预防能力的主要内容,如果未能解决你的问题,请参考以下文章