在 OS X 上,当应用程序请求访问 Keychain 项时,系统会提示用户是授予还是拒绝该访问权限。
假设系统不仅保存了二进制路径,还保存了用户确认请求后创建的ACL条目中的hash;根据 Apple 的说法,这可以防止修改后的二进制文件访问用户密码和/或证书。
这真的足以防止具有用户(但不是超级用户)权限的攻击者检索所有存储的密码吗?
例如,在 Linux 上,有一个环境变量LD_PRELOAD
可用于加载额外的动态库,这些动态库会用自定义代码覆盖一些标准库函数;使用它,似乎可以在不修改基本可执行文件本身的情况下更改在给定二进制文件中执行的代码。
OS X 上是否有类似的机制可以实现这种攻击(可能是这里提到的方法之一)?