Qui dit nouvelles opportunités, dit toujours nouveaux challenges. Les entreprises migrent de plus en plus leurs opérations vers le cloud, bénéficiant ainsi d'un déploiement plus rapide du code et d'une meilleure gestion des applications. Cependant, elles se retrouvent ainsi confrontées à de nouveaux problèmes de sécurité : logiciels malveillants, mauvaises configurations, vulnérabilités connues non corrigées ou encore fuites…
Ces nouveaux enjeux de sécurité concernent non seulement les équipes au sein des entreprises, mais également la communauté technologique tout entière. Alors que la protection du cloud était considérée comme un problème à traiter par les équipes de sécurité, nous assistons actuellement à un changement majeur avec des développeurs qui jouent un rôle de plus en plus essentiel dans la sécurisation des applications natives du cloud. En effet, pourquoi attendre que les contrôles de sécurité signalent les problèmes une fois le code déployé, alors qu’il est possible d’intégrer des mesures et des contrôles de sécurité rigoureux dès le départ ?
Intégrer la sécurité tout au long du cycle de développement logiciel
Le rôle du développeur n'a jamais été aussi vaste et leur charge de travail s'accroît en même temps que les exigences en matière d'expertise s’intensifient. Pourtant, contrairement à ce qu’on peut entendre, la communauté des développeurs n’est pas réfractaire à ce changement. Les développeurs sont profondément attachés à la qualité de leur code, et la sécurité en est un élément clé. En effet, la plupart des développeurs estiment que les développeurs et les équipes DevOps et DevSecOps sont les principaux responsables de la sécurité de leur environnement et de leurs applications Cloud Native. Les développeurs sont également conscients des défis qu'ils doivent relever en matière de sécurité du cloud et déclarent tous que le passage aux technologies natives du cloud a accru leurs préoccupations en matière de sécurité.
Cependant, tous les problèmes de sécurité ne représentent pas les mêmes risques. Les erreurs de configuration et les vulnérabilités connues non corrigées constituent la plus grande menace pour les entreprises. En effet, les développeurs sont confrontés à des incidents de configuration en production et des problèmes liés à des vulnérabilités connues non corrigées. Ainsi, pour assumer pleinement leur rôle dans la sécurité du cloud, les développeurs ont besoin d'un soutien plus important pour gérer les responsabilités liées à l'infrastructure.
Automatiser pour plus de sécurité
Heureusement, l'automatisation peut jouer un rôle clé. La mise en place de pipelines de déploiement entièrement automatisés est un défi en soi. Mais une fois que l'automatisation et les processus sont en place, ils créent un cycle vertueux qui fournit de multiples points d'intégration pour permettre une automatisation plus poussée et des tests de sécurité réguliers et rigoureux. Elle permet de réaliser des tests de sécurité à chaque étape du cycle de développement mais également d'augmenter la fréquence des tests afin que les vulnérabilités puissent être identifiées plus tôt. Par ailleurs, les entreprises ayant des niveaux élevés d'automatisation des déploiements sont beaucoup mieux équipées pour les tests de sécurité. De plus, elles découvrent plus rapidement les problèmes de sécurité et peuvent donc y répondre de manière plus efficace.
Choisir les bons outils pour répondre aux problématiques rencontrées
Toutefois, pour assurer une sécurité optimale du cloud, les développeurs ont besoin d'une solution pour identifier les vulnérabilités tout au long du cycle de développement, mais aussi pour déterminer l'ordre optimal dans lequel elles doivent être traitées. Les vulnérabilités comportent des risques très différents, déterminés par la gravité de la vulnérabilité, la maturité des attaques éventuelles et la perceptibilité des cyber-attaquants. Si une vulnérabilité est potentiellement grave, mais qu'elle ne représente un risque que si les attaquants parviennent à franchir plusieurs couches de sécurité, alors sa priorité doit être réduite. En revanche, si 100 vulnérabilités peuvent être corrigées par une seule mise à jour de l'image de base, elle doit figurer en tête de la liste des problèmes à résoudre par le développeur.
Il est essentiel que les outils de sécurité choisis par une entreprise soient capables de fournir ces informations aux équipes. Bien que le paysage de la sécurité évolue et que les développeurs s'approprient progressivement un nouveau rôle, il ne faut pas attendre de chaque développeur qu'il devienne instantanément un expert en sécurité. Les entreprises doivent plutôt adopter des outils de sécurité axés sur le développeur qui jouent le rôle d’experts en sécurité de confiance à disposition des développeurs. La diversification du rôle des développeurs ne consiste pas à leur imposer de nouvelles pressions, mais à leur donner les moyens de contribuer à la sécurité des applications et des infrastructures cloud.
La manière dont nous percevons les responsabilités en matière de sécurité est en train de changer, notamment afin de relever les défis toujours plus grands pour assurer la sécurité native du cloud. Les développeurs font partie intégrante de la création d'environnements cloud sécurisés et les études démontrent qu'ils en sont conscients. Cependant, en avoir conscience et agir en conséquence sont deux choses très différentes. Pour que les développeurs s'épanouissent pleinement dans leur nouveau rôle, ils doivent être soutenus par une infrastructure qui permet des tests fréquents tout au long du cycle de développement, et par des outils qui les aident à savoir quelles tâches sont prioritaires. C'est grâce à ces mesures que les développeurs peuvent renforcer leur rôle dans la garantie de la sécurité et se protéger contre les menaces inhérentes à l'adoption du cloud.
Par Guy Podjarny, Co-fondateur et CEO de Snyk