0

リモート クライアントで実行するコードをリモート クライアントに送信する必要がありますが、現在、セキュリティが懸念事項です。安全でないコードをそこで実行したくないので、プログラムの動作を制御したいと思います。たとえば、接続を行っているかどうか、どこに接続しているか、ローカル ファイルを読み取っているかどうかなどを知ることができます。これは Python で可能ですか?

編集: Android の許可システムに似たものを考えています。コードが何をするかを知りたいのですが、何か違うことをしている場合は止めてください。

4

4 に答える 4

1

サンドボックス化された python を探していると思います。以前はこれを実施する取り組みがありましたが、数年前に廃止されました。

python wiki のサンドボックス化された pythonは、ユースケースで可能なオプションの優れた概要を提供します。

于 2012-09-30T11:49:14.133 に答える
1

別の Python ランタイムを使用できます。

于 2012-09-30T12:34:05.457 に答える
1

最も厳密な (しかしおそらく最も遅い) 方法は、エミュレーターの裸の OS で Python を実行することです。

使用する OS に応じて、制限付きでプログラムを実行する方法がいくつかありますが、エミュレーターのオーバーヘッドはありません。

  • FreeBSD には、jailという形の優れた統合ソリューションがあります。これらは、chrootシステム コールから派生したものです。
  • Linux-VServerは、Linux 上で多かれ少なかれ同じことを行うことを目指しています。
于 2012-09-30T12:15:29.187 に答える
1

以前は Python に というモジュールがありましたが、それほど安全bastianではなかっため廃止されました。と呼ばれるものもあると思いますRPythonが、それについてはあまり知りません。

この場合、Pyroを使用して、ターゲット サーバーにコードを記述します。そうすれば、クライアントは記述およびテスト済みのコードのみを実行できることがわかります。

編集- おそらく、Pyro がhttp://en.wikipedia.org/wiki/Privilege_separationもサポートしていることは注目に値しますが、私はそれを使用する必要はありませんでした。

于 2012-09-30T11:19:11.873 に答える