安全风险:当允许低IL进程启动高架服务时?

时间:2010-05-09 06:47:38

标签: windows security com uac

当允许低完整性流程通过COM启动中/高完整性流程时是否存在安全风险?

1 个答案:

答案 0 :(得分:2)

嗯,根据this documentation

  

CoCreateInstance和Integrity Levels

     

CoCreateInstance的行为在Windows Vista中已更改,以防止低IL客户端默认绑定到COM服务器。服务器必须通过指定SACL明确允许此类绑定。 CoCreateInstance的更改如下:

     
      
  1. 启动COM服务器进程时,服务器进程令牌中的IL设置为客户端或服务器令牌IL,以较低者为准。
  2.   
  3. 默认情况下,COM将阻止低IL客户端绑定到任何COM服务器的运行实例。要允许绑定,COM服务器的启动/激活安全描述符必须包含指定低IL标签的SACL(有关创建此类安全描述符的示例代码,请参阅上一节)。
  4.   

因此,在启动COM服务器的新实例时,它也将以低完整性运行。 可以附加到现有的高完整性服务,但必须在SACL中明确启用。我想这是一个潜在的安全风险,因为如果COM服务器中存在缓冲区溢出(例如),漏洞利用代码最终会以高完整性运行。这就是Microsoft让您明确启用此功能的原因,而且很可能只是为了帮助实现向后兼容性。