Meilleures pratiques pour les API de sécurité

Pour faciliter le développement de logiciels sécurisés, nous vous recommandons d’utiliser les meilleures pratiques suivantes lors du développement d’applications. Pour plus d’informations, consultez Security Developer Center.

Cycle de vie du développement de sécurité

Le cycle de vie de développement de la sécurité (SDL) est un processus qui aligne une série d’activités et de livrables axées sur la sécurité pour chaque phase du développement logiciel. Ces activités et ces livrables sont les suivants :

  • Développement de modèles de menaces
  • Utilisation d’outils d’analyse de code
  • Révisions du code et test de sécurité

Pour plus d’informations sur SDL, consultez le cycle de vie de développement de Microsoft Security.

Modèles de menace

La réalisation d’une analyse du modèle des menaces peut vous aider à découvrir les points d’attaque potentiels dans votre code. Pour plus d’informations sur l’analyse du modèle des menaces, consultez Howard, Michael et LeBlanc, David [ 2003 ] , Writing Secure Code, 2d ed., ISBN 0-7356-1722-8, Microsoft Press, Redmond, Washington. (Cette ressource n’est peut-être pas disponible dans certaines langues et certains pays.)

Service Packs et mises à jour de sécurité

Les environnements de génération et de test doivent refléter les mêmes niveaux de service packs et les mises à jour de sécurité de la base d’utilisateurs ciblée. Nous vous recommandons d’installer les service packs et les mises à jour de sécurité les plus récents pour toute plateforme ou application Microsoft qui fait partie de votre environnement de création et de test et encourager les utilisateurs à faire de même pour l’environnement d’application final. pour plus d’informations sur les service packs et les mises à jour de sécurité, consultez microsoft Windows Update et sécurité microsoft.

Autorisation

Vous devez créer des applications qui nécessitent le moins de privilèges possible. L’utilisation du moindre privilège possible réduit le risque de compromission du code malveillant par le système informatique. Pour plus d’informations sur l’exécution du code au moins de niveau de privilège possible, consultez exécution avec des privilèges spéciaux.

Informations complémentaires

Pour plus d’informations sur les meilleures pratiques, consultez les rubriques suivantes.

Rubrique Description
Exécution avec des privilèges spéciaux
Décrit les implications de la sécurité des privilèges.
Éviter les dépassements de mémoire tampon
Fournit des informations sur l’évitement des dépassements de mémoire tampon.
Control Flow Guard (CFG)
Décrit les vulnérabilités d’altération de la mémoire.
Création d’une liste DACL
Montre comment créer une liste de contrôle d’accès discrétionnaire (DACL) à l’aide du langage SDDL ( Security Descriptor Definition Language ).
Gestion des mots de passe
Décrit les implications en matière de sécurité lors de l’utilisation de mots de passe.
Comment optimiser votre recherche dans la bibliothèque MSDN
Décrit les options de recherche de contenu du SDK de sécurité sur MSDN Library.
Extensibilité du développeur de Access Control dynamique
Orientation de base pour certains points d’extensibilité de développeur pour les nouvelles solutions de Access Control dynamique.