0

私は、OSX Code Signing と、ソフトウェアを保護するという点で OSX Code Signing がもたらす利点について、よりよく理解しようとしています。誰かが私のために特定の質問を明確にしてもらえますか?

コード署名されているがサンドボックス化されていないアプリケーションの場合:

ハッカーがアプリケーションのバイナリを変更すると、アプリケーションは署名済みとは見なされなくなります。ただし、正しく動作しますか (Lion がアプリケーションがコード署名されていないことをユーザーに警告するという警告があります)?

コード署名され、サンドボックス化されたアプリケーションの場合:

この場合、ハッカーがコードを変更するとどうなるでしょうか? 権利ファイルを削除して、サンドボックスの制限がなくなった署名なしバージョンのアプリケーションを作成することはできますか?

署名済みでサンドボックス化された XPC サービス ヘルパーを含む、署名済みでサンドボックス化されていないアプリケーションを考えると、ハッカーがいずれかの部分の署名なし (および変更済み) のバージョンを作成できないことを保証するためにできることはありますか。現在のところ、ハッカーは次のことができるようです。

  • ヘルパーのバイナリ変更バージョンを作成します。したがって、この新しいバージョンは、サンドボックス化も署名もされていません。

  • メイン アプリケーションのバイナリ変更バージョンを作成します。したがって、この新しいバージョンはサンドボックス化も署名もされておらず、ヘルパーの新しいバージョンを起動できます。

私が間違っている?もしそうなら、なぜですか?

ありがとう、

ティム

4

1 に答える 1

1

あなたは基本的に正しいです。あなたが探しているのはコピー防止です。これは誰も(よく)行う方法を理解していないことであり、コード署名やサンドボックス化のいずれかが行おうとするものではありません。サンドボックス化が行うことは、プログラムが実行時に引き継がれ、想定外のことを実行するようになった場合の被害を制限することです。コード署名が行うことは、他の誰かが自分のプログラムを自分のものとして渡す防ぐことです。

私は意図的に「彼らのプログラム」という言葉を使いました。「あなたのプログラム」が他の誰かのコンピュータにあり、彼らがそれをいじり始めたら、それはもはやあなたのものではないことを理解する必要があります。それは彼らのものであり、彼らはそれを使ってほとんど何でもすることができます。パーツを取り出したり(サンドボックス化など)、パーツを追加したり(悪意のあるコードなど)、変更したりすることができます。プログラムの一部(または全体)を含む「完全に新しい」プログラムを作成することもできます。

コードを変更/再利用しにくくするためにできることはありますが、それを不可能にする方法を誰も理解していません。Appleは試みていません。彼らのセキュリティ対策は他のターゲットを対象としています。

于 2013-01-09T21:47:19.227 に答える