De Microsoft Application Verifier, qui détecte les erreurs communes des développeurs. Une de ces erreurs est l'utilisation de NTLM:
NTLM est un protocole d'authentification obsolète avec des failles qui compromettent potentiellement la sécurité des applications et du système d'exploitation. La lacune la plus importante est le manque d'authentification du serveur, ce qui pourrait permettre à un attaquant de tromper les utilisateurs en les connectant à un serveur contrefait. En corollaire du manque d'authentification du serveur, les applications utilisant NTLM peuvent également être vulnérables à un type d'attaque appelé attaque de "réflexion". Cette dernière permet à un attaquant de détourner la conversation d'authentification d'un utilisateur vers un serveur légitime et de s'en servir pour s'authentifier sur l'ordinateur de l'utilisateur. Les vulnérabilités de NTLM et les moyens de les exploiter sont la cible d'une activité de recherche croissante au sein de la communauté de sécurité.
Malgré le fait que Kerberos soit disponible depuis de nombreuses années, de nombreuses applications sont encore écrites pour n'utiliser que NTLM. Cela réduit inutilement la sécurité des applications. Cependant, Kerberos ne peut pas remplacer NTLM dans tous les scénarios, principalement ceux où un client doit s'authentifier sur des systèmes qui ne sont pas joints à un domaine (un réseau domestique étant peut-être le plus courant). Le package de sécurité "Negotiate" permet un compromis rétrocompatible qui utilise Kerberos chaque fois que possible et ne recourt à NTLM que s'il n'y a pas d'autre option. Modifier le code pour utiliser "Negotiate" au lieu de NTLM augmentera considérablement la sécurité pour nos clients tout en introduisant peu ou pas de compatibilités d'application. "Negotiate" en lui-même n'est pas une solution miracle - il existe des cas où un attaquant peut forcer un rétrogradage vers NTLM, mais ils sont nettement plus difficiles à exploiter. Cependant, une amélioration immédiate est que les applications écrites pour utiliser "Negotiate" correctement sont automatiquement immunisées contre les attaques de réflexion NTLM.
Pour conclure sur une mise en garde contre l'utilisation de NTLM : dans les futures versions de Windows, il sera possible de désactiver l'utilisation de NTLM au niveau du système d'exploitation. Si des applications ont une dépendance stricte à NTLM, elles échoueront simplement à s'authentifier lorsque NTLM est désactivé.