samedi, 20 avril 2024

Pourquoi les développeurs détiennent la clé de la sécurité du cloud

À l’époque du centre de données sur site et de l’adoption précoce du cloud, les rôles des développeurs d’applications, des opérations d’infrastructure et de la sécurité étaient largement cloisonnés. Dans le cloud, cette division du travail augmente le délai de mise sur le marché de l’innovation, réduit la productivité et invite à des risques inutiles.

Dans un environnement de centre de données, les développeurs créent des applications logicielles, les équipes informatiques créent l’infrastructure nécessaire pour exécuter ces applications, et les équipes de sécurité sont chargées de garantir la sécurité des applications et de l’infrastructure. Les développeurs doivent créer des logiciels dans les limites de l’infrastructure et des systèmes d’exploitation sous-jacents, et les processus de sécurité dictent la vitesse à laquelle chacun peut aller. Lorsque la sécurité découvre une vulnérabilité dans la production, le processus de remédiation implique généralement toutes les parties prenantes et un remaniement considérable.

En libérant les équipes des contraintes physiques du centre de données, le cloud apporte le plus grand changement dans l’industrie informatique depuis des décennies. Mais il a fallu des années aux entreprises pour commencer à libérer le véritable potentiel du cloud en tant que plate-forme de création et d’exécution d’applications, au lieu de l’utiliser comme plate-forme d’hébergement d’applications tierces ou migrées depuis le centre de données. Lorsque le cloud est utilisé simplement comme un « centre de données distant », la division classique du travail est conservée et une grande partie du potentiel du cloud n’est pas exploité.

Mais le passage à l’utilisation du cloud comme plate-forme de création et d’exécution d’applications perturbe profondément la sécurité. Du point de vue du client cloud, des plateformes comme Amazon Web Services (AWS), Microsoft Azure et Google Cloud est 100 % logiciel, et les développeurs programment désormais la création et la gestion de leur infrastructure cloud comme partie intégrante de leurs applications. Cela signifie que les développeurs conçoivent leur architecture cloud et définissent des configurations critiques pour la sécurité, puis les modifient constamment.

Une opportunité pour les organisations

Ce changement représente une énorme opportunité pour les organisations opérant dans des secteurs hautement concurrentiels, car les équipes d’applications et de cloud peuvent innover beaucoup plus rapidement qu’elles ne le pourraient dans un centre de données. Mais cela représente un sérieux défi pour les équipes qui doivent assurer la sécurité d’environnements cloud de plus en plus complexes et hautement dynamiques.

Le seul moyen efficace d’aborder la sécurité du cloud aujourd’hui consiste à doter les développeurs qui créent et opèrent dans le cloud d’outils qui les aident à procéder en toute sécurité. Ne pas le faire fait de la sécurité le facteur limitant la vitesse à laquelle les équipes peuvent aller dans le cloud et la réussite de la transformation numérique.

Afin de comprendre ce que signifie responsabiliser les développeurs sur la sécurité du cloud, nous devons définir ce que nous entendons par développeur. Il s’agit d’un large parapluie qui couvre plusieurs rôles différents, notamment :

  • Développeurs d’applications qui créent dans le cloud et tirent parti des services cloud natifs en tant que composants intégrés de l’application. Dans ce modèle, la frontière entre l’application et l’infrastructure est arbitraire et s’estompe, voire disparaît complètement.
  • Les ingénieurs cloud (c’est-à-dire les devops) qui utilisent l’infrastructure en tant que code (IaC) pour programmer la configuration, le déploiement et la gestion des environnements d’infrastructure cloud et fournir cette infrastructure aux développeurs d’applications.
  • Les ingénieurs en sécurité cloud qui utilisent la politique en tant que code (PaC) pour exprimer les politiques de sécurité et de conformité dans un langage que d’autres applications peuvent utiliser pour valider automatiquement la sécurité et vendre ces bibliothèques PaC aux équipes de toute l’organisation.

Quelles que soient leurs descriptions de poste, les développeurs contrôlent l’infrastructure de cloud computing elle-même, car le cloud est entièrement défini par logiciel. Lorsqu’ils créent des applications dans le cloud, ils créent également l’infrastructure des applications à l’aide d’IaC, et les développeurs sont propriétaires de ce processus.

Politique de sécurité et de conformité sous forme de code

