Cette page explique comment créer et modifier des requêtes sur les résultats de Security Command Center à l'aide du panneau Éditeur de requêtes sur la page Résultats de la console Google Cloud et de la console Security Operations.
Utilisez des requêtes pour récupérer des résultats spécifiques et filtrer les résultats affichés dans les résultats de la requête.
Utiliser les résultats dans les consoles Security Command Center Enterprise
Si vous êtes client Security Command Center Enterprise, vous pouvez utiliser les résultats dans deux consoles:
- Console Google Cloud: disponible dans tous les niveaux de service
- Console Security Operations: disponible uniquement dans le niveau Enterprise
Pour en savoir plus, consultez la section Consoles Security Command Center Enterprise.
Modifier les requêtes de résultats
Dans le panneau Éditeur de requête, vous pouvez ajouter des filtres à vos requêtes pour sélectionner les résultats en fonction de leurs valeurs de propriété ou d'attribut. Vous pouvez filtrer des éléments tels que la présence de valeurs, l'absence de valeurs ou la correspondance d'une chaîne partielle.
Pour savoir comment modifier une requête de résultats, cliquez sur l'onglet de la console que vous utilisez.
Console Google Cloud
- Dans la console Google Cloud, accédez à la page Résultats de Security Command Center.
- Sélectionnez votre projet ou votre organisation Google Cloud. La page Résultats se charge avec la requête par défaut affichée dans le champ Aperçu de la requête.
- À droite de la section Aperçu de la requête, cliquez sur edit Modifier la requête pour ouvrir le panneau Éditeur de requête.
- Sélectionnez Ajouter un filtre pour accéder à la requête, rechercher et ajouter des filtres d'attributs prédéfinis à la requête.
- Sélectionnez un attribut de résultat ou saisissez son nom dans la zone Rechercher des attributs de résultats. La liste des sous-attributs disponibles s'affiche.
- Sélectionnez un sous-attribut. Un champ de sélection s'affiche, dans lequel vous pouvez créer l'instruction de requête à l'aide du sous-attribut que vous avez sélectionné, d'un opérateur de requête et d'une ou plusieurs valeurs pour le sous-attribut.
- Sélectionnez l'opérateur et une ou plusieurs valeurs pour le sous-attribut dans le panneau. Pour en savoir plus sur les opérateurs de requête et les fonctions qu'ils utilisent, consultez la section Opérateurs de requête dans le menu "Ajouter des filtres".
- Cliquez sur Appliquer.
La boîte de dialogue se ferme et votre requête est mise à jour.
- Répétez l'opération jusqu'à ce que la requête de résultats contienne tous les attributs souhaités.
La boîte de dialogue Sélectionner un filtre vous permet de choisir les attributs et les valeurs de résultats compatibles.
Lorsque vous travaillez dans le générateur de requêtes sur la page Résultats, la section Filtres rapides est désactivée pour éviter les conflits entre les deux.
Console Security Operations
-
Dans la console Security Operations, accédez à la page Résultats.
https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
Remplacez
CUSTOMER_SUBDOMAIN
par votre identifiant client. - Dans le panneau Éditeur de requête, cliquez sur Ajouter un filtre. La boîte de dialogue Ajouter un filtre s'affiche. Cette boîte de dialogue vous permet de choisir les attributs et les valeurs de résultats compatibles.
- Dans la zone Catégorie, sélectionnez ou saisissez un attribut de résultat.
- Dans la zone Nom de l'attribut, sélectionnez ou saisissez un sous-attribut.
- Dans le champ Opérateur, sélectionnez une option d'évaluation pour les valeurs du sous-attribut sélectionné. Pour en savoir plus sur les options d'évaluation et les opérateurs que vous pouvez utiliser, consultez la section Opérateurs de requête dans le menu "Ajouter des filtres".
- Sélectionnez Appliquer.
La boîte de dialogue se ferme et votre requête est mise à jour.
- Répétez cette procédure jusqu'à ce que la requête de résultats contienne tous les attributs sur lesquels vous souhaitez filtrer.
Pour effacer les filtres, cliquez sur Réinitialiser.
Vous pouvez également créer une requête de résultats manuellement avec la même méthode que pour former un filtre de résultats à l'aide de l'API Security Command Center. Lorsque vous saisissez votre requête, un menu de saisie semi-automatique apparaît, dans lequel vous pouvez sélectionner des noms, des fonctions et des valeurs de filtre. Pour ouvrir manuellement le menu de saisie semi-automatique, appuyez sur Ctrl+Espace.
Lorsque vous modifiez une requête, l'éditeur met en évidence les erreurs qu'elle contient afin que vous puissiez les corriger avant de l'envoyer.
Opérateurs de requêtes
Les instructions de requête pour les résultats de Security Command Center sont compatibles avec les opérateurs acceptés par la plupart des API Google Cloud.
La liste suivante montre l'utilisation de différents opérateurs:
state="ACTIVE" AND NOT mute="MUTED"
create_time>"2023-08-15T19:05:32.428Z"
resource.parent_name:"prod"
severity="CRITICAL" OR severity="HIGH"
La liste suivante répertorie tous les opérateurs et fonctions compatibles avec les instructions de requête pour les résultats:
- Pour les chaînes :
=
pour une égalité parfaite:
pour une correspondance de chaîne partielle
- Pour les nombres :
<
,>
,<=
,>=
pour les inégalités=
,!=
pour l'égalité
- Pour les valeurs booléennes :
=
pour l'égalité
- Pour les relations logiques :
AND
OR
NOT
ou-
- Pour les expressions de regroupement :
(
,)
(parenthèses)
- Pour les tableaux :
contains()
, une fonction permettant d'interroger les résultats avec un champ de tableau contenant au moins un élément correspondant au filtre spécifiécontainsOnly()
, une fonction permettant d'interroger les résultats avec un champ de tableau ne contenant que les éléments correspondant au filtre spécifié
- Pour les adresses IP :
inIpRange()
, une fonction permettant d'interroger les adresses IP dans une plage CIDR spécifiée
Opérateurs de requêtes dans le menu "Ajouter des filtres"
Pour en savoir plus sur les opérateurs de requête utilisés dans le menu Ajouter des filtres, cliquez sur l'onglet de la console que vous utilisez.
Console Google Cloud
Dans le menu Ajouter des filtres de l'éditeur de requêtes de la console Google Cloud, les opérateurs et fonctions de requête sont représentés par des mots ou des expressions, comme les suivants:
- Égal à: met en correspondance les résultats avec cette valeur d'attribut exacte.
- N'est pas égal à: met en correspondance les résultats n'ayant pas cette valeur d'attribut exacte.
- Après: fait correspondre les résultats à une heure de création ou de mise à jour après une heure spécifiée.
- Avant: met en correspondance les résultats avec une heure de création ou de mise à jour antérieure à une heure spécifiée.
- Contient: met en correspondance les résultats avec des valeurs d'attribut qui contiennent le texte que vous saisissez dans le champ Mot clé.
- Ne comporte pas: met en correspondance les résultats avec des valeurs d'attribut qui ne contiennent pas le texte que vous saisissez dans le champ Mot clé.
- Pour rechercher des attributs contenant des tableaux :
- Contient: met en correspondance les résultats ayant une valeur de tableau qui contient tout le texte que vous saisissez dans le champ Mot clé.
- Contient tout: met en correspondance les résultats ayant une valeur de tableau qui contient tout le texte que vous saisissez dans le champ Mot clé.
- Ne contient aucun élément: met en correspondance les résultats n'ayant pas de valeur de tableau qui contient le texte que vous saisissez dans le champ Mot clé.
- Ne contient que: met en correspondance les résultats ayant un attribut de tableau qui ne contient que la valeur que vous saisissez dans le champ Mot clé, et aucune autre valeur.
- Pour les adresses IP :
- Toute adresse IP comprise dans la plage: correspond aux résultats dont l'adresse IP se trouve dans une plage CIDR spécifiée.
- Ne contient aucune plage d'adresses IP: correspond aux résultats dont l'adresse IP ne se trouve pas dans une plage CIDR spécifiée.
Console Security Operations
Dans le menu opérateurs et fonctions de requête sont représentés par les éléments suivants:
Ajouter des filtres de l'éditeur de requêtes de la console Security Operations, les- Égal à: met en correspondance les résultats avec cette valeur d'attribut exacte.
- N'est pas égal à: met en correspondance les résultats n'ayant pas cette valeur d'attribut exacte.
- Après: fait correspondre les résultats à une heure de création ou de mise à jour après l'heure spécifiée.
- Avant: correspond aux résultats dont l'heure de création ou de mise à jour est antérieure à l'heure spécifiée.
- Comporte: met en correspondance les résultats avec des valeurs d'attribut qui contiennent le texte que vous saisissez dans le champ Mot clé.
- Ne comporte pas: met en correspondance les résultats avec des valeurs d'attribut qui ne contiennent pas le texte que vous saisissez dans le champ Mot clé.
- Supérieur à: met en correspondance les résultats avec des valeurs d'attribut supérieures à la valeur spécifiée.
- Inférieur à: met en correspondance les résultats avec les valeurs d'attribut inférieures à la valeur spécifiée.
- Toute adresse IP comprise dans la plage: correspond aux résultats dont l'adresse IP se trouve dans une plage CIDR spécifiée.
- Ne contient aucune plage d'adresses IP: met en correspondance les résultats dont l'adresse IP ne se trouve pas dans une plage CIDR spécifiée.
Fonctions de requête
Une fonction de requête fournit des évaluations plus complexes des valeurs d'attribut que les opérateurs de requête courants.
Fonction contains
Utilisez la fonction contains
pour évaluer les attributs ou sous-champs d'attributs pouvant apparaître plusieurs fois dans la même observation.
En interne, ces attributs ou sous-champs d'attributs sont stockés dans les éléments d'une structure de données de tableau. Ils sont donc appelés attributs de type tableau.
Par exemple, certains résultats peuvent faire référence à plusieurs connexions réseau. L'attribut connections
est donc un attribut de type tableau.
De même, certaines détections de menaces peuvent faire référence à plusieurs adresses IP comme indicateurs d'une compromission. Par conséquent, le sous-champ ip_addresses
de l'attribut indicator
est un attribut de type tableau.
La fonction contains
utilise la syntaxe suivante:
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Remplacez les éléments suivants :
ARRAY_ATTRIBUTE_NAME
: nom de l'attribut de type tableau stocké dans un tableau. Si l'attribut de type tableau est un sous-champ d'un autre attribut, spécifiez le nom de l'attribut et le nom du sous-champ séparés par un point.Dans l'exemple suivant, l'attribut de type de tableau,
ip_addresses
, est un sous-champ deindicator
. Les deux sont donc spécifiés à la positionARRAY_ATTRIBUTE_NAME
:contains(indicator.ip_addresses, elem="192.0.2.80")
SUBFILTER
: expression qui définit comment évaluer chaque instance de l'attribut de type tableau. Les opérateurs de requête et les instructions d'évaluation de Security Command Center standard sont acceptés.Si la valeur à vérifier se trouve dans un sous-champ d'un attribut de type tableau, spécifiez le nom du sous-champ à gauche de l'expression. La fonction
contains
suivante évalue chaque élément d'un tableau deconnections
, qui est un attribut de type tableau contenant des sous-champs. Les valeurs recherchées se trouvent dans le sous-champdestination_ip
, qui n'est pas un champ de type tableau. Les valeurs à interroger sont spécifiées avec le nom du sous-champ,destination_ip
, au lieu du paramètreelem
.contains(connections, destination_ip="192.0.2.80")
Si le sous-champ est l'attribut de type de tableau, spécifiez l'attribut de type de tableau à gauche de l'expression avec son parent, puis utilisez le paramètre
elem
à droite de l'expression pour spécifier la valeur à rechercher. Par exemple, la fonctioncontains
suivante évalue chaque élément d'un tableau deip_addresses
, qui est un sous-champ de l'attributindicator
. L'attributindicator
n'est pas un champ de type tableau.contains(indicator.ip_addresses, elem="192.0.2.80")
Fonction contains
dans le menu "Ajouter un filtre"
Dans le menu Ajouter un filtre, en fonction de l'attribut de résultat que vous évaluez, la fonction contains
est listée explicitement ou est incluse automatiquement lorsque vous sélectionnez une autre option de filtre qui l'exige.
Par exemple, pour le sous-champ Adresses IP de l'attribut Indicateur, vous pouvez sélectionner les options de filtrage suivantes:
- Contient l'un des éléments
- Contient toutes les valeurs
- Ne contient aucun des libellés
En revanche, si vous filtrez sur le sous-champ Adresse IP de destination de l'attribut Connexions et que vous sélectionnez Toute adresse IP de la plage, les fonctions contains
sont ajoutées automatiquement à l'instruction de requête, comme illustré dans l'exemple suivant:
contains(connections, inIpRange(destination_ip, "2001:db8::/32"))
Pour en savoir plus sur la fonction contains
, consultez la section Filtrer les champs de type tableau.
Fonction containsOnly
La fonction containsOnly
vous permet d'interroger les résultats pour les attributs ou sous-champs de type tableau qui ne contiennent que les valeurs spécifiées dans le sous-filtre, et aucune autre.
La fonction containsOnly
utilise la syntaxe suivante:
containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)
Remplacez les éléments suivants :
ARRAY_ATTRIBUTE_NAME
: nom de l'attribut de type tableau. Si l'attribut de type tableau est un sous-champ d'un autre attribut, spécifiez le nom de l'attribut et le nom du sous-champ séparés par un point. Lorsque vous exécutez des requêtes à l'aide de la console Google Cloud, cette fonction n'est compatible qu'avec les attributs de tableauiam_bindings.member
etiam_bindings.role
.SUBFILTER
: expression qui définit la manière d'évaluer chaque élément de l'attribut de type tableau. Les opérateurs de requête et les instructions d'évaluation standards de Security Command Center sont acceptés.
Dans le menu Ajouter un filtre, les options de filtre suivantes utilisent la fonction containsOnly
:
Liaison IAM > Membre: ne sélectionne que les résultats qui incluent les utilisateurs, comptes de service ou groupes spécifiés.
Liaison IAM > Rôle: ne sélectionne que les résultats qui incluent les rôles spécifiés.
L'exemple suivant montre une requête de résultats dans la console Google Cloud qui renvoie des résultats actifs et non masqués pour les utilisateurs du groupe example-group
:
state="ACTIVE" AND NOT mute="MUTED" AND containsOnly(iam_bindings,member="group:example-group@example.com")
Fonction inIpRange
La fonction inIpRange
vérifie si l'adresse IP d'un attribut de résultat sélectionné se trouve dans une plage d'adresses IP que vous spécifiez à l'aide de la notation CIDR (une plage CIDR). Voici la syntaxe de la fonction inIpRange
:
inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")
Dans le menu Ajouter un filtre, les options de filtre suivantes utilisent la fonction inIpRange
:
- Toute adresse IP de la plage: ne sélectionne que les résultats contenant des adresses IP appartenant à la plage spécifiée.
- Ne contient aucune adresse IP dans la plage: ne sélectionne que les résultats qui ne contiennent pas d'adresses IP dans la plage spécifiée.
L'exemple suivant montre une requête de résultats dans la console Google Cloud qui renvoie des résultats actifs et non masqués dans lesquels le sous-champ caller_ip
de l'objet access
contient une adresse IPv6 dans la plage CIDR de 2001:db8::/32
:
state="ACTIVE" AND NOT mute="MUTED" AND inIpRange(access.caller_ip, "2001:db8::/32")
L'exemple suivant montre une requête de résultats qui renvoie des résultats actifs et non masqués dans lesquels le sous-champ caller_ip
de l'objet access
ne contient pas d'adresse IP dans la plage CIDR IPv4 de 192.0.2.0/24
:
state="ACTIVE" AND NOT mute="MUTED" AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")
Si une adresse IP se trouve dans un attribut pouvant apparaître plusieurs fois dans un résultat, utilisez la fonction contains
avec la fonction inIpRange
pour rechercher l'adresse IP dans chaque instance de l'attribut. Exemple :
contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
Pour en savoir plus sur la fonction contains()
, consultez la section Fonction contains
.
Trouver des attributs pour les requêtes
Security Command Center sélectionne les résultats à afficher en évaluant les attributs de chaque résultat stocké par rapport aux filtres d'attributs que vous spécifiez dans la requête.
Vous pouvez interroger la plupart des attributs de recherche. Certains attributs sont communs à toutes les conclusions. D'autres attributs peuvent être spécifiques à un problème de sécurité, à une catégorie de résultats ou à un service de détection particuliers.
Dans le menu Ajouter un filtre du panneau Éditeur de requête, les options que vous pouvez appliquer à un filtre d'attribut sont différentes selon le type d'attribut que vous sélectionnez et si l'attribut comporte des sous-champs ou un tableau de valeurs.
Dans le menu Ajouter un filtre, cliquez sur l'un des attributs de niveau supérieur suivants pour afficher les sous-attributs et les valeurs que vous pouvez utiliser dans une requête de résultats:
- Résultat
- Ressource
- Accès (
access
) - Niveau d'exposition aux attaques
- Sauvegarde et reprise après sinistre
- Conformités (
compliances[]
) - Connexions (
connections[]
) - Contacts
- Conteneurs
- Base de données
- Exfiltration (
exfiltration
) - Fichiers
- Liaison IAM (
iamBindings[]
) - Indicateur
- Rootkit de noyau
- Kubernetes
- MITRE ATT&CK (
mitreAttack
) - Processus (
processes[]
) - Stratégie de sécurité
- Sensitive Data Protection
- Faille