Présentation de Container Threat Detection

Cette page offre une présentation générale des concepts et fonctionnalités de Container Threat Detection.

Qu'est-ce que Container Threat Detection ?

Container Threat Detection est un service intégré de Security Command Center qui surveille en permanence l'état des images de nœud Container-Optimized OS. Le service évalue presque en temps réel toutes les modifications et toutes les tentatives d'accès à distance pour détecter les attaques visant l'environnement d'exécution.

Container Threat Detection détecte les attaques les plus courantes visant l'environnement d'exécution des conteneurs, et vous alerte dans Security Command Center et, éventuellement, dans Cloud Logging. Container Threat Detection inclut plusieurs fonctionnalités de détection, y compris les bibliothèques et les binaires suspects, et utilise le traitement du langage naturel (NLP) pour détecter le code Bash et Python malveillant.

Container Threat Detection n'est disponible qu'avec les niveaux Premium ou Enterprise de Security Command Center.

Fonctionnement de Container Threat Detection

L'instrumentation de détection Container Threat Detection collecte le comportement de bas niveau dans le noyau invité et les scripts exécutés. Voici le chemin d'exécution lorsque des événements sont détectés :

  1. Container Threat Detection transmet les informations sur l'événement et les informations qui identifient le conteneur via un DaemonSet en mode utilisateur à un service de détecteur pour analyse. La collecte d'événements est configurée automatiquement lorsque Container Threat Detection est activé.

    Le DaemonSet du moniteur transmet les informations sur le conteneur dans la mesure du possible. Les informations sur le conteneur peuvent être supprimées du résultat signalé si Kubernetes et l'environnement d'exécution du conteneur ne parviennent pas à fournir les informations de conteneur correspondantes à temps.

  2. Le service de détecteur analyse les événements pour déterminer si un événement indique un incident. Bash et Python sont analysés avec le TLN afin de déterminer si le code exécuté est malveillant.

  3. Si le service de détecteur identifie un incident, celui-ci est écrit en tant que résultat dans Security Command Center et, éventuellement, dans Cloud Logging.

    • Si le service de détecteur n'identifie pas d'incident, les informations de résultats ne sont pas stockées.
    • Toutes les données du noyau et du service de détecteur sont éphémères et aucune d'entre elles n'est stockée de manière permanente.

Vous pouvez consulter les détails de résultats dans la console Security Command Center et examiner les informations de résultats. Votre capacité à afficher et modifier les résultats est déterminée par les rôles qui vous sont attribués. Pour en savoir plus sur les rôles Security Command Center, consultez la page Contrôle des accès.

Détecteurs de Container Threat Detection

Container Threat Detection inclut les détecteurs suivants :

Détecteur Description Entrées de détection
Fichier binaire ajouté exécuté

Un fichier binaire ne faisant pas partie de l'image de conteneur d'origine a été exécuté.

Si un binaire ajouté est exécuté par un pirate informatique, il est possible qu'un pirate informatique ait le contrôle de la charge de travail et qu'il exécute des commandes arbitraires.

Ce détecteur est désactivé par défaut. Pour savoir comment l'activer, consultez Tester Container Threat Detection.

Le détecteur recherche un fichier binaire en cours d'exécution qui ne fait pas partie de l'image de conteneur d'origine ou qui a été modifié à partir de l'image de conteneur d'origine.
Ajout de bibliothèque chargée

Une bibliothèque ne faisant pas partie de l'image de conteneur d'origine a été chargée.

Si une bibliothèque ajoutée est chargée, il est possible qu'un pirate informatique ait le contrôle de la charge de travail et qu'il exécute du code arbitraire.

Ce détecteur est désactivé par défaut. Pour savoir comment l'activer, consultez Tester Container Threat Detection.

Le détecteur recherche une bibliothèque en cours de chargement ne faisant pas partie de l'image de conteneur d'origine, ou qui a été modifiée à partir de l'image de conteneur d'origine.
Exécution: Fichier binaire malveillant ajouté exécuté

