0

Codepad.org Web サイトの原理について疑問に思っています。(オンラインCコンパイラの原理)

原則は次のステップに従うと思います。

  1. ユーザーが C コードを送信します。

  2. サーバーにインストールされた GCC に Web サイトを送信します。

  3. GCC でコードをコンパイルします。

  4. GCC は文字列を返し、Web サイト (Web サーバー) に送信します。

  5. Web サーバーは文字列をユーザーに返します。

その手順は正しいですか?では、サーバーからすべてのファイルを削除するなどの悪意のあるコードから保護するにはどうすればよいでしょうか?

4

1 に答える 1

1

http://codepad.org/aboutから:

コードの実行は、geordi に基づくスーパーバイザーによって処理されます。戦略は、すべてを ptrace の下で実行し、多くのシステム コールを許可しないか無視することです。コンパイラーと最終的な実行可能ファイルは、厳密なリソース制限のある chroot 監獄で実行されます。スーパーバイザは Haskell で書かれています。

また:

パラノイア

アプリリモートでコードを実行する場合、セキュリティの問題を予期する必要があります。chroot と ptrace スーパーバイザーだけに頼るのではなく、いくつかの追加の予防措置を講じました。

  • スーパーバイザ プロセスは仮想マシン上で実行されます。これらの仮想マシンはファイアウォールで保護されているため、発信接続を行うことができません。

  • 仮想マシンを実行するマシンも強力なファイアウォールで保護されており、ソース イメージから定期的に復元されます。

于 2016-11-01T02:14:27.350 に答える