Meilleures pratiques pour la sécurité de l'automation
Les développeurs d'automation Visual Studio doivent comprendre et accepter la responsabilité liée à la création d'applications sécurisées. Pour cela, ils doivent comprendre les failles en matière de sécurité. Une application sécurisée protège la confidentialité, l'intégrité et la disponibilité des informations des clients. En outre, elle protège l'intégrité et la disponibilité des ressources allouées au traitement, que contrôle le propriétaire ou l'administrateur du système.
Dans le cadre de la présente description, une faille en matière de sécurité désigne un défaut dans un produit qui, même lorsque le produit est utilisé correctement, permet à un intrus d'effectuer les opérations suivantes :
s'approprier des privilèges sur le système de l'utilisateur ;
réguler, modifier ou rediriger son exploitation ;
compromettre ses données ;
- ou -
endosser une approbation non accordée.
Important
Ne considérez jamais que votre application s'exécutera uniquement dans quelques environnements donnés, particulièrement si celle-ci rencontre le succès. Il y a de grandes chances qu'elle soit utilisée dans une autre configuration, imprévue. À l'inverse, considérez que votre code s'exécutera dans les environnements les plus hostiles. Concevez, rédigez et testez votre code en conséquence.
Mettre au point des applications sécurisées présente des avantages. Un code conçu et construit dès le départ dans une optique de sécurité est plus fiable qu'un code auquel les exigences de sécurité viennent s'ajouter dans un second temps. De plus, les applications conçues dans une optique de sécurité résistent mieux aux critiques des médias, sont plus attirantes pour les utilisateurs, et moins chères en termes de correctifs et d'assistance.
API à risques
Certaines fonctions d'API peuvent être considérées comme plus risquées que d'autres du point de vue de la sécurité. Certaines peuvent présenter des risques inhérents à leur mode de fonctionnement. D'autres peuvent s'avérer risquées si elles ne sont ni appelées, ni gérées correctement. Tout le problème tient dans ce que vous devez bien connaître les pièges et les bizarreries des différentes fonctions d'API que vous appelez ; et si celles-ci induisent un risque pour la sécurité, vous devez vous assurer qu'elles sont utilisées correctement.
Par ailleurs, ne considérez pas que, parce que votre code utilise uniquement des fonctions d'API considérées comme "sûres", votre application est, elle aussi, automatiquement sûre et sécurisée. Négliger certaines pratiques de programmation peut exposer votre application à des risques équivalents, voire supérieurs, à ceux liés à l'utilisation de fonctions soi-disant "dangereuses". Ces pratiques sont notamment les suivantes :
une gestion correcte des exceptions ;
l'utilisation de chemins codés en dur ;
l'utilisation de chaînes de connexion codées en dur ;
ou
la vérification des informations d'identification et des autorisations appropriées de l'utilisateur.
Pour protéger vos applications, vous devez disposer d'une connaissance approfondie des questions liées à la sécurité du code en faisant des recherches sur le sujet. L'ouvrage Microsoft Press « Writing Secure Code » et le site Web Security Coding Guidelines, accessible à l'adresse https://msdn2.microsoft.com/en-us/library/d55zzx87.aspx (en anglais), constituent de bonnes ressources.
Autre point important à comprendre : nombre de problèmes de sécurité proviennent d'applications qui approuvent sans vérifier les entrées de données. Il est essentiel que vos applications examinent et évaluent avec soin les données telles qu'elles sont reçues, afin de vérifier que celles-ci sont correctement construites et dignes de confiance, avant de les utiliser.
Fonctionnalités de sécurité de l'automation
Outre les recommandations suivantes, l'automation Visual Studio propose des moyens simples et spécifiques de sécuriser votre système contre toute exploitation de la sécurité de l'automation. Toutefois, souvenez-vous qu'elles ne constituent pas la panacée pour tous les problèmes de sécurité. Elles constituent plutôt un bon point de départ. Pour plus d'informations, consultez Sécurité des compléments.
Faites des recherches et respectez scrupuleusement les indications relatives à la sécurité .NET avant de générer vos applications d'automation.
Voir aussi
Concepts
Ressources de création des applications sécurisées