Un binaire répondant aux conditions suivantes a été exécuté:

  • Identifié comme malveillant d'après les renseignements sur les menaces
  • ne font pas partie de l'image de conteneur d'origine ;

Si un binaire malveillant ajouté est exécuté, il s'agit d'un signe fort qu'un pirate informatique a le contrôle de la charge de travail et qu'il exécute un logiciel malveillant.

Le détecteur recherche un fichier binaire en cours d'exécution qui ne fait pas partie de l'image de conteneur d'origine et qui a été identifié comme malveillant sur la base d'informations sur les menaces.
Exécution: bibliothèque malveillante ajoutée chargée

Une bibliothèque qui remplit les conditions suivantes a été chargée:

  • Identifié comme malveillant d'après les renseignements sur les menaces
  • ne font pas partie de l'image de conteneur d'origine ;

Si une bibliothèque malveillante ajoutée est chargée, il est fort probable qu'un pirate informatique ait le contrôle de la charge de travail et qu'il exécute un logiciel malveillant.

Le détecteur recherche une bibliothèque en cours de chargement qui ne faisait pas partie de l'image de conteneur d'origine et qui a été identifiée comme malveillante sur la base d'informations sur les menaces.
Exécution: fichier binaire malveillant intégré exécuté

Un binaire répondant aux conditions suivantes a été exécuté:

  • Identifié comme malveillant d'après les renseignements sur les menaces
  • Inclus dans l'image de conteneur d'origine

Si un binaire malveillant intégré est exécuté, cela signifie que le pirate informatique déploie des conteneurs malveillants. Il est possible qu'il ait pris le contrôle d'un dépôt d'images légitime ou d'un pipeline de compilation de conteneur, et injecté un binaire malveillant dans l'image du conteneur.

Le détecteur recherche un fichier binaire en cours d'exécution qui était inclus dans l'image de conteneur d'origine et qui a été identifié comme malveillant sur la base d'informations sur les menaces.
Exécution: fuite du conteneur

Un processus a été exécuté dans le conteneur et a tenté de briser l'isolation du conteneur, ce qui a potentiellement donné au pirate informatique accès au système hôte.

Si une tentative d'évasion de conteneur est détectée, cela peut indiquer qu'un pirate informatique exploite des failles pour s'échapper du conteneur. Par conséquent, le pirate informatique peut obtenir un accès non autorisé au système hôte ou à l'infrastructure plus large, compromettant l'ensemble de l'environnement.

Le détecteur surveille les processus qui tentent d'exploiter les limites des conteneurs qui utilisent des techniques ou des binaires d'évasion connus. Ces processus sont signalés par l'intelligence des menaces comme des attaques potentielles ciblant le système hôte sous-jacent.
Exécution: exécution de l'outil d'attaque Kubernetes

Un outil d'attaque spécifique à Kubernetes a été exécuté dans l'environnement, ce qui peut indiquer qu'un pirate informatique cible les composants du cluster Kubernetes.

Si un outil d'attaque est exécuté dans l'environnement Kubernetes, cela peut suggérer qu'un pirate informatique a accédé au cluster et qu'il utilise l'outil pour exploiter des failles ou des configurations spécifiques à Kubernetes.

Le détecteur recherche les outils d'attaque Kubernetes en cours d'exécution et identifiés comme des menaces potentielles en fonction des données d'intelligence. Le détecteur déclenche des alertes pour atténuer les compromissions potentielles dans le cluster.
Exécution: exécution de l'outil de reconnaissance local

Un outil de reconnaissance local qui n'est généralement pas associé au conteneur ou à l'environnement a été exécuté, ce qui suggère une tentative de collecte d'informations système internes.

Si un outil de reconnaissance est exécuté, cela suggère que le pirate informatique tente peut-être de cartographier l'infrastructure, d'identifier les failles ou de collecter des données sur les configurations système pour planifier ses prochaines étapes.

