Meilleures pratiques pour les API de sécurité
Pour aider à développer des logiciels sécurisés, nous recommandons d’utiliser les bonnes pratiques suivantes lors du développement d’applications. Pour plus d’informations, veuillez consulter la section Centre de développement de la sécurité.
Cycle de vie du développement de la sécurité
Le Cycle de vie du développement de la sécurité (SDL) est un processus qui aligne une série d’activités et de livrables axés sur la sécurité à chaque phase du développement logiciel. Ces activités et livrables incluent :
- Développer des modèles de menace
- Utiliser des outils d’analyse de code
- Effectuer des revues de code et des tests de sécurité
Pour plus d’informations sur le SDL, veuillez consulter la section Cycle de vie du développement de la sécurité Microsoft.
Modèles de menace
Effectuer une analyse des modèles de menace peut vous aider à découvrir des points potentiels d’attaque dans votre code. Pour plus d’informations sur l’analyse des modèles de menace, voir Howard, Michael et LeBlanc, David [2003], Writing Secure Code, 2e éd., ISBN 0-7356-1722-8, Microsoft Press, Redmond, Washington. (Il est possible que cette ressource ne soit pas disponible dans certaines langues et dans certains pays).
Packs de service et mises à jour de sécurité
Les environnements de build et de test doivent refléter les mêmes niveaux de packs de service et de mises à jour de sécurité que la base d’utilisateurs ciblée. Nous recommandons d’installer les derniers packs de service et mises à jour de sécurité pour toute plateforme ou application Microsoft faisant partie de votre environnement de build et de test et d’encourager vos utilisateurs à faire de même pour l’environnement de l’application finale. Pour plus d’informations sur les packs de service et les mises à jour de sécurité, veuillez consulter la section Microsoft Windows Update et Microsoft Security.
Autorisation
Vous devez créer des applications nécessitant le moins de privilèges possible. Utiliser le moins de privilèges possible réduit le risque de compromission de votre système informatique par du code malveillant. Pour plus d’informations sur l’exécution de code avec le niveau de privilège le plus bas possible, veuillez consulter la section Exécution avec des privilèges spéciaux.
Informations supplémentaires
Pour plus d’informations sur les bonnes pratiques, veuillez consulter les rubriques suivantes.
Sujet | Description |
---|---|
Exécution avec des privilèges spéciaux |
Traite les implications de sécurité des privilèges. |
Éviter les dépassements de tampon |
Fournit des informations sur la manière d’éviter les dépassements de tampon. |
Control Flow Guard (CFG) |
Traite les vulnérabilités de corruption de mémoire. |
Création d'un adaptateur DACL |
Montre comment créer une liste de contrôle d’accès discrétionnaire (DACL) en utilisant le Security Descriptor Definition Language (SDDL). |
Gestion des mots de passe |
Traite les implications de sécurité de l’utilisation des mots de passe. |
Extensibilité pour les développeurs du contrôle d’accès dynamique |
Orientation de base sur certains des points d’extensibilité pour les développeurs des nouvelles solutions de contrôle d’accès dynamique. |