Comprendre DevSecOps

Effectué

L’adoption du cloud continue d’accélérer à mesure que les organisations cherchent à prendre en charge la productivité de l’entreprise, à activer le travail à distance et à mettre à l’échelle les opérations efficacement. Toutefois, cette adoption rapide sans infrastructure de sécurité adéquate peut compromettre par inadvertance les données et exposer les organisations à des risques importants.

L’écart de sécurité dans les applications cloud

Les lacunes de sécurité persistent même à mesure que l’adoption du cloud augmente. Les organisations qui passent aux plateformes cloud n’implémentent pas toujours les contrôles de sécurité appropriés :

Lacunes de chiffrement : De nombreuses applications cloud ne parviennent pas à protéger correctement les données :

  • Données au repos : Les bases de données non chiffrées, les comptes de stockage et les systèmes de fichiers conservent les données vulnérables lorsque le support de stockage est accessible, volé ou supprimé de manière incorrecte.
  • Données en transit : Les applications qui transmettent des données sur des connexions non chiffrées exposent des informations à l’interception. Même le trafic réseau interne doit être chiffré.
  • Lacunes courantes : Les pourcentages significatifs d’applications SaaS ne chiffrent pas correctement les données. Les applications de stockage manquent souvent de chiffrement au repos et en transit. Les applications de collaboration transmettent fréquemment des informations sensibles sans protection appropriée.

Lacunes en matière de protection de session : La gestion des sessions faibles crée des vulnérabilités :

  • En-têtes de sécurité HTTP manquants : Les applications qui n’implémentent pas d’en-têtes de sécurité tels que HSTS (HTTP Strict Transport Security), CSP (Stratégie de sécurité du contenu) et les attributs de cookies sécurisés laissent les sessions vulnérables au détournement.
  • Exposition des jetons : Les jetons de session transmis de manière non sécurisée peuvent être interceptés et réutilisés par des attaquants pour emprunter l’identité des utilisateurs légitimes.
  • Adoption limitée : Très peu d’applications SaaS implémentent une protection complète des sessions d’en-tête HTTP, ce qui laisse les utilisateurs vulnérables aux attaques basées sur des sessions.

Qu’est-ce que DevOps sécurisé (DevSecOps)

Tension entre la vitesse et la sécurité : DevOps met l’accent sur le travail plus rapide grâce à l’automatisation, à l’intégration continue et au déploiement rapide. La sécurité met traditionnellement l’accent sur la rigueur, l’examen minutieux et les tests complets. Ces objectifs peuvent sembler contradictoires.

Problèmes d’approche de sécurité traditionnels : Lorsque les problèmes de sécurité ne sont résolus qu’à la fin du cycle de développement, plusieurs problèmes se produisent :

  • Le travail non planifié apparaît juste avant le déploiement lorsque les équipes sont sous pression pour libérer.
  • Les problèmes de sécurité détectés en retard nécessitent une remaniement coûteuse des fonctionnalités terminées.
  • La sécurité devient un goulot d’étranglement qui ralentit ou bloque les mises en production.
  • Les équipes considèrent la sécurité comme un obstacle plutôt qu'un facilitateur.
  • Les vulnérabilités de sécurité critiques peuvent être déprioritisées en raison de pressions de libération.

Solution DevOps sécurisée : Secure DevOps intègre la sécurité aux pratiques DevOps dans un ensemble cohérent d’activités conçues pour atteindre les objectifs de la rapidité devOps et de l’efficacité de la sécurité. La sécurité fait partie du processus de développement du début plutôt qu’une porte à la fin.

Diagramme venn montrant le cercle DevOps et le cercle sécurité qui se chevauchent, avec l’intersection intitulée Secure DevOps représentant des pratiques de sécurité intégrées.

Avantages de l’intégration : Un pipeline DevOps sécurisé permet aux équipes de développement de travailler rapidement sans interrompre leur projet en introduisant des vulnérabilités de sécurité indésirables. La sécurité et la vélocité deviennent complémentaires plutôt que d’opposer des objectifs.

Remarque

DevOps sécurisé est également parfois appelé DevSecOps. Vous pouvez rencontrer les deux termes, mais chacun fait référence au même concept. La différence de terminologie est purement stylistique. Les pratiques et principes restent identiques.

Comment se produisent les modifications de sécurité dans Secure DevOps

