代码之家  ›  专栏  ›  技术社区  ›  John K

Windows平台是否有轻量级的可编程沙盒API?[关闭]

  •  12
  • John K  · 技术社区  · 15 年前

    为了在家里运行不受信任的代码,我使用了一个VMware虚拟机。我想找到一个用于运行不受信任的应用程序的替代轻量沙盒API,而不需要安装VMware或任何其他类型的最终用户虚拟化工具的开销。( 编辑: 我不希望它承载操作系统-我希望它运行不受信任的应用程序)。

    理想情况下,沙盒是透明的(或可以使之透明),因此沙盒中运行的应用程序不会显示任何额外的Chrome或功能。(他们不是在Mac上并行执行此操作吗)

    我的windows.net开发人员希望有一个API,所以我可以为它编写场景脚本,而不是启动一个特殊的GUI。

    这就像谷歌ChromeWeb浏览器包含了自己的技术来沙盒从互联网上运行的脚本来保护系统。Google不需要在浏览器中分发VMware,但它们可以实现应用程序的沙盒安全。

    编辑:

    寻找像Google Chrome这样的轻量级软件,它包含一些功能,比如文件/网络/用户界面访问受限、低权限等,而不需要运行/托管自己的操作系统。

    7 回复  |  直到 9 年前
        1
  •  5
  •   Noon Silk    15 年前

    不,没有。

    我的意思是,你可以使用一个不同的Windows帐户(拥有你认为合适的任何权限),但是你需要对不受信任的应用程序不能突破这一点感到舒服。但是,您在使用VMware时也遇到了同样的问题(过去它有一些让您爆发的错误)。最好是在虚拟机中运行。

        2
  •  6
  •   Otto    14 年前

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

    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/developers/design-documents/sandbox

    他们对自己正在做的事情有详细的描述。

        3
  •  4
  •   Greg Hewgill    15 年前

    你也可能对谷歌感兴趣 Native Client (也称为氯化钠)。这是一个旨在能够在沙盒中运行(可验证)x86代码的项目。

        4
  •  2
  •   Sunny Chakraborty    11 年前

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

    您可以考虑实现Windows工作站。Windows工作站基本上是包含桌面和进程的安全边界。 控制台登录只允许一个Windows工作站(Winsta0) http://msdn.microsoft.com/en-us/library/windows/desktop/ms682573(v=vs.85).aspx

    您可以基于每个站点实现、处理、Windows对象和ACL隔离。 以下列出了Windows工作站中使用的一些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

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

    我建议使用API监视器调试Win32 API调用 http://www.rohitab.com/apimonitor

    高温高压

        5
  •  1
  •   Didier A.    11 年前

    你可以使用 Invincea FreeSpace 或免费 Sandboxie . 不确定它们中的任何一个是否可以编写脚本。

    这些被称为遏制应用,即沙盒。您可以在这里阅读: https://www.fas.org/irp/congress/1997_hr/h970211gm.htm

        6
  •  0
  •   m3tikn0b    12 年前

    在我的一个“沙盒”问题中,我被指 Sandboxie . 我根本解决不了我的问题,但也许这对你来说很有趣?

    我不知道它是否有一个API,但是一个快速的谷歌表明它至少是 somehow automatable 通过命令行。

        7
  •  0
  •   J. Taylor    9 年前

    不幸的是,对于Windows主机,您的选项非常有限。但是,在Linux主机上, mbox capsicum 可以实现您所描述的功能——即轻量级的应用程序级沙盒。