Menggunakan data Sensitive Data Protection dalam analisis yang memahami konteks

Didukung di:

Dokumen ini menunjukkan cara menggunakan data konteks entitas dari Perlindungan Data Sensitif dan sumber log tambahan untuk menambahkan pemahaman kontekstual tentang dampak dan cakupan potensi ancaman saat melakukan investigasi.

Kasus penggunaan yang dijelaskan dalam dokumen ini mendeteksi eksekusi file berbahaya oleh pengguna (Teknik MITRE ATT&CK T1204.002) dan apakah pengguna tersebut juga memiliki akses ke data sensitif di tempat lain di jaringan.

Contoh ini mengharuskan data berikut telah diserap dan dinormalisasi di Google Security Operations:

  • Data aktivitas pengguna menggunakan log jaringan dan EDR.
  • Hubungan resource dari sumber data seperti Google Cloud Analisis IAM.
  • Log Sensitive Data Protection yang berisi label tentang jenis dan sensitivitas data yang disimpan.

Google SecOps harus dapat mengurai data mentah ke dalam catatan peristiwa dan entitas Model Data Terpadu (UDM).

Untuk mengetahui informasi tentang penyerapan data Perlindungan Data Sensitif ke Google SecOps, lihat Mengekspor data Perlindungan Data Sensitif ke Google SecOps.

Google Cloud Data Analisis IAM

Data log Analisis IAM Google Cloud dalam contoh ini mengidentifikasi pengguna dalam organisasi dan merekam hubungan setiap pengguna dengan sistem lain di jaringan. Berikut adalah cuplikan log Analisis IAM yang disimpan sebagai rekaman entitas UDM. Tabel ini menyimpan informasi tentang pengguna, mikeross, yang mengelola tabel BigQuery bernama analytics:claim.patients.

metadata.vendor_name: "Google Cloud Platform"
metadata.product_name: "GCP IAM Analysis"
metadata.entity_type: "USER"
entity.user.userid: "mikeross"
relations[2].entity.resource.name: "analytics:claim.patients"
relations[2].entity.resource.resource_type: "TABLE"
relations[2].entity_type: "RESOURCE"
relations[2].relationship: "ADMINISTERS"

Data Sensitive Data Protection

Data log Sensitive Data Protection dalam contoh ini menyimpan informasi tentang tabel BigQuery. Berikut adalah cuplikan log Perlindungan Data Sensitif yang disimpan sebagai rekaman entitas UDM. Hal ini merepresentasikan tabel BigQuery bernama analytics:claim.patients dengan label Predicted InfoType US_SOCIAL_SECURITY_NUMBER, yang menunjukkan bahwa tabel menyimpan nomor Jaminan Sosial Amerika Serikat.

metadata.vendor_name: "Google Cloud Platform"
metadata.product_name: "GCP DLP CONTEXT"
metadata.entity_type: "RESOURCE"
metadata.description: "RISK_HIGH"
entity.resource.resource_type: "TABLE"
entity.resource.resource_subtype: "BigQuery Table"
entity.resource.attribute.cloud.environment"GOOGLE_CLOUD_PLATFORM"
entity.resource.attribute.labels[0].key: "Sensitivity Score"
entity.resource.attribute.labels[0].value: "SENSITIVITY_HIGH"
entity.resource.attribute.labels[1].key: "Predicted InfoType"
entity.resource.attribute.labels[1].value: "US_SOCIAL_SECURITY_NUMBER"
entity.resource.product_object_id: "analytics:claim.patients"

Peristiwa proxy web

Peristiwa proxy web dalam contoh ini merekam aktivitas jaringan. Cuplikan berikut adalah log proxy web Zscaler yang disimpan sebagai rekaman peristiwa UDM. Peristiwa ini mencatat peristiwa download jaringan file yang dapat dieksekusi oleh pengguna dengan nilai userid mikeross dengan nilai received_bytes adalah 514605.

metadata.log_type = "ZSCALER_WEBPROXY"
metadata.product_name = "NSS"
metadata.vendor_name = "Zscaler"
metadata.event_type = "NETWORK_HTTP"
network.http.response_code = 200
network.received_bytes = 514605
principal.user.userid = "mikeross"
target.url = "http://manygoodnews.com/dow/Client%20Update.exe"

Peristiwa EDR

Peristiwa EDR dalam contoh ini merekam aktivitas di perangkat endpoint. Cuplikan berikut adalah log CrowdStrike Falcon EDR yang disimpan sebagai rekaman peristiwa UDM. Peristiwa ini merekam peristiwa jaringan yang melibatkan aplikasi Microsoft Excel dan pengguna dengan nilai userid mikeross.

metadata.log_type = "CS_EDR"
metadata.product_name = "Falcon"
metadata.vendor_name = "Crowdstrike"
metadata.event_type = "NETWORK_HTTP"
target.process.file.full_path = "\\Device\\HarddiskVolume1\\Program Files\\C:\\Program Files\\Microsoft Office\\Office16\\EXCEL.exe"
target.url = "http://manygoodnews.com/dow/Client%20Update.exe"
target.user.userid = "mikeross"

Perhatikan bahwa ada informasi umum di seluruh catatan ini, baik ID pengguna mikeross maupun nama tabel, analytics:claim.patients. Bagian berikutnya dalam dokumen ini menunjukkan cara nilai ini digunakan dalam aturan untuk menggabungkan data.

Aturan mesin deteksi dalam contoh ini

