是否有针对Windows平台的轻量级可编程Sandbox API?

Joh*_*n K 12 windows api sandbox virtual-machine

要在家中运行不受信任的代码,我使用VMWare虚拟机.我想找到一个替代的轻量级沙箱API来运行不受信任的应用程序,而无需安装VMWare或任何其他类型的最终用户虚拟化工具.(编辑:我不希望它托管操作系统 - 我希望它运行不受信任的应用程序).

理想情况下,沙箱将是(或可以制作)透明,因此在沙箱中运行的应用程序不会显示任何额外的镶边或特征.(他们不是在Mac上的Parallels中这样做)

我希望Windows .NET开发人员能够使用API​​,而不是启动特殊的GUI,我可以为它编写脚本.

这就像谷歌Chrome浏览器Web浏览器如何包含自己的技术,以便从Internet运行沙箱脚本以保护系统.Google不需要使用他们的浏览器分发VMWare,但他们实现了应用程序的沙箱安全性.

编辑:

寻找像谷歌Chrome一样轻量级的东西包含诸如极大限制的文件/网络/ UI访问,低权限等功能.不寻找运行/托管自己的操作系统.

小智 6

谷歌的Chrome使用4种Windows机制来实现这一目标:

A restricted token
The Windows job object
The Windows desktop object
Windows Vista only: The integrity levels
Run Code Online (Sandbox Code Playgroud)

请查看:https: //sites.google.com/a/chromium.org/dev/developers/design-documents/sandbox

他们详细描述了他们正在做的事情.


Noo*_*ilk 5

不,那里没有.

我的意思是,您可以使用不同的Windows帐户(具有您认为合适的任何权限),但是您需要对不受信任的应用程序无法解决这个问题感到满意.但是你确实遇到了与VMWare相同的问题(它过去曾经有过让你爆发的bug).最好的办法是在虚拟机中运行.

  • 丝滑是100%正确的.我也不确定它是否*可能*构建一个"轻量级可编程沙箱API" - 我所知道的沙箱的每个现有实现都是一个非常复杂的野兽(包括AppArmor和SeLinux).恕我直言,如果你是偏执狂,虚拟机是要走的路 - 正如丝绸所说,存在虚拟机旁路问题,但使用虚拟机比不使用虚拟机更安全. (3认同)