启动过程中的 Kauth 事件。 - 预防能力
Kauth event upon start process. - prevention capabilities
我想在内核中获取每个启动的新进程(fork+execve 或 posix_spawn)的事件,并能够阻止此操作。
第一个选项是使用名为 mpo_vnode_check_exec
的 Mac 框架,方法是使用 return 0 函数挂接此方法,当访问被授予或检查延迟到下一个挂钩时.. 非零 returned 值表示访问被立即拒绝。
不幸的是,苹果不支持这个框架,我希望使用一个稳定的替代方案,比如带有 KAUTH_FILEOP_EXEC
标志的 kauth fileop 作用域。
然而,这个框架只是用于检测,缺乏预防能力..
当我在进程创建时获得相关的 kauth 回调时,也许有一种方法可以阻止进程从 运行ning 开始,或者从 运行ning 停止进程直到我决定它是否应该 [=25] =] 或不(并在另一个线程中强制执行判决)。
感谢
However, this framework is for detection only and lacks prevention capabilities..
正确,如果您只关注文件范围。
Register with the Vnode scope 和您的回调 returns 是否允许访问。
kauth_listen_scope(KAUTH_SCOPE_VNODE, &myCallback, NULL);
最后,请注意这个范围非常嘈杂,因为报告了对每种资源的每种类型的访问。
我想在内核中获取每个启动的新进程(fork+execve 或 posix_spawn)的事件,并能够阻止此操作。
第一个选项是使用名为 mpo_vnode_check_exec
的 Mac 框架,方法是使用 return 0 函数挂接此方法,当访问被授予或检查延迟到下一个挂钩时.. 非零 returned 值表示访问被立即拒绝。
不幸的是,苹果不支持这个框架,我希望使用一个稳定的替代方案,比如带有 KAUTH_FILEOP_EXEC
标志的 kauth fileop 作用域。
然而,这个框架只是用于检测,缺乏预防能力..
当我在进程创建时获得相关的 kauth 回调时,也许有一种方法可以阻止进程从 运行ning 开始,或者从 运行ning 停止进程直到我决定它是否应该 [=25] =] 或不(并在另一个线程中强制执行判决)。
感谢
However, this framework is for detection only and lacks prevention capabilities..
正确,如果您只关注文件范围。
Register with the Vnode scope 和您的回调 returns 是否允许访问。
kauth_listen_scope(KAUTH_SCOPE_VNODE, &myCallback, NULL);
最后,请注意这个范围非常嘈杂,因为报告了对每种资源的每种类型的访问。