Sessões nulas
Às vezes, uma chamada que chega na sessão nula pode parecer uma chamada autenticada. Especificamente, chamar o função RpcBindingInqAuthClient retorna o nível de autenticação e o provedor de segurança usados para a chamada. Esta operação não significa que a chamada não estava em uma sessão nula. As duas questões são ortogonais. No Microsoft Windows 2000, uma chamada de procedimento remoto pode tentar representar um chamador e verificar as permissões após a representação. No Microsoft Windows XP, é mais rápido chamar a funçãoRpcServerInqCallAttributes e verificar o sinalizador de NullSession.
Existe outra diferença relevante entre o Windows 2000 e o Windows XP. Se apenas o sinalizador RPC_IF_ALLOW_SECURE_ONLY for especificado, as chamadas na sessão nula passarão no Windows 2000. No Windows XP, com o aperto geral das configurações de segurança padrão, quando esse sinalizador é especificado, as chamadas na sessão nula são rejeitadas com acesso negado. No entanto, mesmo com o sinalizador RPC_IF_ALLOW_SECURE_ONLY, o RPC não garante o nível de privilégio do usuário chamador. Todas as verificações RPC é se o usuário tem credenciais válidas. É possível que o usuário chamador esteja usando a conta de convidado ou outras contas com privilégios baixos. Certifique-se de que o servidor não assume alto privilégio uma vez que RPC_IF_ALLOW_SECURE_ONLY é usado.