Ne faites pas confiance à votre homologue
« Ne pas faire confiance à votre homologue » est une règle de sécurité de base, mais elle est souvent ignorée. Ne supposez pas que l’autre partie dans une communication se comportera correctement, et ne supposez pas que votre homologue transmettra les données attendues. MIDL et RPC effectuent certaines vérifications en votre nom, mais pas toutes les vérifications.
Sachez quels aspects des paramètres sont vérifiés par MIDL ou RPC, et quels aspects vous devez vérifier vous-même. Par exemple, pour les handles de contexte d’entrée/sortie, RPC vérifie que le handle de contexte n’est pas une valeur non null non valide. Il autorise les valeurs null et les valeurs valides, mais de nombreux développeurs ne savent pas que les valeurs null sont autorisées. C’est quelque chose pour lequel case activée.
Même si vous faites généralement confiance à votre homologue, veillez à ne pas introduire de nouveaux chemins d’accès par lesquels un ordinateur compromis ou un compte principal peut attaquer d’autres machines. Imaginez qu’un utilisateur choisit son anniversaire comme mot de passe et qu’il soit deviné par un attaquant. Même une fois que les demandes de l’utilisateur sont authentifiées et que l’accès à ses données est autorisé, assurez-vous qu’il n’existe pas de vulnérabilités exploitables, telles que des dépassements de pile qui peuvent permettre à un attaquant de prendre le contrôle de votre serveur et d’étendre la violation de sécurité.