Menggunakan data Perlindungan Data Sensitif dalam analisis berbasis konteks
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 malicious 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 Analisis Google Cloud IAM.
- Log Sensitive Data Protection yang berisi label tentang jenis dan sensitivitas data yang disimpan.
Google Security Operations harus dapat mengurai data mentah menjadi data peristiwa dan entity Unified Data Model (UDM).
Untuk informasi tentang cara menyerap data Perlindungan Data Sensitif ke Google Security Operations, lihat Mengekspor data Perlindungan Data Sensitif ke Google Security Operations.
Data Analisis Google Cloud IAM
Data log Analisis IAM Google Cloud dalam contoh ini mengidentifikasi pengguna di organisasi dan merekam hubungan yang dimiliki setiap pengguna dengan sistem lain di jaringan. Berikut adalah cuplikan log Analisis IAM yang disimpan sebagai data entity 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 Perlindungan Data Sensitif dalam contoh ini menyimpan informasi tentang tabel BigQuery. Berikut adalah cuplikan log Perlindungan Data Sensitif yang disimpan sebagai kumpulan data entity UDM. Ini mewakili tabel BigQuery yang disebut 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 data peristiwa UDM. Peristiwa ini merekam
peristiwa download jaringan file yang dapat dieksekusi oleh pengguna dengan nilai userid
mikeross
dengan nilai received_bytes
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 EDR CrowdStrike Falcon yang disimpan sebagai data 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 data 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 ini menetapkan skor risiko yang lebih tinggi ke deteksi saat pengguna juga memiliki akses ke data sensitif di tempat lain di jaringan. Aturan ini menghubungkan informasi berikut:
- Aktivitas pengguna, seperti download atau peluncuran file yang dapat dieksekusi.
- Hubungan antara resource, misalnya hubungan pengguna dengan tabel BigQuery.
- Adanya informasi sensitif dalam resource yang dapat diakses pengguna, misalnya, jenis data yang disimpan dalam tabel BigQuery.
Berikut adalah deskripsi setiap bagian dalam contoh aturan.
Bagian
events
menentukan pola data yang dicari oleh aturan dan mencakup hal berikut:- Grup 1 dan Grup 2 mengidentifikasi peristiwa jaringan dan EDR yang menangkap download data dalam jumlah besar atau file yang dapat dieksekusi yang juga terkait dengan aktivitas di aplikasi Excel.
- Grup 3 mengidentifikasi data tempat pengguna yang diidentifikasi dalam peristiwa jaringan dan EDR juga memiliki izin ke tabel BigQuery.
- Grup 4 mengidentifikasi kumpulan data Perlindungan Data Sensitif untuk tabel BigQuery yang dapat diakses pengguna.
Setiap grup ekspresi menggunakan variabel
$table_name
atau variabel$user
untuk menggabungkan data 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, validator akan memeriksa apakah data diberi label dengan infoType Sensitive Data ProtectionUS_SOCIAL_SECURITY_NUMBER
.Bagian
outcome
juga menetapkan variabel tambahan seperti$principalHostname
dan$entity_resource_name
. Variabel ini ditampilkan dan disimpan dengan deteksi, sehingga saat melihatnya di Google Security Operations, Anda juga dapat menampilkan nilai variabel sebagai kolom.Bagian
condition
menunjukkan bahwa pola mencari semua data UDM yang ditentukan di bagianevents
.
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 Detection menampilkan deteksi yang dihasilkan setelah menguji aturan. Panel Detection juga menampilkan data peristiwa dan entity yang menyebabkan aturan membuat deteksi. Dalam contoh ini, data berikut ditampilkan:
- Entitas UDM Analisis Google Cloud IAM
- Entitas UDM Perlindungan Data Sensitif
- Peristiwa UDM proxy web Zscaler
- Peristiwa UDM CrowdStrike Falcon EDR
Di panel Detection, pilih data peristiwa atau entity untuk melihat detailnya.
Deteksi juga menyimpan variabel yang ditentukan di bagian outcome
aturan. Untuk menampilkan variabel di panel Detection, pilih
Columns, lalu pilih satu atau beberapa nama variabel dari
menu Columns. Kolom yang dipilih akan muncul di panel Detection.
Langkah selanjutnya
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 Security Operations.