Compartir a través de


Tenga cuidado con otros puntos de conexión RPC que se ejecutan en el mismo proceso

Cuando una aplicación reside en un proceso con otros servidores RPC, todas las aplicaciones escuchan en todos los protocolos. Por lo tanto, si un componente llama solo a RpcServerUseProtseq* para LRPC, no es necesariamente accesible a través de LRPC únicamente. Puede ser accesible a través de otros protocolos, ya que otros servidores RPC del proceso pueden estar escuchando en canalizaciones o sockets (por ejemplo).

De forma similar a los controladores de contexto estrictos, no colocar otro punto de conexión en el proceso no significa que no exista otro punto de conexión. Independientemente de cómo registre el servidor, no hay ninguna asociación especial entre la interfaz y el punto de conexión; todas las interfaces se pueden llamar en todos los puntos de conexión de ese proceso. Esta es otra razón por la que el modelo de seguridad de los puntos de conexión es ineficaz; Si se coloca un descriptor de seguridad en un punto de conexión, los atacantes pueden llamar a la interfaz en otro punto de conexión.

Para asegurarse de que solo se llame a un proceso en una secuencia de protocolo específica, registre una función de devolución de llamada de seguridad y, en esa función, compruebe en qué secuencia de protocolo se realiza la llamada.