Présentation des modules personnalisés pour Event Threat Detection

Cette page présente les modules personnalisés pour Event Threat Detection.

Vous pouvez configurer des modules, également appelés détecteurs, pour traiter vos flux Cloud Logging et détecter les menaces en fonction des paramètres que vous spécifiez. Cette fonctionnalité étend de surveillance d'Event Threat Detection et vous permet d'ajouter des modules vos propres paramètres de détection, des conseils de résolution et des désignations de gravité pour que les détecteurs intégrés ne prennent peut-être pas en charge.

Les modules personnalisés sont utiles si vous avez besoin de modules avec des règles de détection qui respectent les les besoins uniques de votre organisation. Par exemple, vous pouvez ajouter un module personnalisé crée des résultats si les entrées de journal indiquent qu'une ressource est connectée à une adresse IP spécifique ; ou est créée dans une région restreinte.

Fonctionnement des modules personnalisés pour Event Threat Detection

Les modules personnalisés regroupent plusieurs détecteurs Event Threat Detection avec vos propres paramètres de détection. Vous pouvez créer un Module personnalisé Event Threat Detection via la console Google Cloud. Par ailleurs, vous pouvez en créer un en mettant à jour un modèle de module personnalisé en envoyant le module personnalisé à Security Command Center via la Google Cloud CLI. Pour plus d'informations sur les modèles disponibles, reportez-vous à la section Modules et modèles de ML.

Les modèles de modules personnalisés sont écrits en JSON et vous permettent de définir qui contrôlent quels événements dans les entrées de journal doivent déclencher les résultats. Pour exemple, le détecteur Malware: Bad IP intégré vérifie Journaux de flux de cloud privé virtuel pour détecter la présence de connexions à des adresses IP suspectes connues des adresses IP externes. Toutefois, vous pouvez activer et modifier l'Configurable Bad IP personnalisé par une liste d'adresses IP suspectes que vous gérez. Si vos journaux indique une connexion à l'une des adresses IP que vous avez fournies, un résultat est générées et écrites dans Security Command Center.

Les modèles de module vous permettent aussi de définir la gravité des menaces et de fournir des pour aider vos équipes de sécurité à résoudre les problèmes.

Les modules personnalisés vous permettent de mieux contrôler la façon dont Event Threat Detection détecte les menaces et signale les résultats. Les modules personnalisés incluent les paramètres que vous fournissez, tout en continuant à utiliser la logique de détection propriétaire d'Event Threat Detection et de l'intelligence artificielle, y compris la mise en correspondance de l'indicateur de trajectoire. Vous pouvez implémenter une requête large un ensemble de modèles de gestion des menaces adaptés aux besoins spécifiques de votre entreprise.

Les modules personnalisés d'Event Threat Detection s'exécutent parallèlement aux détecteurs intégrés. Activé modules s'exécutent en temps réel, ce qui déclenche des analyses chaque fois que de nouveaux journaux sont créé.

Modules et modèles personnalisés

Le tableau suivant contient une liste des types de modules personnalisés pris en charge, les descriptions, les journaux requis et les modèles de module JSON.

Vous avez besoin de ces modèles de module JSON si vous souhaitez utiliser le gcloud CLI pour créer ou mettre à jour des modules personnalisés. Pour voir un modèle, cliquez sur l'icône Développer à côté de son nom. Pour plus d'informations sur l'utilisation des modules personnalisés, reportez-vous à la page Configurer et gérer modules.

Catégorie de résultats Module type Types de sources de journal Description
Adresse IP incorrecte configurable CONFIGURABLE_BAD_IP Journaux de flux VPC
Journaux des règles de pare-feu
Détecte une connexion à une adresse IP spécifiée
Modèle: adresse IP incorrecte configurable
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "ips": [
    "IP_ADDRESS_1",
    "IP_ADDRESS_2"
  ]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • IP_ADDRESS_1: adresse IPv4 ou IPv6 routable publiquement ou un bloc CIDR à surveiller, par exemple 192.0.2.1 ou 192.0.2.0/24.
  • IP_ADDRESS_2 : facultatif. Une classe routable publiquement Adresse IPv4 ou IPv6, ou bloc CIDR à surveiller, par exemple, 192.0.2.1 ou 192.0.2.0/24.
