Null Sessions
Parfois, un appel arrivant sur la session Null peut apparaître comme un appel authentifié. Plus précisément, l’appel de la fonction RpcBindingInqAuthClient retourne le niveau d’authentification et le fournisseur de sécurité utilisé pour l’appel. Cette opération ne signifie pas que l’appel n’était pas sur une session Null. Les deux problèmes sont orthogonaux. Sur Microsoft Windows 2000, un appel de procédure distante peut tenter d’emprunter l’identité d’un appelant et vérifier les autorisations après l’emprunt d’identité. Sur Microsoft Windows XP, il est plus rapide d’appeler la fonction RpcServerInqCallAttributes et de vérifier l’indicateur NullSession.
Une autre différence pertinente existe entre Windows 2000 et Windows XP. Si seul l’indicateur RPC_IF_ALLOW_SECURE_ONLY est spécifié, les appels sur la session Null passent dans Windows 2000. Dans Windows XP, avec le renforcement général des paramètres de sécurité par défaut, lorsque cet indicateur est spécifié, les appels sur la session Null sont rejetés avec accès refusé. Toutefois, même avec l’indicateur de RPC_IF_ALLOW_SECURE_ONLY, RPC ne garantit pas le niveau de privilège de l’utilisateur appelant. Toutes les vérifications RPC sont que l’utilisateur a des informations d’identification valides. Il est possible que l’utilisateur appelant utilise le compte invité ou d’autres comptes à privilèges faibles. Assurez-vous que le serveur ne suppose pas de privilège élevé une fois que RPC_IF_ALLOW_SECURE_ONLY est utilisé.