gpt4 book ai didi

c# - 以编程方式限制外部进程资源

转载 作者:行者123 更新时间:2023-11-28 06:00:44 24 4
gpt4 key购买 nike

我正在开发一个 .NET 应用程序,它有一个第 3 方插件。这些插件以 EXE 文件的形式提供,可与应用程序 API 和数据一起使用。

出于安全考虑,当它们通过我的应用程序启动时,我希望能够将它们“沙盒化”。特别是,最重要的是能够限制对文件系统的驱动器或目录的访问。

有没有办法通过 AppDomain 做到这一点? ?或者以任何其他方式?

还有一些外部插件可能不是用托管代码编写的,因为我的软件将 API 公开给 COM,但可以放弃非 .NET 插件支持。对我们来说更重要的是对这些插件进行沙盒处理。

感谢任何解决此问题的方法。

最佳答案

鉴于您需要为并非(必然)完全基于 .NET 的进程执行此操作,AppDomain 可能不足以完成该任务。

我会考虑在 Windows 中运行处理 Job Object .这让您可以设置一个沙盒,限制进程对 CPU 和内存等资源的使用。

对文件系统的访问已经基于用户帐户使用自由访问控制列表 (DACL s) 进行了处理。要限制对文件系统的几个特定部分的访问,请设置一个帐户以用于运行沙盒作业,并为允许他们使用的文件系统部分设置允许访问的 ACE。如果您需要支持多个用户运行沙盒作业,您可能需要为沙盒作业设置一个用户组,并将 ACE 与该组而不是单个用户相关联。

关于c# - 以编程方式限制外部进程资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33330827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com