Ce document décrit un type de résultat de détection de menace dans Security Command Center. Ces résultats sont générés par les détecteurs de menaces lorsqu'ils détectent une menace potentielle dans vos ressources cloud. Pour obtenir la liste complète des résultats de détection de menace disponibles, consultez cet index.
Présentation
Tous les droits associés à une base de données PostgreSQL (ou toutes les fonctions ou procédures d'une base de données) ont été accordés à un ou plusieurs utilisateurs de la base de données.
Event Threat Detection est la source de ce résultat.
Actions à mettre en place
Pour traiter ce résultat, procédez comme suit :
Étape 1 : Examiner les résultats détaillés
- Ouvrez le résultat
Exfiltration: Cloud SQL Over-Privileged Grantcomme indiqué dans Examiner les résultats. Dans l'onglet Résumé du panneau "Détails du résultat", examinez les informations des sections suivantes :
- Risque détecté, en particulier les champs suivants :
- Nom à afficher de la base de données : nom de la base de données dans l'instance Cloud SQL PostgreSQL concernée.
- Nom d'utilisateur de la base de données : utilisateur PostgreSQL ayant accordé des droits en excès.
- Requête de base de données : requête PostgreSQL exécutée ayant accordé les droits.
- Bénéficiaires d'un accès à la base de données : bénéficiaires des droits en excès.
- Ressource concernée, en particulier les champs suivants :
- Nom complet de la ressource : nom de ressource de l'instance Cloud SQL PostgreSQL concernée.
- Nom complet du parent : nom de ressource de l'instance Cloud SQL PostgreSQL.
- Nom complet du projet : le Google Cloud projet contenant l'instance Cloud SQL PostgreSQL.
- Liens associés, en particulier les champs suivants :
- URI Cloud Logging : lien vers les entrées Logging.
- Méthode MITRE ATT&CK : lien vers la documentation MITRE ATT&CK.
- Résultats associés : liens vers les éventuels résultats associés.
- Risque détecté, en particulier les champs suivants :
Pour afficher le code JSON complet du résultat, cliquez sur l'onglet JSON.
Étape 2 : Vérifier les droits sur la base de données
- Connectez-vous à la base de données PostgreSQL.
- Listez et affichez les droits d'accès
pour les éléments suivants :
- Bases de données. Utilisez la métacommande
\lou\listet vérifiez les droits attribués pour la base de données listée dans Nom à afficher de la base de données (voir Étape 1). - Fonctions ou procédures. Utilisez la métacommande
\dfet vérifiez les droits attribués pour les fonctions ou procédures dans la base de données spécifiée dans Nom à afficher de la base de données (voir Étape 1).
- Bases de données. Utilisez la métacommande
Étape 3 : Vérifier les journaux
- Dans la console Google Cloud , accédez à l'explorateur de journaux en cliquant sur le lien dans l'URI Cloud Logging (voir Étape 1). La page Explorateur de journaux inclut tous les journaux liés à l'instance Cloud SQL concernée.
- Dans l'explorateur de journaux, vérifiez les journaux
pgauditPostgreSQL, qui enregistrent les requêtes exécutées dans la base de données, à l'aide des filtres suivants :protoPayload.request.database="var class="edit">database"
Étape 4 : Étudier les méthodes d'attaque et de réponse
- Examinez l'entrée du framework MITRE ATT&CK pour ce type de résultat : Exfiltration via un service Web.
- Pour déterminer si d'autres mesures correctives sont nécessaires, combinez vos résultats d'enquête avec la recherche MITRE.
Étape 5 : Mettre en œuvre votre plan de réponse
Le plan de réponse suivant peut être adapté à ce résultat, mais il peut également avoir un impact sur vos opérations. Veillez à bien évaluer les informations que vous collectez dans votre enquête pour déterminer quelle est la meilleure réponse à apporter aux problèmes soulevés par les résultats.
- Contactez le propriétaire de l'instance disposant d'autorisations trop élevées.
- Envisagez de révoquer toutes les autorisations pour les bénéficiaires listés dans Bénéficiaires d'un accès à la base de données jusqu'à ce que l'enquête soit terminée.
- Pour limiter l'accès à la base de données (voir Nom à afficher de la base de données à l'étape 1), révoquez les autorisations inutiles accordées aux bénéficiaires (voir Bénéficiaires d'un accès à la base de données de l'étape 1).
Exemple de code JSON du résultat
Voici un exemple de code JSON du résultat.
{ "finding": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "resource_name": "//cloudsql.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_NAME", "state": "ACTIVE", "category": "Exfiltration: CloudSQL Over-Privileged Grant", "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "ruleName": "cloudsql_exfil", "subRuleName": "user_granted_all_permissions" }, "detectionPriority": "LOW", "affectedResources": [ { "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER" }, { "gcpResourceName": "//cloudsql.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_NAME" } ], "evidence": [{ "sourceLogId": { "projectId": "PROJECT_ID", "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "0", "nanos": 0.0 }, "insertId": "INSERT_ID" } }], "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1567/002/" }, "cloudLoggingQueryUri": [{ "displayName": "Cloud Logging Query Link", "url": "LOGGING_LINK" }], "relatedFindingUri": { "displayName": "Related CloudSQL Exfiltration findings", "url": "RELATED_FINDINGS_LINK" } } }, "eventTime": "2022-01-19T21:36:07.901Z", "createTime": "2022-01-19T21:36:08.695Z", "severity": "LOW", "workflowState": "NEW", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID" "mute": "UNDEFINED", "findingClass": "THREAT", "mitreAttack": { "primaryTactic": "EXFILTRATION", "primaryTechniques": ["EXFILTRATION_OVER_WEB_SERVICE"] }, "database": { "displayName": "DATABASE_NAME", "userName": "USER_NAME", "query": "QUERY", "grantees": [GRANTEE], }, "access": { "serviceName": "cloudsql.googleapis.com", "methodName": "cloudsql.instances.query" } }, "resource": { "name": "//cloudsql.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_NAME", "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "projectDisplayName": "PROJECT_ID", "parentName": "//cloudsql.googleapis.com/projects/PROJECT_NUMBER", "parentDisplayName": "PROJECT_ID", "type": "google.cloud.sql.Instance", "folders": [{ "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER", "resourceFolderDisplayName": "FOLDER_ID" }], "displayName": "INSTANCE_NAME" } }
Étape suivante
- Découvrez comment travailler avec les résultats de détection de menace dans Security Command Center.
- Consultez l'index des résultats de détection de menace.
- Découvrez comment examiner un résultat dans la console Google Cloud .
- Apprenez-en plus sur les services qui génèrent des résultats de détection de menace.