【发布时间】:2012-04-22 16:17:03
【问题描述】:
我们正在为 ASP.NET 中的 XSLT 处理器开发一个在线测试应用程序,但是,我有点担心如何限制我们系统的漏洞。 .NET 是否可以沙箱第三方非托管或托管应用程序?它应该:
- 不允许以任何方式或漏洞启动任何其他进程;
- 无权访问系统上的其他现有进程;
- 在消耗过多的处理能力或内存时被杀死;
- 同时使用托管和非托管外部应用程序;
- 应该无法访问系统调用
一些应用程序有一个托管 API,但这还不够,因为我需要在与 ASP.NET 相同的处理空间中运行它,并存在所有潜在风险(堆栈溢出、内存异常、缓冲区溢出)。我不知道 .NET 是否提供非托管应用程序的沙盒。
我们目前在具有特定关联性的控制台中执行外部程序并对其进行监控,但这感觉不是正确的,甚至不是非常安全的方法。
【问题讨论】:
-
+1 对于对外部程序集的狭隘理解来说,这是一组非常广泛的要求。我也会担心的。 :) 我很高兴这不是我的要求。不过这很有趣。
标签: c# asp.net .net-4.0 sandbox