Le détecteur surveille les outils de reconnaissance connus exécutés dans l'environnement, identifiés grâce aux renseignements sur les menaces, ce qui peut indiquer une préparation à des activités plus malveillantes.
Exécution: code Python malveillant exécuté (aperçu)

Un modèle de machine learning a identifié le code Python spécifié comme malveillant. Les pirates informatiques peuvent utiliser Python pour transférer des outils ou d'autres fichiers d'un système externe vers un environnement compromis afin d'exécuter des commandes sans binaires.

Le détecteur utilise des techniques de TLN pour évaluer le contenu du code Python exécuté. Étant donné que cette approche n'est pas basée sur les signatures, les détecteurs peuvent identifier les Python connus et nouveaux.
Exécution: fichier binaire malveillant modifié exécuté

Un binaire répondant aux conditions suivantes a été exécuté:

  • Identifié comme malveillant d'après les renseignements sur les menaces
  • Inclus dans l'image de conteneur d'origine
  • Modifié à partir de l'image de conteneur d'origine pendant l'exécution

Si un fichier binaire malveillant modifié est exécuté, il s'agit d'un signe fort qu'un pirate informatique a le contrôle de la charge de travail et qu'il exécute un logiciel malveillant.

Le détecteur recherche un fichier binaire en cours d'exécution qui était initialement inclus dans l'image du conteneur, mais qui a été modifié au moment de l'exécution et identifié comme malveillant sur la base de la CTI.
Exécution: bibliothèque malveillante modifiée chargée

Une bibliothèque qui remplit les conditions suivantes a été chargée:

  • Identifié comme malveillant d'après les renseignements sur les menaces
  • Inclus dans l'image de conteneur d'origine
  • Modifié à partir de l'image de conteneur d'origine pendant l'exécution

Si une bibliothèque malveillante modifiée est chargée, il s'agit d'un signe fort qu'un pirate informatique a le contrôle de la charge de travail et qu'il exécute un logiciel malveillant.

Le détecteur recherche une bibliothèque en cours de chargement qui était initialement incluse dans l'image du conteneur, mais qui a été modifiée au moment de l'exécution et identifiée comme malveillante d'après la CTI.
Script malveillant exécuté

Un modèle de machine learning a identifié le code Bash spécifié comme malveillant. Les pirates informatiques peuvent utiliser Bash pour transférer des outils ou d'autres fichiers d'un système externe vers un environnement compromis afin d'exécuter des commandes sans binaires.

Le détecteur utilise des techniques de TLN pour évaluer le contenu du code Bash exécuté. Étant donné que cette approche n'est pas basée sur les signatures, les détecteurs peuvent identifier les bash malveillants connus et nouveaux.
URL malveillante détectée Container Threat Detection a observé une URL malveillante dans la liste d'arguments d'un processus en cours d'exécution. Le détecteur vérifie les URL observées dans la liste d'arguments des processus en cours d'exécution par rapport aux listes de ressources Web non sécurisées gérées par le service Navigation sécurisée de Google. Si une URL est classée par erreur comme hameçonnage ou logiciel malveillant, signalez-la sur la page Signaler des données incorrectes.
Interface système inversée

Un processus a commencé par une redirection de flux vers un socket connecté distant.

Grâce à l'interface système inversée, un pirate informatique peut communiquer à partir d'une charge de travail compromise vers une machine contrôlée par un pirate informatique. Le pirate informatique peut ensuite commander et contrôler la charge de travail, par exemple dans le cadre d'un botnet.

Le détecteur recherche stdin lié à un socket distant.
Shell enfant inattendu Un processus qui n'appelle normalement pas de shells a généré un processus shell. Le détecteur surveille toutes les exécutions de processus. Lorsqu'un shell est appelé, le détecteur génère un résultat si le processus parent n'appelle généralement pas de shell.

Étape suivante