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. |