信頼できないコードをchroot
で実行したいとします。chrootを使って信頼できないコードを実行する
しかし、多くは、chroot
はセキュリティ機能ではなく、容易に壊れる可能性があると主張しています。
私の質問は、https://ideone.com/のようなアプリは、信頼できないコードをすばやく安全に実行する方法を教えてください。またchroot
が壊れる可能性がある場合は、chroot
から抜け出すことはできません。https://ideone.com/。
信頼できないコードをchroot
で実行したいとします。chrootを使って信頼できないコードを実行する
しかし、多くは、chroot
はセキュリティ機能ではなく、容易に壊れる可能性があると主張しています。
私の質問は、https://ideone.com/のようなアプリは、信頼できないコードをすばやく安全に実行する方法を教えてください。またchroot
が壊れる可能性がある場合は、chroot
から抜け出すことはできません。https://ideone.com/。
あなたが参照している信頼できないコードはわかりませんが、chrootは見た目のファイル構造を変更します。理論的には、特定のレベルを超えることはできません。しかし、シンボリックリンクは引き続き動作するので、chrootされたディレクトリに上記のディレクトリへのシンボリックリンクがある場合、chrootはあなたに何の役にも立てません。
他のアプリケーションを通じてリソースにアクセスすることもできます。いくつかの巧妙なハッカーは、実行中のアプリケーションを悪用する方法を知っていますが、rootとしてideone環境を設定すると、何かが可能です。
さらに理論的には、ファイルシステムへのフルアクセス権を持つマスターアプリケーションをインストールすることができます。次に、chrooted環境でコードを実行します。そのマスターアプリが実行中で、リッスンしている場合は、リソースをchrootされたアプリケーションに中継できます。
すばやくですか?確かに...安全に...まあ...私の例では、マスターアプリはゲートキーパーですが、マスターアプリの信頼によってセキュリティはまだまだです。
したがって、ideoneはどのように(悪意のある可能性のある)ユーザーコードを実行しますか? –
"Ideoneはオンラインコンパイラとデバッグツールで、ソースコードをコンパイルして60以上のプログラミング言語でオンラインで実行できます。柔軟なツールは、柔軟なソリューションにつながります。この場合も、chrootはファイルシステムのセキュリティ設定です。コードがchrootされたファイルシステムの外部にアクセスできる実行プロセスを呼び出し、すべてのベットがオフになっている場合です。 –