Ne pas faire confiance à votre homologue
« Ne faites pas 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 d’une communication se comporte 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.
Savez quel aspect 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 in/out, RPC vérifie que le handle de contexte n’est pas une valeur non null non valide. Elle autorise les valeurs Null et les valeurs valides, mais de nombreux développeurs ne savent pas que les valeurs Null sont laissés à travers. C’est quelque chose à vérifier.
Même si vous approuvez généralement votre homologue, veillez à ne pas introduire de nouveaux chemins d’accès par lesquels un ordinateur ou un compte principal compromis peut attaquer d’autres ordinateurs. Imaginez qu’un utilisateur choisit son anniversaire comme mot de passe et qu’il est deviné par un attaquant. Même si les demandes de l’utilisateur sont authentifiées et que l’accès à ses données est autorisé, assurez-vous que les vulnérabilités exploitables n’existent pas, de telles 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é.