Domaine incorrect configurable CONFIGURABLE_BAD_DOMAIN Journaux Cloud DNS Détecte une connexion à un nom de domaine spécifié
Modèle: domaine incorrect configurable
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "domains": [
    "DOMAIN_1","DOMAIN_2"
  ]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • DOMAIN_1: nom de domaine à surveiller, Exemple : example.com. Une valeur de localhost est non autorisés. Les noms de domaine Unicode et Punycode sont normalisés. Pour exemple, 例子.example et xn--fsqu00a.example sont équivalents.
  • DOMAIN_2 : facultatif. Un nom de domaine à surveiller par exemple example.com. Une valeur de localhost n'est pas autorisé. Noms de domaine Unicode et Punycode sont normalisés. Par exemple, 例子.example et xn--fsqu00a.example sont équivalent.
Type d'instance Compute Engine inattendu CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_INSTANCE_TYPE Cloud Audit Logs:
Journaux des activités d'administration (obligatoire)
Journaux des accès aux données (facultatif)
Détecte la création d'instances Compute Engine qui ne correspondent pas à la configuration ou au type d'instance spécifié.
Modèle: Type d'instance Compute Engine inattendu
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "instances": [
    {
      "series": "SERIES",
      "cpus": {
        "minimum": MINIMUM_NUMBER_OF_CPUS,
        "maximum": MAXIMUM_NUMBER_OF_CPUS
      },
      "ram_mb": {
        "minimum": MINIMUM_RAM_SIZE,
        "maximum": MAXIMUM_RAM_SIZE
      },
      "gpus": {
        "minimum": MINIMUM_NUMBER_OF_GPUS,
        "maximum": MAXIMUM_NUMBER_OF_GPUS
      },
      "projects": [
        "PROJECT_ID_1",
        "PROJECT_ID_2"
      ],
      "regions": [
        "REGION_1",
        "REGION_2"
      ]
    },
    {
      "series": " ... ",
      ...
      "regions": [ ... ]
    }
  ]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • SERIES : facultatif. Compute Engine (par exemple, C2). Si ce champ est vide, le module autorise toutes les séries. Pour en savoir plus, consultez la section Ressources de familles de machines et comparaison guide de démarrage.
  • MINIMUM_NUMBER_OF_CPUS : facultatif. Le minimum de processeurs à autoriser. S'il n'est pas présent, il n'y a pas de minimum. Cette valeur ne doit pas être négative.
  • MAXIMUM_NUMBER_OF_CPUS : facultatif. La valeur de processeurs à autoriser. Sinon, il n'y a pas de valeur maximale. Doit être supérieur ou égal à minimum et inférieur ou égal à égal à 1 000.
  • MINIMUM_RAM_SIZE : facultatif. RAM minimale la taille maximale autorisée, en mégaoctets. S'il n'est pas présent, il n'y a pas minimum.
  • MAXIMUM_RAM_SIZE : facultatif. RAM maximale la taille maximale autorisée, en mégaoctets. S'il n'est pas présent, il n'y a pas maximum. La valeur doit être supérieure ou égale à minimum et inférieure supérieure ou égale à 10 000 000.
  • MINIMUM_NUMBER_OF_GPUS : facultatif. Le minimum de GPU à autoriser. S'il n'est pas présent, il n'y a pas de minimum. Cette valeur ne doit pas être négative.
  • MAXIMUM_NUMBER_OF_GPUS : facultatif. La valeur de GPU à autoriser. Sinon, il n'y a pas de valeur maximale. Doit être supérieure ou égale à minimum et inférieure ou égale à 100.
  • PROJECT_ID_1 : facultatif. L'ID d'un projet auxquelles vous souhaitez appliquer ce module (par exemple, projects/example-project Si ce champ est vide ou n'est pas défini, la valeur aux instances créées dans tous les projets du champ d'application actuel.
  • PROJECT_ID_2 : facultatif. L'ID d'un projet auxquelles vous souhaitez appliquer ce module (par exemple, projects/example-project
  • REGION_1 : facultatif. La région dans laquelle vous souhaitez l'appliquer module (par exemple, us-central1). Si ce champ est vide ou n'est pas défini, s'applique aux instances créées dans toutes les régions.
  • REGION_2 : facultatif. Une région dans laquelle vous souhaitez appliquer ce module (par exemple, us-central1).
Image source Compute Engine inattendue CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_SOURCE_IMAGE Cloud Audit Logs:
Journaux des activités d'administration (obligatoire)
Journaux des accès aux données (facultatif)
Détecte la création d'une instance Compute Engine avec une image ou famille d'images ne correspondant pas à une liste spécifiée
Modèle: Image source Compute Engine inattendue
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "patterns": [
    {

      "pattern": "PATTERN_1",
      "name": "NAME_1"
    },
    {
      "pattern": "PATTERN_2",
      "name": "NAME_2"
    }
  ]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • PATTERN_1: RE2 une expression régulière à comparer aux images, par exemple debian-image-1 Si une image est utilisée pour créer une instance Compute Engine et que le nom de cette image ne correspond à aucune des expressions régulières spécifiées, un résultat est généré.
  • NAME_1: nom descriptif pour ce motif, par exemple, first-image.
  • PATTERN_2 : facultatif. Une autre expression régulière RE2 pour par rapport à des images, par exemple debian-image-2.
  • NAME_2 : facultatif. Un nom descriptif pour le deuxième motif (par exemple, second-image).
Région Compute Engine inattendue CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_REGION Cloud Audit Logs:
Journaux des activités d'administration (obligatoire)
Journaux des accès aux données (facultatif)
Détecte la création d'une instance Compute Engine dans une région extérieure à une liste spécifiée
Modèle: Région Compute Engine inattendue
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "regions": [
    {
      "region": "REGION_1"
    },
    {
      "region": "REGION_2"
    }
  ]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • REGION_1: nom d'une région à autoriser, pour exemple : us-west1. Si une instance Compute Engine est dans une région non spécifiée dans la liste, Event Threat Detection émet un résultat.
  • REGION_2 : facultatif. Le nom d'une région à autoriser (par exemple, us-central1). Si une instance Compute Engine est créée dans une région qui ne figure pas dans la liste, Event Threat Detection émet un résultat.
Compte "bris de glace" utilisé CONFIGURABLE_BREAKGLASS_ACCOUNT_USED Cloud Audit Logs:
Journaux des activités d'administration (obligatoire)
Journaux des accès aux données (facultatif)
Détecte l'utilisation d'un compte d'accès d'urgence (bris de glace)
Modèle: Compte "bris de glace" utilisé
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "accounts": [
    "BREAKGLASS_ACCOUNT_1", "BREAKGLASS_ACCOUNT_2"
  ]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • BREAKGLASS_ACCOUNT_1: compte "bris de glace" recherchez test@example.com, par exemple. Un résultat est généré si ce compte est utilisé pour une action enregistrée Entrée Cloud Audit Logs.
  • BREAKGLASS_ACCOUNT_2 : facultatif. Un bris de glace compte à surveiller, par exemple test@example.com. A est généré si ce compte est utilisé pour une action enregistrée dans une entrée Cloud Audit Logs.
Attribution de rôle inattendue CONFIGURABLE_UNEXPECTED_ROLE_GRANT Cloud Audit Logs:
Journaux des activités d'administration (obligatoire)
Journaux des accès aux données (facultatif)
Détecte quand un rôle spécifié est attribué à un utilisateur
Modèle: Attribution de rôle inattendue
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "roles": ["ROLE_1", "ROLE_2"]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • ROLE_1: rôle IAM à surveiller par exemple roles/owner. Un résultat est généré si ce rôle est attribué.
  • ROLE_2 : facultatif. un rôle IAM pour surveiller, par exemple, roles/editor. Un résultat est généré si ce rôle est accordé.
Rôle personnalisé avec autorisation interdite CONFIGURABLE_CUSTOM_ROLE_WITH_PROHIBITED_PERMISSION Cloud Audit Logs:
Journaux des activités d'administration (obligatoire)
Journaux des accès aux données (facultatif)
Détecte la création ou la mise à jour d'un rôle personnalisé disposant de l'une des autorisations IAM spécifiées.
Modèle: rôle personnalisé avec autorisation interdite
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "permissions": [
    "PERMISSION_1",
    "PERMISSION_2"
  ]
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • PERMISSION_1: une autorisation IAM pour surveiller, par exemple, storage.buckets.list. Event Threat Detection émet un résultat si un rôle IAM personnalisé contenant cette autorisation est accordée à un compte principal.
  • PERMISSION_2 : facultatif. Une stratégie IAM l'autorisation de surveiller, par exemple storage.buckets.get Event Threat Detection émet une déterminer si un rôle IAM personnalisé contenant cette autorisation accordé à un compte principal.
Appel d'API Cloud inattendu CONFIGURABLE_UNEXPECTED_CLOUD_API_CALL Cloud Audit Logs:
Journaux des activités d'administration (obligatoire)
Journaux des accès aux données (facultatif)
Détecte lorsqu'un compte principal spécifié appelle une méthode spécifiée sur un objet ressource spécifiée. Un résultat n'est généré que si toutes les expressions régulières sont mis en correspondance dans une seule entrée de journal.
Modèle: Appel d'API Cloud inattendu
{
  "metadata": {
    "severity": "SEVERITY",
    "description": "DESCRIPTION",
    "recommendation": "RECOMMENDATION"
  },
  "caller_pattern": "CALLER_PATTERN",
  "method_pattern": "METHOD_PATTERN",
  "resource_pattern": "RESOURCE_PATTERN"
}

Remplacez les éléments suivants :

  • SEVERITY: gravité des résultats générées par ce module. Les valeurs valides sont LOW, MEDIUM, HIGH et CRITICAL.
  • DESCRIPTION: description de la menace détecté par le module personnalisé. Cette description sert à renseigner Propriété explanation de chaque résultat généré par ce de ce module.
  • RECOMMENDATION: explication de les mesures recommandées que les équipes de sécurité peuvent suivre pour résoudre le problème problème. Cette explication est utilisée pour renseigner le champ nextSteps. de chaque résultat généré par ce module.
  • CALLER_PATTERN: RE2 une expression régulière à comparer aux comptes principaux. Par exemple : .* correspond à n'importe quel compte principal.
  • METHOD_PATTERN: un standard RE2 pour comparer les méthodes (par exemple, ^cloudsql\\.instances\\.export$
  • RESOURCE_PATTERN: un standard RE2 pour comparer les ressources, par exemple example-project

Tarifs et quotas

Cette fonctionnalité est sans frais pour Security Command Center Premium clients.

Les modules personnalisés d'Event Threat Detection sont soumis à des limites de quota.

La limite de quota par défaut pour la création de modules personnalisés est de 200.

Les appels d'API vers des méthodes de module personnalisé sont également soumis à des limites de quota. La Le tableau suivant indique les limites de quota par défaut pour les appels d'API de modules personnalisés.

Type d'appel d'API Limite
Get, List 1 000 appels d'API par minute et par organisation
Create, Update, Delete 60 appels d'API par minute et par organisation

Limites de taille des modules

Chaque module personnalisé Event Threat Detection dispose d'un ne doit pas dépasser 6 Mo.

Limites de débit

Les limites de débit suivantes s'appliquent:

  • 30 résultats par module personnalisé et par heure
  • 200 résultats de module personnalisé par ressource parente (organisation ou projet) par heure. Chaque résultat compte pour une organisation ou projet, en fonction du niveau dans lequel le module personnalisé source a été créé.

Ces limites ne peuvent pas être augmentées.

Étape suivante