当允许低完整性流程通过COM启动中/高完整性流程时是否存在安全风险?
答案 0 :(得分:2)
CoCreateInstance和Integrity Levels
CoCreateInstance的行为在Windows Vista中已更改,以防止低IL客户端默认绑定到COM服务器。服务器必须通过指定SACL明确允许此类绑定。 CoCreateInstance的更改如下:
- 启动COM服务器进程时,服务器进程令牌中的IL设置为客户端或服务器令牌IL,以较低者为准。
- 默认情况下,COM将阻止低IL客户端绑定到任何COM服务器的运行实例。要允许绑定,COM服务器的启动/激活安全描述符必须包含指定低IL标签的SACL(有关创建此类安全描述符的示例代码,请参阅上一节)。
醇>
因此,在启动COM服务器的新实例时,它也将以低完整性运行。 可以附加到现有的高完整性服务,但必须在SACL中明确启用。我想这是一个潜在的安全风险,因为如果COM服务器中存在缓冲区溢出(例如),漏洞利用代码最终会以高完整性运行。这就是Microsoft让您明确启用此功能的原因,而且很可能只是为了帮助实现向后兼容性。