Les entreprises commencent à intégrer les premières étapes d’une méthode DevSecOps. Mais l'adoption croissante des conteneurs, l’intérêt pour une architecture serverless et l'automatisation accrue des activités de développement et d'exploitation créent de nouvelles problematiques en matière de sécurité.
La livraison continue des logiciels et la sécurité en continu sont dorénavant dans le même bateau. L’expansion des applications a entrainé une réduction des temps de développement et déploiement. D’où l’adoption depuis uen dizaine d’années du mode DevOps.
Mais ce n’est que récemment que les entreprises ont compris les enjeux (et les obligations) de la sécurité. D’où l’adoption de la méthode DevSecOps afin d’intégrer la sécurité dès le début du projet et ainsi promouvoir l’approche de Security by design (afin d’etre notamment en conformité avec le RGPD).
En n’intégrant plus la sécurité uniquement aux dernières étapes du cycle de développement (SDLC), les entreprises sont confrontées à de nouveaux challenges.
Les organisations DevSecOps doivent se concentrer non seulement sur l'automatisation des tests, mais aussi sur l'automatisation de l'application de la politique de sécurité, de la remédiation et de la réponse.
Des problèmes de sécurité difficiles et complexes apparaitront avec l'automatisation. Cela s'étendra de l'application précoce avant le déploiement, à la sécurité continue de l'infrastructure, à l'automatisation de la réponse aux incidents au moment de l'exécution.
Mais l’automatisation devrait permettre de relever plus « facilement » trois défis :
1La sécurité des API
Selon Akamai, environ 83 % du trafic web actuel est désormais du trafic API. Le recours aux architectures de micro-services permet de développer, de réparer et d’améliorer les applications petit à petit sans tout casser.
Cette méthode a permis d'accélérer la livraison et la résilience des logiciels. Mais elle créé également de nouveaux problèmes de sécurité. Le déploiement rapide de nouveaux microservices a considérablement élargi les surfaces d'attaque des logiciels.
Par ailleurs, les itérations agiles et rapides de centaines, voire de milliers d'API au sein d'une même entreprise sont autant de défis pour l'équipe de sécurité. Comment contrôler précisément ces API et appliquer les politiques de sécurité avec séreinité et efficacité ?
Les équipes de sécurité devront faire appel à l'automatisation pour mieux maîtriser la sécurité des API. Elle leur permettra de repérer plus rapidement des vulnérabilités dans le code ou la configuration.
2La conformité et la sécurité des conteneurs
Selon Sid Phadkar, responsable produit senior chez Akamai, de nombreuses entreprises vont intégrer des politiques de sécurité directement dans le code afin d’etre en conformité avec différentes reglementations dont le RGPD.
"Les outils DevOps vont évoluer pour automatiser davantage de tâches liées à la conformité au sein des équipes d'infosecurity, intégrant ainsi des mesures de sécurité et de conformité dans les flux de travail quotidiens", explique Sid Phadkar.
Cette automatisation ne se limitera pas à la mise en conformité. « Elle facilitera aussi la sécurité et l'orchestration des conteneurs », explique Glen Kosaka. Selon le vice-président produit chez NeuVector (une entreprise spécialisée dans la sécurité du cycle de vie des conteneurs), les équipes DevSecOps devraient chercher à définir des politiques de sécurité pour " tous les déploiements de charges de travail " via des fichiers YAML (un format de fichier texte pour la sérialisation des données, très utilisé dans la communauté Ruby).
Au final, cette année, comme pour les précédentes, l'objectif est de faire en sorte que les développeurs travaillent à l'élaboration de logiciels plus sécurisés. L'automatisation contribue à relever cet objectif.
La sécurité était considérée comme un add-on ! Mais tout le monde en convient aujourd’hui : résoudre les problèmes de sécurité quand un produit est à mi-chemin releve du casse-tete.
La sécurité doit faire partie du flux de travail quotidien de chaque développeur et être intégrée dans le pipeline logiciel.