Présentation du développement et de l’exploitation de la sécurité microsoft Online Services
Le cycle de développement de la sécurité de Microsoft (SDL) est un processus d’assurance en matière de sécurité axé sur le développement et le fonctionnement des logiciels sécurisés. SDL fournit des exigences de sécurité détaillées et mesurables pour les développeurs et ingénieurs de Microsoft afin de réduire le nombre et la gravité des vulnérabilités dans nos produits et services. Tous les services en ligne Microsoft doivent respecter les exigences SDL, et nous mettons continuellement à jour le SDL pour refléter l’évolution du paysage des menaces, les meilleures pratiques du secteur et les normes réglementaires en matière de conformité.
Phases du SDL de Microsoft
Microsoft a intégré les pratiques SDL dans le modèle DevOps pour garantir que la sécurité et la confidentialité restent au cœur de nos produits et services. Pour protéger les clients et les données Microsoft Online Services, tout le développement chez Microsoft a lieu dans des environnements de développement complètement séparés des environnements de production sans aucun accès aux locataires des clients. En plus, l'accès aux environnements de production est limité aux ingénieurs qui exploitent les services, et ces environnements sont séparés du réseau d'entreprise de Microsoft.
Le processus SDL chez Microsoft peut être considéré en cinq phases de développement :
- Exigences : les exigences de sécurité, de confidentialité et fonctionnelles sont définies, servant de base sur laquelle le service est conçu.
- Conception : l’architecture du service est conçue pour répondre aux exigences définies, et des modèles de menace sont créés pour aider à identifier, classer et évaluer les menaces potentielles.
- Implémentation : le code est écrit selon les spécifications de conception définies à l’aide d’outils de développement sécurisés approuvés.
- Vérification : le code de service est révisé automatiquement et manuellement pour s’assurer qu’il répond aux exigences définies et qu’il est exempt d’erreurs de codage et de failles de sécurité.
- Version : la build approuvée est progressivement déployée à l’aide d’un processus de déploiement sécurisé, en commençant par les environnements de test internes et en terminant par l’étendue de production complète.
Outre les cinq phases de développement principales décrites ci-dessus, il existe deux activités de sécurité associées qui prennent en charge sdl. Le personnel Microsoft qui développe nos produits et services est tenu de suivre une formation axée sur la sécurité pour comprendre sdl et cultiver un état d’esprit défensif. Après leur publication, les nouveaux services de production sont surveillés via les processus de surveillance de la sécurité et de gestion des vulnérabilités de Microsoft pour garantir que leur posture de sécurité est maintenue et que Microsoft peut répondre aux menaces potentielles tout au long de son cycle de vie.
Dans les unités qui suivent, nous allons découvrir comment Microsoft met en place les conditions requises par SDL en procédant comme suit :
- Requiert une formation pour la sensibilisation à la sécurité et les pratiques de développement sécurisé.
- Définir les exigences de sécurité et de confidentialité, mettre à jour les modèles de menace et nécessiter la révision manuelle du code.
- Exécution automatique des outils SDL pour détecter les problèmes de sécurité dans le code dans le cadre du processus de génération.
- Application et test des exigences de sécurité opérationnelle afin de maintenir les pratiques recommandées en matière de sécurité.
- Exécution de critiques en matière de sécurité et de confidentialité avant la publication.
- Utiliser le CG (Component Governance) pour gérer les logiciels open source.