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

理想情况下,沙箱应该是(或可以做成)透明的,这样沙箱中运行的应用程序就不会显示任何额外的镶边或功能。(他们在 Mac 上的 Parallels 中不这样做吗)

我的 Windows .NET 开发人员希望有一个 API,这样我就可以为它编写脚本,而不是启动一个特殊的 GUI。

这就像 Google Chrome 网络浏览器如何包含自己的技术来沙箱从互联网运行的脚本来保护系统一样。Google 不需要将 VMWare 与其浏览器一起分发,但他们为应用程序实现了沙箱安全。

编辑:

寻找像 Google Chrome 这样的轻量级产品,其功能包括文件/网络/UI 访问受到极大限制、权限较低等。不寻找运行/托管自己的操作系统。

有帮助吗?

解决方案

没有,没有

我的意思是,你可以使用不同的Windows帐户(与任何权限,您认为合适的),但随后你需要舒适的非信任应用程序无法摆脱这一点。但你必须与VMWare的是同样的问题(它已在,让你摆脱过去的错误)。做最好的办法是在虚拟机中运行。

其他提示

谷歌的Chrome使用4级窗口的机制来实现这一点:

A restricted token
The Windows job object
The Windows desktop object
Windows Vista only: The integrity levels

看一看: https://sites.google.com/a/chromium .ORG的/ dev /开发者/设计的文档/沙箱

他们有他们在做什么的详细说明。

您还可能有兴趣在谷歌的 Native Client的(也称为氯化钠)。这是一个项目,目的是能够运行在沙箱中(可验证)x86代码。

我还没有实现这个..但是我的 $.02。

您可以考虑实施 Windows 站。Windows站基本上是一个安全边界,可以容纳台式机,并且仅允许一个Windows站用于控制台登录(WINSTA0)http://msdn.microsoft.com/en-us/library/windows/desktop/ms682573(v=vs.85).aspx

您可以在每个站的基础上实现、处理、Windows 对象和 ACL 隔离。这里列出了 Windows Station 中使用的一些 API 函数:http://msdn.microsoft.com/en-us/library/windows/desktop/ms687107(v=vs.85).aspx

会话、桌面和 Windows 工作站概述。http://blogs.technet.com/b/askperf/archive/2007/07/24/sessions-desktops-and-windows-stations.aspx

这里有一个 CodeProject 示例及其源代码:http://www.codeproject.com/Articles/21352/Virtual-Desktop-A-Simple-Desktop-Management-Tool

我建议使用 API Monitor 来调试 Win32 API 调用http://www.rohitab.com/apimonitor

您可以使用 因文西亚自由空间 或免费的 沙盒. 。不确定它们是否可以编写脚本。

这些称为遏制应用程序,即沙箱。你可以在这里读到它: https://www.fas.org/irp/congress/1997_hr/h970211gm.htm

在我的“沙盒”问题中,有人指出 沙盒。我根本没有解决我的问题,但也许这对你来说很有趣?

我不知道它是否有 API,但快速谷歌表明它至少是 以某种方式自动化 通过命令行。

不幸的是,对于 Windows 主机,您的选择非常有限。但是,在 Linux 主机上,诸如 信箱辣椒 可以执行您所描述的操作 - 即轻量级的应用程序级沙箱。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top