Cela signifie que le rôle de l’équipe de sécurité a évolué pour devenir celui de l’expert du domaine qui transmet des connaissances et des règles aux développeurs pour s’assurer qu’ils travaillent dans un environnement sécurisé. Plutôt que d’exprimer ces règles dans un langage humain pour que les autres puissent les comprendre et les interpréter, ils utilisent PaC, qui vérifie les autres codes et environnements d’exécution pour détecter les conditions indésirables. PaC permet à toutes les parties prenantes du cloud d’opérer en toute sécurité sans ambiguïté ni désaccord sur les règles et sur la manière de les appliquer aux deux extrémités du cycle de vie du développement logiciel (SDLC).

Les organisations qui maîtrisent la sécurité du cloud défendent l’adoption du modèle DevSecOps et permettent aux développeurs d’assurer la sécurité des applications après le déploiement. IDC prédit un nombre croissant de développeurs (plus de 43 millions d’ici 2025) se retrouveront entièrement responsables des performances et de la sécurité continues de leur code une fois qu’il sera en cours d’exécution.

Depuis un certain temps, les applications impliquent un SDLC qui comprend des phases de création, de test, de déploiement et de surveillance. Le mouvement de « décalage vers la gauche » sur la sécurité des applications a généré un retour sur investissement important en termes de vitesse, de productivité et de sécurité, car il est plus facile, plus rapide et plus sûr de résoudre les problèmes plus tôt dans le cycle de vie. Avec l’adoption d’IaC, l’infrastructure cloud dispose désormais de son propre SDLC, ce qui signifie que la sécurité du cloud peut et doit également être abordée dans les phases de pré-déploiement.

La principale préoccupation en matière de sécurité cloud est la mauvaise configuration, mais il est important de reconnaître qu’une mauvaise configuration est tout élément de votre environnement cloud qui s’avère inefficace pour arrêter un pirate informatique. Nous sommes plus familiers avec les erreurs de configuration des ressources uniques qui sont souvent mises en évidence dans la couverture médiatique des violations du cloud, comme laisser un port dangereux ouvert ou permettre l’accès public à un service de stockage d’objets. Mais les erreurs de configuration impliquent également une mauvaise configuration de l’ensemble de l’environnement : les vulnérabilités architecturales qui donnent aux attaquants le pouvoir de découvrir, de déplacer et d’extraire des données.

Chaque violation majeure du cloud implique l’exploitation de ces défauts de conception dans les environnements cloud, ou la compromission du plan de contrôle. Le plan de contrôle est la surface API qui configure et exploite le cloud. Par exemple, vous pouvez utiliser le plan de contrôle pour créer un conteneur, modifier un itinéraire réseau et accéder aux données dans les bases de données ou aux instantanés de bases de données. (Accéder aux instantanés est plus populaire parmi les pirates que de pénétrer dans les bases de données de production en direct.) En d’autres termes, le plan de contrôle d’API est la collection d’API utilisées pour configurer et exploiter le cloud.

Les API pilotent le cloud computing. Ils éliminent le besoin d’une architecture informatique fixe dans un centre de données centralisé. Les API signifient également que les attaquants n’ont pas à respecter les limites arbitraires que les entreprises érigent autour des systèmes et des magasins de données dans leurs centres de données sur site. Bien que l’identification et la résolution des erreurs de configuration soient une priorité, il est essentiel de comprendre que les erreurs de configuration ne sont qu’un moyen parmi d’autres d’atteindre la fin ultime pour les attaquants : la compromission du plan de contrôle. Cela a joué un rôle central dans toutes les violations majeures du cloud à ce jour.

Permettre aux développeurs de sécuriser le cloud

Il est essentiel de permettre aux développeurs de détecter et de corriger les erreurs de configuration du cloud lors du développement d’IaC, mais il est tout aussi important de leur donner les outils dont ils ont besoin pour concevoir une architecture cloud qui est intrinsèquement sécurisée contre les attaques actuelles par compromission du plan de contrôle.

