Pemindahan Tidak Sah: Ekstraksi Data BigQuery

Dokumen ini menjelaskan jenis temuan ancaman di Security Command Center. Temuan ancaman dihasilkan oleh detektor ancaman saat mendeteksi potensi ancaman di resource cloud Anda. Untuk daftar lengkap temuan ancaman yang tersedia, lihat Indeks temuan ancaman.

Ringkasan

Pemindahan data yang tidak sah dari BigQuery terdeteksi dengan memeriksa log audit untuk dua skenario:

  • Resource disimpan ke bucket Cloud Storage di luar organisasi Anda.
  • Resource disimpan ke bucket Cloud Storage yang dapat diakses secara publik dan dimiliki oleh organisasi Anda.

Untuk aktivasi level project pada Security Command Center Premium, temuan ini hanya tersedia jika paket Standar-warisan diaktifkan di organisasi induk.

Event Threat Detection adalah sumber temuan ini.

Cara merespons

Untuk merespons temuan ini, lakukan hal berikut:

Langkah 1: Tinjau detail temuan

  1. Buka temuan Exfiltration: BigQuery Data Extraction, seperti yang diarahkan di Meninjau temuan. Panel detail untuk temuan akan terbuka di tab Summary.
  2. Di panel detail temuan, pada tab Summary , tinjau nilai yang tercantum di bagian berikut:

    • What was detected:
      • Principal email: akun yang digunakan untuk memindahkan data yang tidak sah.
      • Sumber eksfiltrasi: detail tentang tabel tempat data dipindahkan secara tidak sah.
      • Target eksfiltrasi: detail tentang tabel tempat data yang dieksfiltrasi disimpan.
    • Affected resource:
      • Nama lengkap resource: nama resource BigQuery yang datanya dipindahkan secara tidak sah.
      • Nama lengkap proyek: Google Cloud proyek yang berisi set data BigQuery sumber.
    • Related links:
      • Cloud Logging URI: link ke entri Logging.
      • Metode MITRE ATT&CK: tautan ke dokumentasi MITRE ATT&CK.
      • Temuan terkait: link ke temuan terkait.
  3. Di panel detail temuan, klik tab JSON.

  4. Di JSON, perhatikan kolom berikut.

    • sourceProperties:
      • evidence:
        • sourceLogId:
        • projectId: project yang Google Cloud berisi set data BigQuery sumber.
      • properties:
        • extractionAttempt:
        • jobLink: link ke tugas BigQuery yang memindahkan data secara tidak sah

Langkah 2: Tinjau izin dan setelan

  1. Di Google Cloud konsol, buka halaman IAM.

    Buka IAM

  2. Jika perlu, pilih project yang tercantum di kolom projectId dalam JSON temuan (dari Langkah 1).

  3. Di halaman yang muncul, di kotak Filter, masukkan alamat email yang tercantum di Principal email (dari Langkah 1) dan periksa izin yang ditetapkan ke akun.

Langkah 3: Periksa log

  1. Di Summary tab panel detail temuan, klik link Cloud Logging URI untuk membuka Logs Explorer.
  2. Temukan log aktivitas admin yang terkait dengan tugas BigQuery menggunakan filter berikut:
    • protoPayload.methodName="Jobservice.insert"
    • protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"

Langkah 4: Teliti metode serangan dan respons

  1. Tinjau entri framework MITRE ATT&CK untuk jenis temuan ini: Exfiltration Over Web Service: Exfiltration to Cloud Storage.
  2. Tinjau temuan terkait dengan mengklik link di baris Related findings di tab Summary pada detail temuan. Temuan terkait adalah jenis temuan yang sama pada instance dan jaringan yang sama.
  3. Untuk mengembangkan rencana respons, gabungkan hasil penyelidikan Anda dengan riset MITRE.

Langkah 5: Terapkan respons Anda

Rencana respons berikut mungkin sesuai untuk temuan ini, tetapi juga dapat memengaruhi operasi. Evaluasi dengan cermat informasi yang Anda kumpulkan dalam penyelidikan untuk menentukan cara terbaik dalam menyelesaikan temuan.

Contoh JSON temuan

Berikut adalah contoh JSON temuan.

{
  "finding": {
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "resource_name": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
    "state": "ACTIVE",
    "category": "Exfiltration: BigQuery Data Extraction",
    "sourceProperties": {
      "affectedResources": [
        {
          "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
        }
      ],
      "detectionCategory": {
        "technique": "storage_bucket_exfiltration",
        "indicator": "audit_log",
        "ruleName": "big_query_exfil",
        "subRuleName": "exfil_to_cloud_storage"
      },
      "detectionPriority": "LOW",
      "sourceId": {
        "projectNumber": "PROJECT_NUMBER",
        "customerOrganizationNumber": "ORGANIZATION_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 BigQuery Exfiltration Extraction findings",
          "url": "RELATED_FINDINGS_LINK"
        }
      },
      "evidence": [{
        "sourceLogId": {
          "projectId": PROJECT_ID,
          "resourceContainer": "projects/PROJECT_ID",
          "timestamp": {
            "seconds": "0",
            "nanos": 0.0
          },
          "insertId": "INSERT_ID"
        }
      }],
      "properties": {
        "extractionAttempt": {
          "jobLink": "https://console.cloud.google.com/bigquery?j=JOB_ID&project=SOURCE_PROJECT_ID&page=queryresults",
          "job": {
            "projectId": "SOURCE_PROJECT_ID",
            "jobId": "JOB_ID",
            "location": "US"
          },
          "sourceTable": {
            "projectId": "DESTINATION_PROJECT_ID",
            "datasetId": "DATASET_ID",
            "tableId": "TABLE_ID",
            "resourceUri": "FULL_URI"
          },
          "destinations": [
            {
              "originalUri": "gs://TARGET_STORAGE_BUCKET_NAME/TARGET_FILE_NAME",
              "collectionType": "STORAGE_BUCKET",
              "collectionName": "TARGET_STORAGE_BUCKET_NAME",
              "objectName": "TARGET_FILE_NAME"
            }
          ]
        },
        "principalEmail": "PRINCIPAL_EMAIL"
      },
      "findingId": "FINDING_ID"
    },
    "securityMarks": {
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
    },
    "eventTime": "2022-03-31T21:22:11.359Z",
    "createTime": "2022-03-31T21:22:12.689Z",
    "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", "EXFILTRATION_TO_CLOUD_STORAGE"]
    },
    "access": {
      "principalEmail": "PRINCIPAL_EMAIL",
      "callerIp": "IP",
      "callerIpGeo": {
      },
      "serviceName": "bigquery.googleapis.com",
      "methodName": "google.cloud.bigquery.v2.JobService.InsertJob"
    },
    "exfiltration": {
      "sources": [
        {
          "name": "//bigquery.googleapis.com/projects/SOURCE_PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID"
        }
      ],
      "targets": [
        {
          "name": "TARGET_STORAGE_URI"
        }
      ]
    }
  },
  "resource": {
    "name": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
    "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "projectDisplayName": "PROJECT_ID",
    "parentName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER/datasets/DATASET_ID",
    "parentDisplayName": "PROJECT_ID:DATASET_ID",
    "type": "google.cloud.bigquery.Table",
    "folders": [{
      "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER",
      "resourceFolderDisplayName": "FOLDER_NAME"
    }],
    "displayName": "PROJECT_ID:DATASET_ID.TABLE_ID"
  }
}

Langkah berikutnya