gpt4 book ai didi

Objective-C 插件架构安全性(Mac,不是 iPhone)

转载 作者:太空狗 更新时间:2023-10-30 03:38:26 26 4
gpt4 key购买 nike

我可能正在为 Cocoa 应用程序(Mac,不是 iPhone)编写一个插件系统。

一种常见的方法是将每个插件打包成一个包,然后将该包注入(inject)到主应用程序中。我担心这样做的安全隐患,因为 bundle 将具有对 Objective-C 运行时的完全访问权限。我特别关心可以访问处理注册和序列 key 的代码的插件。

我们正在考虑的另一个插件系统是基于分布式通知。基本上,每个插件都是一个单独的进程,它们将仅通过分布式通知进行通信。

有没有办法安全地加载包(例如沙盒)?如果没有,您是否发现使用分布式通知有任何问题?还有其他更好的插件架构吗?

最佳答案

是的,OS X 有 sandboxing support在每个进程级别上。我知道的唯一开源第三方客户端是 Chrome .您还可以调查包装器,例如 Native Client .

也就是说,出于安全原因尝试对插件进行沙盒处理确实没有意义,除非您通过网络(即网络浏览器)加载不受信任的插件或内容。如果有人想在本地破解您的应用程序,他们可以使用调试器、DTrace 等。

您在应用程序和插件进程之间使用的 IPC 机制实际上取决于您正在进行的通信类型。 Intermachine Distributed Objects(我假设这就是你打算写的)对于大多数用途来说当然不是一个坏选择,但你不想通过它发送视频。您可以查看 CoreIPC , 开发中WebKit2使用;它适用于 Mach 端口。

关于Objective-C 插件架构安全性(Mac,不是 iPhone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com