Méthodologies de sécurité traditionnelles : Historiquement, la sécurité fonctionnait sur des cycles plus lents et se concentrait principalement sur :

  • Contrôle d’accès: Gestion de l’accès aux systèmes et aux données par le biais de mécanismes d’authentification et d’autorisation.
  • Renforcement de l’environnement : Configuration des systèmes pour supprimer les services inutiles, appliquer des correctifs de sécurité et appliquer des configurations sécurisées.
  • Protection de périmètre : À l’aide de pare-feu, de systèmes de détection d’intrusion et de segmentation du réseau pour protéger la limite réseau.

Étendue de sécurité étendue : Secure DevOps inclut ces méthodologies de sécurité traditionnelles, mais étend les préoccupations de sécurité tout au long du cycle de vie du développement logiciel. Avec Secure DevOps, la sécurité consiste à sécuriser le pipeline lui-même et tout ce qui transite par celui-ci.

Focus de sécurité du pipeline : Secure DevOps implique de déterminer où ajouter une protection aux éléments qui se connectent à vos pipelines de build et de mise en production :

  • Référentiels de code source.
  • Générer des serveurs et des agents.
  • Stockage et registres d’artefacts.
  • Outils et processus de déploiement.
  • Infrastructure en tant que modèles de code.
  • Systèmes de gestion de la configuration.
  • Solutions de gestion des secrets.

Approche complète : Secure DevOps vous montre comment et où ajouter de la sécurité à vos pratiques d’automatisation, environnements de production et autres éléments de pipeline tout en conservant les avantages de la vitesse de DevOps. Les contrôles de sécurité sont automatisés et intégrés plutôt que manuels et distincts.

Questions clés sur les adresses DevOps sécurisées

Secure DevOps aide les organisations à répondre aux questions de sécurité critiques :

Sécurité des composants tiers :

  • Mon pipeline consomme-t-il des composants tiers et sont-ils sécurisés ?
  • Ces composants proviennent-ils de sources approuvées ?
  • Les signatures de composant sont-elles vérifiées ?
  • Les licences sont-elles compatibles avec notre utilisation ?

Gestion des vulnérabilités :

  • Existe-t-il des vulnérabilités connues dans l’un des logiciels tiers que nous utilisons ?
  • Comment suivre les divulgations de vulnérabilité pour nos dépendances ?
  • Quel est notre processus de mise à jour des composants vulnérables ?
  • Avons-nous un inventaire de toutes les dépendances, y compris les dépendances transitives ?

Vitesse de détection (heure à détecter) :

  • À quelle vitesse puis-je détecter les vulnérabilités ?
  • Les analyses de sécurité sont-elles automatisées dans le pipeline ?
  • Avons-nous une surveillance du runtime pour les problèmes de sécurité ?
  • À quelle vitesse les alertes de sécurité atteignent-elles les bonnes personnes ?

Vitesse de correction (délai de correction) :

  • Combien de temps puis-je corriger les vulnérabilités identifiées ?
  • Pouvons-nous déployer des correctifs via le même pipeline automatisé ?
  • Quel est notre processus pour les correctifs de sécurité d’urgence ?
  • Comment vérifier que la correction est efficace ?

Sécurité en tant que code

Pratiques de sécurité automatisées : Les pratiques de sécurité pour détecter les anomalies de sécurité potentielles doivent être aussi robustes et rapides que d’autres parties de votre pipeline DevOps. Cela inclut les éléments suivants :

Automatisation de la sécurité de l’infrastructure :

  • Analyse automatisée de la sécurité de l’infrastructure en tant que modèles de code.
  • Application de stratégie sous forme de code pour les configurations de ressources cloud.
  • Vérification de conformité avant le déploiement de l’infrastructure.
  • Surveillance continue de la posture de sécurité de l’infrastructure.

Automatisation de la sécurité des applications :

  • Test de sécurité des applications statiques (SAST) pendant les builds.
  • Test de sécurité des applications dynamiques (DAST) dans les environnements intermédiaires.
  • Analyse de la composition logicielle pour les vulnérabilités des dépendances.
  • Analyse des images conteneur avant le déploiement.
  • Runtime application self-protection (RASP) en production.

Sécurité continue : La sécurité dans Secure DevOps n’est pas un point de contrôle unique. Il s’agit d’une validation continue tout au long du développement, du déploiement et de l’opération. Chaque étape du pipeline inclut les contrôles de sécurité appropriés qui s’exécutent automatiquement sans ralentir la livraison.