2011-10-10 52 views
0

是否有任何方法将访问网络共享授予低强制性级别进程(UAC)?如何授予网络共享访问低强制性级别过程?

进一步说明: 要迁移一些第三方库安全问题,我们正在考虑设置完整性模式以将进程隔离为低,但我们确实需要从指定的单个文件系统共享(UNC路径,可能在单独的计算机上)。

有谁知道有没有办法做到这一点?

谢谢

回答

4

是的这是默认情况下可用。进程的完整性仅影响本地安全而不影响远程安全。这可以通过创建记事本的低诚信版本被证明 -

  1. 复制C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE到一个位置,即 C:\测试\ lownote.exe
  2. 运行ICACLS C: \ test \ lownote.exe/setintegritylevel低
  3. 运行lownote
  4. 使用Process Explorer(http://live.sysinternals.com/procexp.exe)确认它以低完整性运行。请注意,您可以在硬盘上打开文件,但无法保存到它们, (用户配置文件的低完整性部分除外)浏览到网络, 使用UNC共享的路径 - 您可以打开/保存文件。

这就是说,当使用低完整性过程写入网络共享时,您可能会遇到访问被拒绝的消息。这个原因可以通过在运行你的应用程序http://live.sysinternals.com/ProcMon.exe的计算机上使用procmon来找到,并进行过滤以包含Result为“ACCESS DENIED”,Process Name为 - Process的名称。

究竟会不会是可用的驱动器映射...你会看到一个“拒绝访问”抛出试图读取

按照MSDN文档HKCU [盘符的位置]时:

但是,可以使用低完整性进程和更高完整性进程之间的其他类型的通信。通信类型,您可以使用的包括:

  • 剪贴板(复制和粘贴)
  • 远程过程调用(RPC)
  • 套接字
  • 窗口消息,较高的完整性的过程中,已明确 允许通过调用 ChangeWindowMessageFilter
  • 从较低完整性进程接收共享内存,其中较高的完整性 进程显式降低共享内存上的强制标签 部分(重要)这是特别危险的,并且更高完整性的过程必须小心验证写入共享部分的所有数据为 。)
  • COM接口,其中推出 激活权限由上级完整性 过程编程设置为允许从低完整性客户
  • 命名管道, 效果,创作者明确地将管道上的强制性标签允许绑定获得较低完整性处理

REF http://msdn.microsoft.com/en-us/library/bb625960.aspx