La plupart des équipes de sécurité sont confrontées à un défi commun et permanent : sécuriser les applications conteneurisées pendant leur exécution. C'est pendant cette phase que vos conteneurs sont les plus vulnérables aux attaques telles que les élévations de privilèges et les exploits zero-day. En effet, une étude récente a révélé que 85 % des organisations utilisant des conteneurs ont été victimes d'incidents de cybersécurité en 2023, 32 % de ces incidents survenant pendant l'exécution.
Que se passe-t-il donc en cas d'une seule négligence ? Vous subissez des violations importantes, des perturbations opérationnelles et des temps d'arrêt, un résultat que vous ne souhaitez certainement pas pour votre organisation. Dans cet article, nous vous fournissons des informations exploitables, des menaces et des stratégies éprouvées pour améliorer la sécurité d'exécution des conteneurs.
Qu'est-ce que la sécurité d'exécution des conteneurs ?
La sécurité d'exécution des conteneurs désigne la pratique consistant à protéger les conteneurs lorsqu'ils sont activement utilisés dans un environnement de production. Elle implique une surveillance en temps réel et la détection des menaces afin d'identifier et d'atténuer les vulnérabilités pouvant survenir pendant l'exécution. Elle permet de prévenir les activités malveillantes, les accès non autorisés et les erreurs de configuration des systèmes en surveillant en permanence le comportement des conteneurs et en appliquant des politiques de sécurité appropriées.
Importance de la sécurité d'exécution des conteneurs
Les conteneurs sont particulièrement vulnérables lorsqu'ils sont en cours d'exécution. Contrairement à l'analyse statique ou aux vérifications préalables au déploiement, la sécurité d'exécution traite les menaces en temps réel qui peuvent exploiter les faiblesses lors de l'exécution des conteneurs. La protection de l'exécution des conteneurs garantit l'intégrité de vos applications, prend en charge et maintient la conformité, et sécurise les données sensibles.
Les coûts cachés liés à l'absence de sécurisation de l'exécution de vos conteneurs
La sécurité d'exécution des conteneurs n'est pas une option, c'est une condition sine qua non – indispensable pour votre organisation. Ne pas comprendre son importance peut vous coûter cher. Nous en avons répertorié quelques-uns pour vous :
- Violations de données: la plupart des conteneurs contiennent des informations sensibles et confidentielles, provenant généralement de vos clients. Tout laxisme dans la préservation de l'intégrité de ces données peut être considéré comme un abus de confiance et nuire considérablement à votre réputation. Vous perdez ainsi vos données et votre crédibilité, et vous risquez de devoir faire face à plusieurs procès coûteux.
- Temps d'arrêt opérationnel : le succès de votre organisation repose sur son fonctionnement, qui doit être aussi fluide qu'une machine bien huilée. Une faille de sécurité vient perturber vos plans, obligeant l'ensemble de votre activité à faire une pause indésirable et coûteuse. Un seul incident de sécurité peut nuire à votre productivité et à votre rentabilité.
- Perte de propriété intellectuelle : Vos conteneurs contiennent également des données internes précieuses telles que des algorithmes propriétaires, des secrets commerciaux et des codes uniques. Si des pirates accèdent à ces données, vous pourriez être contraint d'interrompre complètement certains produits et services. Dans le pire des cas, vos concurrents pourraient mettre la main sur votre propriété intellectuelle vous risquez de perdre votre avantage concurrentiel sur le marché et votre clientèle.
- Augmentation des primes d'assurance : Saviez-vous que les entreprises assurent leur cybersécurité ? Elles le font principalement pour deux raisons : comme investissement et pour couvrir les dépenses occasionnées par les failles de sécurité. Cependant, en cas d'incident de sécurité, vous devrez vous acquitter d'une prime plus élevée. En fonction de la gravité de la violation et de la manière dont vous gérez la remédiation, vous pouvez vous voir refuser toute couverture.
- Coûts de remédiation élevés : réparer le conteneur après la violation est un autre gouffre financier (noir) – et vous devez également détourner une bonne partie de vos ressources pour que tout fonctionne à nouveau. Afin de réparer les dommages, vous devez corriger les vulnérabilités, mettre à jour les configurations et récupérer les systèmes compromis. Mais ce n'est pas tout. Vous devez également travailler avec diligence pour rétablir la confiance de vos clients. Vous pouvez y parvenir en réévaluant vos protocoles de sécurité et en les améliorant. Et toutes ces mesures correctives ont un coût.
- Problèmes de conformité : les services financiers et de santé doivent faire face à des dépenses supplémentaires, à savoir les amendes qui leur sont infligées pour avoir compromis les informations sensibles de leurs clients et pour non-conformité. De plus, ils font l'objet d'une surveillance accrue de la part des organismes de réglementation.
Comment fonctionne la sécurité d'exécution des conteneurs ?
La sécurité d'exécution des conteneurs fonctionne en boucle perpétuelle, supervisant et analysant le comportement des conteneurs tout au long de l'exécution. Elle comporte plusieurs éléments clés :
- Détection des menaces en temps réel : l'une des fonctionnalités fondamentales, mais extrêmement importantes, de la sécurité d'exécution est la détection des menaces dès qu'elles se produisent. Elle utilise des outils de sécurité avancés pour surveiller de près les activités des conteneurs. Elle recherche également les comportements suspects tels que les appels système non autorisés, les connexions réseau inhabituelles ou les tentatives d'élévation de privilèges. Si un conteneur tente d'accéder à un fichier qui ne lui est pas accessible ou de se connecter à une adresse IP externe, le système le signale immédiatement. En alertant les équipes de sécurité dès que possible, il est possible de mieux limiter les dégâts.
- Application des politiques: La sécurité d'exécution des conteneurs ne se limite pas à la surveillance d'un conteneur ; elle aide également à définir ce qu'un conteneur peut faire grâce à un ensemble de règles et de politiques. Ces limites prédéfinies régulent l'accès d'un conteneur aux ressources, aux réseaux, aux bases de données, etc. Elle supervise également les communications entre les conteneurs et les empêche de s'écarter des règles établies.
- Réponse aux incidents : dès que la sécurité d'exécution détecte une menace dans le conteneur, elle prend immédiatement des mesures telles que l'isolation du conteneur concerné et l'alerte des équipes de sécurité. Elle enregistre également les informations relatives à l'incident à des fins d'analyse forensic et d'améliorations futures. Il est important de noter ici qu'une intervention humaine est nécessaire pour atténuer la menace.
- Surveillance continue: Comme la sécurité d'exécution surveille les conteneurs en permanence, elle contribue à maintenir l'hygiène du processus et à obtenir des informations en temps réel sur l'état de santé du conteneur.
Guide du marché du CNAPP
Obtenez des informations clés sur l'état du marché CNAPP dans ce Gartner Market Guide for Cloud-Native Application Protection Platforms.
Lire le guide5 menaces critiques pour la sécurité d'exécution des conteneurs que toutes les entreprises doivent connaître
Voici cinq menaces critiques pour la sécurité des conteneurs en phase d'exécution que toutes les entreprises doivent connaître :
N° 1 : dérive de configuration
Saviez-vous que la violation de la console Kubernetes de Tesla en 2018 était due à une dérive de configuration ? Sa console Kubernetes était exposée sans protection par mot de passe, ce qui a permis à des pirates de miner des cryptomonnaies. Ces dérives de configuration se produisent lorsqu'il existe un écart par rapport à l'état attendu en raison de modifications non détectées ou non autorisées. À long terme, cela entraîne de nouveaux risques, une sécurité compromise et des failles susceptibles d'être exploitées par des pirates informatiques.
#2 Exécution de code malveillant
Les conteneurs sont à leur état le plus vulnérable pendant leur exécution, et les pirates attendent cette occasion pour injecter discrètement des scripts ou des applications malveillants. Hilton Hotels a fait l'expérience directe de cette menace en 2020, lorsque des pirates ont exploité leur conteneur Docker pour accéder aux données des clients. Pour aggraver les choses, ils ont ensuite déclenché une attaque par ransomware.
#3 Malware dans les images de conteneurs
Les images de conteneurs sont les blocs fondamentaux sur lesquels un conteneur est construit. Cependant, si ces images proviennent de sources non vérifiées, il y a de fortes chances qu'elles soient truffées de logiciels malveillants. Connaissez-vous l'incident lié aux logiciels malveillants sur Docker Hub en 2019 ? Des centaines d'images malveillantes contenant des mineurs de cryptomonnaie ont été hébergées sur Docker. Depuis cette découverte, Docker a renforcé sa sécurité afin d'éviter de telles violations.
#4 Attaques par élévation de privilèges
Dans un conteneur, les utilisateurs disposent des autorisations nécessaires pour accéder aux informations. Mais imaginez qu'un pirate informatique ou un hacker obtienne ces privilèges. Il pourrait alors utiliser les ressources d'une organisation, y installer des logiciels malveillants et perturber ses activités. Personne dans le monde de la cybersécurité ne peut oublier la vulnérabilité CVE-2019-5736, grâce à laquelle des attaquants ont obtenu un accès root à l'hôte. Ils ont exploité cette faille pour écraser le binaire de l'hôte.
#5 Exploits du noyau
Les machines hôtes et les conteneurs partagent souvent le même noyau, ce qui les rend tous deux vulnérables aux exploits du noyau. Tout récemment, une vulnérabilité critique du noyau Linux. Les pirates ont pu accéder à des fichiers sur des conteneurs montés en lecture seule et les écraser. Pour éviter ce genre d'incidents, vous devez régulièrement mettre à jour et corriger le noyau, tout en mettant en œuvre des outils de sécurité d'exécution Docker.
Comment détecter et corriger les risques d'exécution dans votre environnement ?
La meilleure façon de maintenir la sécurité de vos applications est de détecter et de corriger les risques d'exécution dans un environnement conteneurisé. Cependant, cela nécessite une approche systématique. Voici donc un guide étape par étape pour vous aider à détecter et à résoudre efficacement ces risques.
Détection des risques d'exécution
- Surveillance continue en temps réel : la première étape pour optimiser la sécurité d'exécution des conteneurs consiste à se procurer des outils capables de surveiller les activités d'exécution en temps réel. Ces outils peuvent surveiller les flux d'événements, suivre les changements dans l'utilisation des ressources et identifier les anomalies dans les opérations des conteneurs.
Conseil de pro : N'oubliez pas de configurer les outils pour qu'ils vous envoient une alerte dès qu'ils détectent une élévation de privilèges ou des appels système non autorisés. Ces alertes vous permettent d'accélérer la neutralisation des menaces.
- Analyse comportementale : l'étape suivante consiste à définir une base de référence pour ce que vous considérez comme une activité normale des conteneurs. Une fois que le système a appris le comportement habituel des conteneurs (consommation de ressources, mise en réseau, activité, etc.), il peut identifier les écarts. L'analyse comportementale est probablement l'outil le plus utile lorsqu'il s'agit de menaces sophistiquées (attaques internes).
Conseil de pro : Les méthodes standard basées sur les signatures ne sont pas toujours efficaces pour identifier les menaces avancées et subtiles.
- Analyse instantanée: l'analyse instantanée consiste à prendre un instantané des différentes étapes de l'exécution du conteneur. Elle permet de détecter des faiblesses telles que des erreurs de configuration ou des composants logiciels obsolètes, qui n'ont pas été identifiées lors du déploiement initial.
Conseil de pro : Si vos conteneurs sont constamment mis à jour avec de nouvelles bibliothèques ou dépendances, l'analyse par instantanés est une étape indispensable dans votre routine de sécurité du runtime des conteneurs.
- Surveillance des appels système : les processus des conteneurs envoient souvent des requêtes au noyau du système hôte. Ces " appels système " aident le conteneur à interagir avec le système d'exploitation pour accéder aux fichiers ou gérer la mémoire. Votre prochaine étape consiste à mettre en place un système capable de surveiller régulièrement ces appels et de filtrer ceux qui semblent suspects.
Conseil de pro : Veillez à configurer des filtres pour les appels setuid ou setgid qui peuvent potentiellement modifier l'ID utilisateur ou groupe.
- Systèmes de détection d'intrusion (IDS) : La dernière étape dans la détection des risques d'exécution consiste à déployer des solutions IDS spécifiques aux conteneurs afin de surveiller le trafic réseau, l'intégrité des fichiers et les activités des processus au sein des conteneurs afin de détecter les intrusions potentielles.
Conseil de pro : Vous pouvez configurer l'IDS pour détecter les accès non autorisés, les tentatives d'exfiltration de données ou les communications suspectes entre les conteneurs.
Correction des risques d'exécution
Une fois que vous avez détecté les risques d'exécution, il est temps de réagir à ces menaces et de minimiser leur impact sur vos opérations. Voyons quelques-unes des façons dont la remédiation peut être gérée :
- Réponse automatisée aux incidents : Dès qu'une menace est détectée, automatisez la réponse afin de minimiser les dommages. Cela implique d'isoler ou de fermer les conteneurs compromis, ou de revenir à des versions précédentes. Ainsi, si le conteneur est compromis, le système peut automatiquement revenir à une image de sauvegarde ou déclencher une mise à jour vers une version sécurisée du conteneur.
- Gestion de la configuration: nous savons qu'une configuration non gérée peut entraîner une dérive. Vous pouvez éviter cela en révisant et en mettant à jour régulièrement les configurations. Cela garantit que les conteneurs ne fonctionnent pas avec des privilèges excessifs, un accès réseau inutile ou des volumes de stockage mal configurés.
- Contrôles d'accès : Mettez en place des contrôles d'accès stricts à l'aide ducontrôle d'accès basé sur les rôles (RBAC). Vous pouvez définir des rôles clairs pour les utilisateurs et les processus, avec des autorisations précises limitant ce qu'ils peuvent faire dans l'environnement conteneurisé. En limitant l'accès aux composants critiques, vous réduisez le risque qu'un attaquant prenne le contrôle de ressources sensibles si un conteneur est compromis.
- Intégration avec des solutions de sécurité: assurez-vous que vos outils de sécurité d'exécution s'intègrent de manière transparente aux autres solutions de sécurité de votre pile technologique. Associez les outils de sécurité des conteneurs aux systèmes SIEM (Security Information and Event Management) ou votre plateforme de sécurité cloud afin de corréler les alertes, d'identifier les modèles d'attaque plus larges et de maintenir une visibilité de bout en bout de votre infrastructure.
- Analyse continue des vulnérabilités : effectuez régulièrement des analyses d'exécution des conteneurs pour détecter les vulnérabilités connues et les logiciels malveillants pendant l'exécution. Utilisez des outils qui analysent automatiquement les conteneurs à la recherche de CVE (Common Vulnerabilities and Exposures) connus, en signalant les composants obsolètes ou vulnérables.
Meilleures pratiques pour la sécurité d'exécution des conteneurs
La sécurité d'exécution des conteneurs est essentielle pour maintenir l'intégrité et la confidentialité des applications conteneurisées. Vous pouvez renforcer la sécurité en appliquant les meilleures pratiques suivantes :
#1 Utilisez des images de base minimales
Des images plus petites signifient des surfaces d'attaque plus petites ; les acteurs malveillants ne s'en préoccupent généralement pas. Leur petite taille signifie également qu'elles ne contiennent que les composants essentiels, ce qui les rend plus faciles à gérer et réduit ainsi les points d'entrée potentiels pour les attaquants.
#2 Effectuez régulièrement des mises à jour et des correctifs
Comme tout autre logiciel, les conteneurs doivent également être régulièrement mis à jour avec les derniers correctifs afin de corriger les vulnérabilités. L'attaque attaque Heartbleed s'est produite parce qu'une image Docker contenait une version obsolète d'OpenSSL. Intégrez un scan régulier des vulnérabilités dans votre pipeline CI/CD afin d'identifier et de résoudre rapidement les problèmes.
#3 Mettre en œuvre le principe du moindre privilège
Les pirates recherchent toujours des points d'entrée via les privilèges disponibles. Au lieu d'autoriser vos conteneurs à s'exécuter avec des privilèges root, configurez-les avec des autorisations de niveau inférieur afin d'éviter facilement tout risque de sécurité.
#4 Tirez parti des modules de sécurité
Pour renforcer la sécurité, choisissez des modules de sécurité tels que Seccomp et AppArmor qui peuvent restreindre les appels système que les conteneurs sont autorisés à effectuer. Ces modules verrouillent essentiellement les interactions du noyau et bloquent les appels système non autorisés, empêchant ainsi les conteneurs de s'échapper. Ils peuvent également appliquer des politiques de sécurité plus strictes, garantissant que les conteneurs fonctionnent dans le cadre de paramètres définis et ne peuvent pas effectuer d'actions non autorisées.
#5 Activez SELinux
Security-enhanced Linux (SELinux) est un mécanisme de sécurité fiable qui applique des contrôles d'accès obligatoires (MAC) aux processus des conteneurs. Avec SELinux, vous pouvez contrôler et empêcher un conteneur compromis d'accéder aux ressources sensibles (fichiers de configuration, bibliothèques système) de l'hôte.
#6 Isoler les conteneurs
Utilisez des politiques réseau, des pare-feu et d'autres techniques d'isolation pour séparer les conteneurs les uns des autres. Cette isolation limite le potentiel de mouvement latéral au sein de votre environnement et réduit le risque de propagation des compromissions entre les conteneurs.
#7 Surveiller et consigner l'activité
Mettez en œuvre des outils qui offrent une visibilité sur les activités d'exécution des conteneurs, telles que l'exécution des processus, les communications réseau et les appels système. En enregistrant et en analysant ces données, vous pouvez identifier les comportements suspects et réagir aux menaces avant qu'elles ne s'aggravent.
#8 Utilisez des registres fiables
L'utilisation d'images provenant de sources fiables réduit le risque d'introduction de code malveillant dans votre environnement. De plus, assurez-vous que les images sont signées et que leur intégrité est vérifiée avant leur déploiement afin d'éviter toute altération.
#9 Limitez l'utilisation des ressources
La définition de limites de ressources pour les conteneurs est une stratégie clé pour prévenir les attaques par déni de service (DoS) et garantir une allocation équitable des ressources. En plafonnant l'utilisation du processeur, de la mémoire et du stockage, vous pouvez empêcher un conteneur unique de surcharger le système hôte et de perturber d'autres applications.
#10 Réalisez régulièrement des audits de sécurité
Les audits de sécurité et les tests de pénétration réguliers doivent couvrir tous les aspects de la sécurité des conteneurs, de la création d'images et la gestion de la configuration à la protection des conteneurs en cours d'exécution.
SentinelOne : sécurité complète des conteneurs en cours d'exécution
La singularité de SentinelOne Cloud Workload Security (CWS) offre une protection complète pour les charges de travail conteneurisées, en mettant l'accent sur la sécurité en temps réel pendant la phase d'exécution. La plateforme garantit la protection de vos conteneurs contre plusieurs menaces grâce aux fonctionnalités suivantes :
- Détection des menaces en temps réel grâce à l'IA : CWS de SentinelOne offre une plateforme de protection des charges de travail cloud en temps réel (CWPP) qui protège les environnements conteneurisés contre les menaces avancées telles que les ransomwares et les exploits zero-day.
- Réponse et récupération autonomes : Les capacités de réponse rapide de SentinelOne garantissent que lorsque des menaces sont détectées, elles sont automatiquement neutralisées afin de minimiser les temps d'arrêt et d'assurer une disponibilité continue. Sa visualisation automatisée des attaques Storyline™ correspond au MITRE ATT&CK TTP et simplifie également la collecte d'artefacts médico-légaux à grande échelle.
- Visibilité et analyse forensique complètes : grâce à l'intégration avec le lac de données Singularity, SentinelOne offre un historique forensique détaillé et une télémétrie de la charge de travail afin que les équipes de sécurité puissent enquêter de manière approfondie sur les incidents. Le Workload Flight Data Recorder™ capture et enregistre toutes les données pertinentes pour une visibilité complète.
- Large prise en charge des plateformes et évolutivité : SentinelOne prend en charge 14 distributions Linux majeures, plusieurs environnements d'exécution de conteneurs (Docker, conteneurs, cri-o) et les services Kubernetes gérés et autogérés des principaux fournisseurs de cloud tels qu'Amazon Web Services (AWS), Microsoft Azure et Google Cloud. Il s'intègre également à Snyk et combine un moteur offensif sans agent CNAPP avec un moteur offensif unique.
- Architecture eBPF pour la stabilité et les performances : L'utilisation de l'architecture eBPF (Extended Berkeley Packet Filter) améliore la stabilité et les performances de la plateforme. Cette conception évite les dépendances du noyau, ce qui se traduit par une faible charge CPU et mémoire.
- Intégration avec les outils DevSecOps : SentinelOne s'intègre aux outils DeSecOps pour une expérience fluide et une surveillance continue de la sécurité tout au long du cycle de vie du développement.
Voir SentinelOne en action
Découvrez comment la sécurité du cloud alimentée par l'IA peut protéger votre organisation lors d'une démonstration individuelle avec un expert produit de SentinelOne.
Obtenir une démonstrationFAQs
La sécurité d'exécution des conteneurs consiste à protéger les conteneurs lorsqu'ils sont en cours d'exécution. Elle vise principalement à détecter et à atténuer les menaces telles que les accès non autorisés, les logiciels malveillants et les vulnérabilités pendant la phase d'exécution du conteneur.
La sécurité d'exécution des conteneurs relève généralement de la responsabilité des équipes DevOps et de sécurité au sein d'une organisation. Elles veillent à ce que des politiques de sécurité, des mesures de surveillance et des mesures d'intervention soient mises en place pour protéger les conteneurs en cours d'exécution.
L'un des meilleurs outils disponibles pour la sécurité des conteneurs est SentinelOne. Il offre des fonctionnalités telles que la détection des menaces en temps réel, l'application des politiques et la réponse automatisée aux incidents, garantissant ainsi une sécurité complète pour vos conteneurs.
Un runtime de conteneur désigne le logiciel qui gère le cycle de vie des conteneurs, depuis leur création, leur démarrage et leur arrêt jusqu'à leur suppression.
Il existe plusieurs pratiques qui vous aident à gérer la sécurité des conteneurs, telles que l'analyse régulière des vulnérabilités, la mise en œuvre du principe du moindre privilège et la surveillance des activités d'exécution. Vous devez également utiliser d'autres outils de sécurité pour une protection continue.