Toute organisation peut suivre cinq étapes pour donner aux développeurs les moyens d’opérer en toute sécurité dans le cloud :

  1. Comprendre votre environnement cloud et votre SDLC. Les équipes de sécurité doivent intégrer les ingénieurs aux équipes d’applications et de développement pour comprendre tout ce qui est en cours d’exécution, comment il est configuré, comment il est développé et déployé, et les changements lorsqu’ils se produisent. Vous devez savoir quelles applications sont associées aux ressources cloud, ainsi que toutes les données et comment elles sont utilisées. Pensez comme un pirate informatique pour identifier les risques de compromission du plan de contrôle.
  2. Donnez la priorité à la conception sécurisée et évitez les erreurs de configuration. Une fois qu’une attaque par compromission du plan de contrôle est en cours, il est généralement trop tard pour l’arrêter. Une sécurité cloud efficace nécessite de prévenir les conditions qui rendent ces attaques possibles. Intégrez la sécurité dans l’ensemble du SDLC cloud pour détecter les erreurs de configuration avant qu’elles ne soient déployées, et concentrez-vous sur la conception d’architectures d’environnement intrinsèquement sécurisées.
  3. Fournissez aux développeurs des outils qui les guident en matière de sécurité. Les développeurs évoluent rapidement, et tous les outils de sécurité doivent fonctionner comme ils fonctionnent si nous prévoyons une adoption sans impact sur la vitesse. Les outils de sécurité cloud doivent fournir aux développeurs des informations utiles et exploitables sur les problèmes de sécurité et sur la manière de les résoudre rapidement afin qu’ils puissent poursuivre leur travail.
  4. Adoptez la politique en tant que code pour la sécurité du cloud. PaC aide les équipes de sécurité à intensifier leurs efforts avec les ressources dont elles disposent en permettant à toutes les parties prenantes du cloud d’opérer en toute sécurité sans aucune ambiguïté ou désaccord sur les règles et comment elles doivent être appliquées. Il permet d’aligner toutes les équipes sous une source unique de vérité pour la politique, élimine les erreurs humaines dans l’interprétation et l’application de la politique, et permet l’automatisation de la sécurité (évaluation, application, etc.) à chaque étape du SDLC.
  5. Concentrez-vous sur la mesure et l’amélioration des processus. La sécurité du cloud concerne moins la détection des intrusions et la surveillance des réseaux pour les activités malveillantes que l’amélioration des processus de sécurité du cloud pour empêcher les exploits de se produire. Les équipes cloud performantes évaluent en permanence le risque de leur environnement ainsi que la productivité des développeurs et des équipes de sécurité, qui devrait s’améliorer à mesure que les tâches manuelles sujettes aux erreurs sont automatisées.

Les développeurs sont les mieux placés (et souvent les seuls) pour sécuriser leur code avant le déploiement, maintenir son intégrité sécurisée pendant l’exécution et mieux comprendre les endroits spécifiques pour fournir des correctifs dans le code. Mais ce sont aussi des êtres humains sujets aux erreurs qui opèrent dans un monde d’expérimentations et d’échecs constants. L’automatisation basée sur PaC élimine le risque d’erreur humaine en automatisant le processus de recherche et de détection constantes des erreurs avant qu’elles ne soient déployées.

Les entreprises qui adoptent une approche axée sur les développeurs en matière de sécurité dans le cloud innoveront plus rapidement et de manière plus sécurisée que leurs concurrents.

Josh Stella est vice-président et architecte en chef chez Snyk< /em> et une autorité technique sur la sécurité du cloud. Josh apporte 25 ans d’expertise en informatique et en sécurité en tant que PDG fondateur de Fugue< /em>, architecte de solutions principal chez Amazon Web Services et conseiller auprès de la communauté du renseignement américain. La mission personnelle de Josh est d’aider les organisations à comprendre comment la configuration du cloud est la nouvelle surface d’attaque et comment les entreprises doivent passer d’une posture défensive à une posture préventive pour sécuriser leur infrastructure cloud. Il a écrit le premier livre sur l’infrastructure immuable (publié par O’Reilly), détient de nombreux brevets sur les technologies de sécurité cloud et anime une série de masterclasses éducatives sur la sécurité dans le cloud. Connectez-vous avec Josh sur LinkedIn.

New Tech Forum offre un lieu d’exploration et de discussion des technologies d’entreprise émergentes avec une profondeur et une ampleur sans précédent. La sélection est subjective, basée sur notre sélection des technologies que nous pensons importantes et les plus intéressantes pour les lecteurs d’InfoWorld. InfoWorld n’accepte pas les supports marketing pour publication et se réserve le droit de modifier tout le contenu contribué. Envoyez toutes les demandes à newtechforum@infoworld.com.

.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici