6

我有一个问题,我似乎找不到答案,但我确信它就在那里。有没有办法可以禁用新创建的进程的注册表和文件访问?我正在使用作业对象(http://msdn.microsoft.com/en-us/library/windows/desktop/ms682409(v=vs.85).aspx),它说要为每个新的作业流程设置权限,在我读过的几本书中,可以控制注册表和文件访问等内容。

在寻找我的答案时,我看到我需要为诸如 SE_BACKUP_NAME 之类的东西(或任何它被称为的东西)添加 LUID,但这些特权常量似乎都没有反映我想要的控制类型。所以我的确切问题是:我将如何为作业中新创建的进程禁用注册表/文件写入访问权限?

我正在尝试创建一个沙盒应用程序,顺便说一句。这样我就可以防止它在运行时对注册表进行任何更改或写入任何文件。

任何帮助,将不胜感激!

4

2 回答 2

4

Windows 在进程启动期间会访问许多资源,因此如果您成功禁用对文件系统和注册表的访问,该进程将不会启动。

理想情况下,您希望在进程初始化完成后限制访问,但 Windows 没有针对任意进程执行此操作的机制。Chrome浏览器中的沙盒依赖于沙盒进程的配合。

Chrome 沙盒的文档很好地概述了 Windows 中可用的各种安全机制,并解释了它们在 Chrome 中的使用方式。如果您尝试对自己的代码进行沙箱化,这是一个很好的解决方案。

于 2012-06-17T09:47:39.233 回答
0

我不认为您可以完全禁用访问,因为许多子系统都依赖它(COM、shell、一些 DLL 初始化、调试等)另一种方法是允许访问,但可以使用有限的沙箱,可以通过完整性来完成系统。将其设置为低完整性将阻止大多数写访问,并由保护模式 IE 使用。

于 2012-06-19T08:37:09.410 回答