奇数タイトル、私は知っています。私が本当に尋ねることは、「NSBundles用のTrustedBSD MACフレームワークまたはiOSサンドボックスを作成できますか?私は、モジュールをいつでも「スイッチボード」に差し込むことができる非常に動的なアプリケーションを持っています。それを操作しているユーザーは、おそらく数マイル離れた別のコンピュータにあります。スイッチボードモジュールがどのようにしてコンプライアンスに対応できるのか、また、スイッチボードモジュールがなくなってもシステムを破壊することができないことをユーザーが知る方法はありません。私はiOSのサンドボックスとTrustedBSD(そしてLionのSeatbelt.framework)がプロセスのためにこれを行うことができることを知っていますが、これをバンドルコードでどうやって行うことができますか?すべてのPOSIXコールとにObjCメッセージング(バイナリは、この時点で....コード、バイナリでないと不可能だ)のObjective-CのNSBundleサンドボックス
静的バイナリ解析:
物事私は考えました。
実行時にObjCメッセージをトレースしてログに記録し、1回の迷惑呼の後でモジュールをロックアウトします。 (これは、POSIX呼び出しやそのCの呼び出し、アセンブリの呼び出しには影響しませんし、少なくとも1つの呼び出しがすでに送信されていることになります)。
ここでXPCとロードモジュールを使用してサンドボックス化された外部プロセスを作成し、PDOを使用してそのプロセスにスイッチボードコールをルーティングします(非常に有効ですが、ここではスノーレパードの互換性が必要です)。
すべてのアイデア?私は、一度ロードされたバンドルがアプリケーションのPARTとして終了することを認識しています。これは、セキュリティの実装にさらなる問題をもたらします。
私はこれを完全に理解しています。なぜこれが可能なのですか? (PDCの実行可能ファイルがたくさんあるので、ここではXPCやPDOを避けようとしています。) –