警惕在同一进程中运行的其他 RPC 终结点
当应用程序与其他 RPC 服务器一起驻留在进程中时,所有应用程序都侦听所有协议。 因此,如果组件仅为 LRPC 调用 RpcServerUseProtseq*,则不一定只能通过 LRPC 访问它。 它可以通过其他协议进行访问,因为进程中的其他 RPC 服务器可能侦听管道或套接字 (例如) 。
与严格的上下文句柄类似,不将另一个终结点放入进程并不意味着另一个终结点不存在。 无论注册服务器的方式如何,接口和终结点之间都没有特殊的关联;所有接口都可以在该进程中的所有终结点上调用。 这是终结点安全模型无效的另一个原因:如果在终结点上放置了安全描述符,则攻击者可以在另一终结点上调用该接口。
若要确保仅针对特定协议序列调用进程,请注册安全回调函数,并在该函数中检查调用的协议序列。