11

OSXLionの新しいセキュリティモデルが将来にどのように影響するか知りたいです。具体的には、資格とサンドボックスについて質問しています。

これは、これらが良いアイデアであるかどうかの問題ではありません。むしろ、これは将来何が起こるかについての最良の推測の問題です。

Pythonのようなものに興味があります。私の会社は、Webベースのソフトウェアを使用せずに緊急事態用の小さなPythonアプリを作成しています。これには、ファイルシステムの読み取りと書き込みが含まれます。

私たちのアプリには資格がありません。つまり、Pythonコードであり、Cocoaラッピングを行わないためです。すべてのアプリをサンドボックス化してその資格を一覧表示する必要があるというMacAppStoreの要件が有効になると、Appleはオペレーティングシステムのアップデートを公開し、「これが今後のセキュリティの方法であり、アプリケーションはセキュリティモデルを満たしていません。安全ではないため、実行されません。」

私はこれについて複雑な感情を持っています。一方で、消費者のマシンをより安全にするのに最適だと思います。不正なコードが少なくなり、すべてが腐敗します。一方で、それは開発を多くの開発者にとって生き地獄にするだろう、メチンク。

また、同じアップデートがLeopardまたはSnow Leopardのいずれかでリリースされる場合、そのようなアップデートがLionにリリースされるのではないかと思います。現在のOSから2世代遅れているので、私の考えはLeopardではありません。Snow Leopardはすべて、Appleが古いOSをサポートしたい期間に依存します。

だから今、私はApple開発者にこのトピックについて彼らの考えを話し、おそらく以前はなかった考えを生み出すためにそれを開いた。

4

1 に答える 1

6

スクリプトと一緒にPythonを埋め込み、py2appのようなものを使用して.appにパッケージ化できれば、 Appleの署名要件を満たすためにInfo.plistを追加/編集できると思います。同様に、資格については、.appのentitlements.plistを編集できると思います。サンドボックスエンフォーサーsandboxdは言語固有ではなく、デバイスとファイルへのプロセスのアクセスを許可/ブロックするだけだと思います(たとえば、制限されたファイル記述子を許可しないことによって)。埋め込まれたPythonインタープリターは、デフォルトで初期化のためにいくつかの資格にアクセスする必要がある可能性があることに注意してください(サンドボックスを念頭に置いて作成されていない可能性があるため)。

iOSデバイス(ストアで販売するにはサンドボックス化する必要があります)の場合、Appleのポリシー(iOS開発者プログラム契約セクション3.3.2)は次のとおりです。

アプリケーションは、実行可能コードをダウンロードまたはインストールすることはできません。解釈されたコードは、すべてのスクリプト、コード、およびインタープリターがアプリケーションにパッケージ化されており、ダウンロードされていない場合にのみ、アプリケーションで使用できます。

上記の解決策は、可能であれば、この要件を満たしているようです(OS Xアプリについても同様の規定が行われると想定しています)。ただし、App Storeでアプリを配布することに興味がない場合は、心配する必要はないと思います。すぐにコンピューターでアプリケーションを実行するためのコード署名または資格が必要になるかどうかは非常に疑わしいです(App Storeで販売されているものをサンドボックス化するだけで、アプリを入手するための「安全な」場所になります)。

于 2011-11-04T22:17:21.477 に答える