Contoh aturan ini mendeteksi eksekusi file berbahaya oleh pengguna (Teknik MITRE ATT&CK T1204.002.

Aturan menetapkan skor risiko yang lebih tinggi untuk deteksi saat pengguna juga memiliki akses ke data sensitif di tempat lain dalam jaringan. Aturan mengorelasikan informasi berikut:

  • Aktivitas pengguna, seperti mendownload atau meluncurkan file yang dapat dieksekusi.
  • Hubungan antara resource, misalnya hubungan pengguna dengan tabel BigQuery.
  • Keberadaan informasi sensitif dalam resource yang dapat diakses pengguna, misalnya jenis data yang disimpan dalam tabel BigQuery.

Berikut deskripsi setiap bagian dalam contoh aturan.

  • Bagian events menentukan pola data yang dicari aturan dan mencakup hal berikut:

    • Grup 1 dan Grup 2 mengidentifikasi peristiwa jaringan dan EDR yang mencatat download sejumlah besar data atau file yang dapat dieksekusi yang juga terkait dengan aktivitas di aplikasi Excel.
    • Grup 3 mengidentifikasi data saat pengguna yang diidentifikasi dalam peristiwa jaringan dan EDR juga memiliki izin ke tabel BigQuery.
    • Grup 4 mengidentifikasi catatan Perlindungan Data Sensitif untuk tabel BigQuery yang dapat diakses pengguna.

    Setiap grup ekspresi menggunakan variabel $table_name atau variabel $user untuk menggabungkan rekaman yang terkait dengan pengguna dan tabel database yang sama.

  • Di bagian outcome, aturan membuat variabel $risk_score dan menetapkan nilai berdasarkan sensitivitas data dalam tabel. Dalam hal ini, arsitektur akan memeriksa apakah data diberi label dengan US_SOCIAL_SECURITY_NUMBER infoType Sensitive Data Protection.

    Bagian outcome juga menetapkan variabel tambahan seperti $principalHostname dan $entity_resource_name. Variabel ini ditampilkan dan disimpan dengan deteksi, sehingga saat Anda melihatnya di Google SecOps, Anda juga dapat menampilkan nilai variabel sebagai kolom.

  • Bagian condition menunjukkan bahwa pola mencari semua rekaman UDM yang ditentukan di bagian events.

  rule high_risk_user_download_executable_from_macro {
 meta:
   author = "Google Cloud Security Demos"
   description = "Executable downloaded by Microsoft Excel from High Risk User"
   severity = "High"
   technique = "T1204.002"

 events:
   //Group 1. identify a proxy event with suspected executable download
   $proxy_event.principal.user.userid = $user
   $proxy_event.target.url =  /.*\.exe$/ or
   $proxy_event.network.received_bytes > 102400

   //Group 2. correlate with an EDR event indicating Excel activity
   $edr_event.target.user.userid  = $user
   $edr_event.target.process.file.full_path = /excel/ nocase
   $edr_event.metadata.event_type = "NETWORK_HTTP"

   //Group 3. Use the entity to find the permissions
   $user_entity.graph.entity.user.userid = $user
   $user_entity.graph.relations.entity.resource.name = $table_name

   //Group 4. the entity is from Cloud DLP data
   $table_context.graph.entity.resource.product_object_id = $table_name
   $table_context.graph.metadata.product_name = "GCP DLP CONTEXT"

 match:
    $user over 5m

 outcome:
   //calculate risk score
   $risk_score = max(
       if( $table_context.graph.entity.resource.attribute.labels.value = "US_SOCIAL_SECURITY_NUMBER", 80)
       )
   $technique = array_distinct("T1204.002")
   $principalHostname = array_distinct($proxy_event.principal.hostname)
   $principalIp = array_distinct($proxy_event.principal.ip)
   $principalMac = array_distinct($proxy_event.principal.mac)
   $targetHostname = array_distinct($proxy_event.target.hostname)
   $target_url = array_distinct($proxy_event.target.url)
   $targetIp = array_distinct($proxy_event.target.ip)
   $principalUserUserid =  array_distinct($proxy_event.principal.user.userid)
   $entity_resource_name = array_distinct($table_context.graph.entity.resource.name)

condition:
   $proxy_event and $edr_event and $user_entity and $table_context
}

Tentang deteksi

Jika Anda menguji aturan terhadap data yang ada dan aturan tersebut mengidentifikasi pola aktivitas yang ditentukan dalam definisi, aturan tersebut akan menghasilkan deteksi. Panel Deteksi menampilkan deteksi yang dihasilkan setelah menguji aturan. Panel Deteksi juga menampilkan catatan peristiwa dan entity yang menyebabkan aturan membuat deteksi. Dalam contoh ini, data berikut ditampilkan:

  • Google Cloud Entitas UDM Analisis IAM
  • Entitas UDM Sensitive Data Protection
  • Peristiwa UDM proxy web Zscaler
  • Peristiwa UDM CrowdStrike Falcon EDR

Di panel Deteksi, pilih rekaman peristiwa atau entity untuk melihat detailnya.

Deteksi juga menyimpan variabel yang ditentukan di bagian outcome aturan. Untuk menampilkan variabel di panel Deteksi, pilih Kolom, lalu pilih satu atau beberapa nama variabel dari menu Kolom. Kolom yang dipilih akan muncul di panel Deteksi.

Langkah berikutnya

Untuk menulis aturan kustom, lihat Ringkasan bahasa YARA-L 2.0.

Untuk membuat analisis kontekstual kustom, lihat Membuat analisis kontekstual

Untuk menggunakan analisis ancaman standar, lihat Menggunakan deteksi pilihan Google SecOps.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.