Présentation du développement et du fonctionnement de la sécurité dans Microsoft 365

Effectué

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 Microsoft 365 doivent respecter les exigences de SDL et nous mettons continuellement à jour le SDL afin de refléter les évolutions de la menace, les meilleures pratiques et les normes de réglementation applicables à la conformité.

Phases du SDL de Microsoft

Microsoft 365 a conçu les pratiques SDL dans le modèle établi pour s’assurer que la sécurité et la confidentialité resteront au cœur de nos produits et services. Pour protéger les clients et les données de Microsoft 365, 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 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 imaginé en termes de cinq phases de développement. Il commence par définir les exigences logicielles en gardant à l’esprit la sécurité. Pour ce faire, vous posez des questions relatives à la sécurité sur ce que l’application doit effectuer. L’application doit-elle collecter des données sensibles ? L’application peut-elle effectuer des tâches sensibles ou importantes ? L’application doit-elle accepter les entrées provenant de sources non fiables ? Une fois les impératifs de sécurité pertinents identifiés, nous concevons nos logiciels de façon à intégrer des fonctionnalités de sécurité répondant à ces exigences. Nos développeurs implémentent les exigences de SDL et de conception dans le code, que nous vérifions via la révision manuelle du code, l’automatisation automatisée des outils de sécurité et le test de pénétration. Enfin, avant que le code ne puisse être publié, celui-ci est soumis à la sécurité finale et la révision de confidentialité pour s’assurer que toutes les conditions requises sont réunies.

Processus de SDL débutant avec la formation, les exigences, la conception, l’implémentation, la vérification, la publication et la réponse

Les modifications apportées, qu’il s’agisse de mises à jour logicielles nouvelles ou mises à jour, sont effectuées conformément à ce processus SDL. Une fois qu’une version est approuvée pour la publication, nos systèmes la composent progressivement, à commencer par les environnements de test internes et suivis d’un déploiement pour utilisation interne de Microsoft. Suite à la publication interne, les modifications sont transmises aux environnements de production de manière échelonnée, ce qui limite l’exposition en cas de problème. À chaque stade de la publication, nous surveillons activement les services pour les anomalies potentielles avant de passer à l’étape suivante. La surveillance des versions inclut des scénarios de test automatisés pour confirmer l’application des modifications sans impact sur les fonctionnalités existantes. En suspendant et en écoutant entre chaque étape de publication, nous pouvons rapidement détecter et restaurer les modifications qui provoquent des problèmes imprévisibles sans impact sur la disponibilité des services Microsoft 365.

Outre les cinq principales phases de développement, SDL inclut les activités de sécurité avant la mise au point du code et après sa publication. Le personnel Microsoft qui développe nos produits et services est tenu d’effectuer une formation axée sur la sécurité afin de cultiver une mentalité défensive. Après la publication, de nouveaux services de production sont ajoutés pour la surveillance de la sécurité.

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.

Si vous souhaitez en savoir plus