ASP.NET で XSLT プロセッサのオンライン テスト アプリケーションを開発していますが、システムの脆弱性を制限する方法について少し心配しています。.NET を使用して、サード パーティのアンマネージド アプリケーションまたはマネージド アプリケーションをサンドボックス化することはできますか? そうすべき:
- いかなる手段または脆弱性によっても、他のプロセスを開始することはできません。
- システム上の他の既存のプロセスにはアクセスできません。
- 処理能力やメモリが多すぎると強制終了されます。
- マネージドおよびアンマネージドの外部アプリケーションの両方で動作します。
- システムコールにアクセスできないようにする必要があります
一部のアプリケーションにはマネージド API がありますが、すべての潜在的なリスク (スタック オーバーフロー、メモリ例外、バッファー オーバーフロー) を伴う ASP.NET と同じ処理空間で実行する必要があるため、それだけでは十分ではありません。.NET が管理されていないアプリケーションのサンドボックス化を提供しているかどうかはわかりません。
現在、特定のアフィニティを使用して外部プログラムをコンソールで実行し、これを監視していますが、それは適切ではないか、厳密に安全なアプローチでさえあるとは思えません。