Memformat data log sebagai UDM
Kolom peristiwa UDM umum
Semua peristiwa Model Data Terpadu (UDM) memiliki serangkaian kolom dan pesan umum yang dapat diisi oleh partner, terlepas dari jenis peristiwanya. Kolom ini meliputi:
- Entitas: Perangkat, pengguna, dan proses yang terlibat dalam suatu peristiwa.
- Metadata acara: Kapan acara terjadi, jenis acara, dari mana asalnya, dll.
- Metadata jaringan: Metadata jaringan tingkat tinggi untuk peristiwa berorientasi jaringan serta detail protokol dalam sub-pesan:
- Metadata email: Informasi di kolom kepada, dari, cc, bcc, dan kolom email lainnya.
- Metadata HTTP: Metode, referral_url, useragent, dll.
- Hasil keamanan: Klasifikasi atau tindakan apa pun yang dilakukan oleh produk keamanan.
- Metadata tambahan: Data peristiwa khusus vendor penting yang tidak dapat direpresentasikan secara memadai dalam bagian formal model UDM dapat ditambahkan menggunakan kolom payload json bentuk bebas.
Bagian berikut menjelaskan cara mengenkode dan memformat peristiwa untuk UDM.
Encoding UDM
Peristiwa UDM harus dikirimkan ke Google Security Operations menggunakan salah satu format berikut:
Untuk tujuan dokumen ini, kolom ditampilkan menggunakan notasi titik. Misalnya, sintaksis JSON berikut:
{"menu":
{
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"}
]
}
}
}
Didokumentasikan sebagai berikut:
menu.id = "file"
menu.value = "File"
menu.popup.menuitem.value = "New"
menu.popup.menuitem.onclick = "CreateNewDoc()"
Memformat Peristiwa UDM
Untuk memformat peristiwa UDM agar siap dikirim ke Google, Anda harus menyelesaikan langkah-langkah berikut:
- Tentukan jenis peristiwa—Jenis peristiwa yang Anda pilih akan menentukan kolom mana yang juga harus Anda sertakan dengan peristiwa.
- Tentukan stempel waktu peristiwa—Tentukan stempel waktu peristiwa.
- Tentukan kata benda (entitas)—Setiap peristiwa harus menyertakan setidaknya satu kata benda yang mendeskripsikan perangkat atau pengguna peserta yang terlibat dalam peristiwa tersebut.
- Tentukan hasil keamanan—(Opsional) Tentukan hasil keamanan dengan menyertakan detail tentang risiko dan ancaman keamanan yang ditemukan oleh sistem keamanan serta tindakan yang diambil untuk mengurangi risiko dan ancaman tersebut.
- Isi informasi peristiwa yang wajib diisi dan opsional menggunakan kolom peristiwa UDM.
Tentukan jenis acara
Nilai terpenting yang ditentukan untuk setiap peristiwa yang dikirimkan dalam format UDM adalah jenis peristiwa, yang ditentukan menggunakan salah satu kemungkinan nilai yang tersedia untuk Metadata.event_type. Nilai ini mencakup nilai seperti PROCESS_OPEN, FILE_CREATION, USER_CREATION, NETWORK_DNS, dll. (untuk daftar lengkapnya, lihat Metadata.event_type. Setiap jenis peristiwa mengharuskan Anda juga mengisi serangkaian kolom dan nilai lainnya dengan informasi yang terkait dengan peristiwa asli. Lihat Kolom Wajib dan Opsional untuk Setiap Jenis Peristiwa UDM untuk mengetahui detail kolom yang harus disertakan untuk setiap jenis peristiwa. Contoh berikut mengilustrasikan cara menentukan PROCESS_OPEN sebagai jenis peristiwa menggunakan notasi teks Proto3:
metadata {
event_type: PROCESS_OPEN
}
Menentukan stempel waktu peristiwa
Anda harus menentukan stempel waktu GMT untuk setiap peristiwa yang dikirimkan dalam format UDM menggunakan Metadata.event_timestamp. Stempel harus dienkode menggunakan salah satu standar berikut:
- Untuk JSON, gunakan RFC 3339
- Stempel waktu Proto3
Contoh berikut mengilustrasikan cara menentukan stempel waktu menggunakan format RFC 3339. Untuk contoh ini, yyyy-mm-ddThh:mm:ss+hh:mm—tahun, bulan, hari, jam, menit, detik, dan selisih waktu dari waktu UTC. Selisih waktu dari UTC adalah minus 8 jam, yang menunjukkan PST.
metadata {
event_timestamp: "2019-09-10T20:32:31-08:00"
}
Tentukan kata benda (entitas)
Untuk setiap peristiwa UDM, Anda harus menentukan satu atau beberapa kata benda. Kata benda mewakili peserta atau entitas dalam peristiwa UDM. Misalnya, kata benda dapat berupa perangkat/pengguna yang melakukan aktivitas yang dijelaskan dalam peristiwa, atau perangkat/pengguna yang menjadi target aktivitas tersebut yang dijelaskan dalam peristiwa. Kata benda juga dapat berupa lampiran atau URL. Terakhir, kata benda juga dapat digunakan untuk mendeskripsikan perangkat keamanan yang mengamati aktivitas yang dijelaskan dalam peristiwa (misalnya, proxy email atau router jaringan).
Peristiwa UDM harus memiliki satu atau beberapa kata benda berikut yang ditentukan:
principal: Mewakili entitas yang bertindak atau perangkat yang memulai aktivitas yang dijelaskan dalam peristiwa. Prinsipal harus menyertakan setidaknya satu detail mesin (nama host, MAC, IP, port, ID khusus produk seperti GUID mesin CrowdStrike) atau detail pengguna (misalnya, nama pengguna), dan secara opsional menyertakan detail proses. Tidak boleh menyertakan salah satu kolom berikut: email, file, kunci atau nilai registri.
Jika semua peristiwa terjadi di mesin yang sama, mesin tersebut hanya perlu dideskripsikan di principal. Mesin tidak perlu dideskripsikan juga di target atau di src.
Contoh berikut menunjukkan cara mengisi kolom principal:
principal {
hostname: "jane_win10"
asset_id: "Sophos.AV:C070123456-ABCDE"
ip: "10.0.2.10"
port: 60671
user { userid: "john.smith" }
}
Contoh ini memberikan detail tentang perangkat dan pengguna yang menjadi pelaku utama dalam peristiwa tersebut. Informasi ini mencakup alamat IP, nomor port, dan nama host perangkat, beserta ID aset khusus vendor (dari Sophos), yang merupakan ID unik yang dihasilkan oleh produk keamanan pihak ketiga.
target: Mewakili perangkat target yang dirujuk oleh peristiwa, atau objek di perangkat target. Misalnya, dalam koneksi firewall dari perangkat A ke perangkat B, A dideskripsikan sebagai entity utama dan B dideskripsikan sebagai target. Untuk injeksi proses oleh proses C ke dalam proses target D, proses C dijelaskan sebagai prinsipal dan proses D dijelaskan sebagai target.
Akun utama versus target di UDM
Contoh berikut menggambarkan cara kolom untuk target diisi:
target {
ip: "198.51.100.31"
port: 80
}
Sekali lagi, jika ada informasi lainnya yang tersedia, seperti nama host, alamat IP tambahan, alamat MAC, ID aset eksklusif, dll., informasi tersebut juga harus disertakan dalam target.
Principal dan target (serta kata benda lainnya) dapat mereferensikan aktor di mesin yang sama. Misalnya, proses A (principal) yang berjalan di mesin X bertindak pada proses B (target) juga di mesin X.
- src: Merepresentasikan objek sumber yang ditindaklanjuti oleh peserta bersama dengan konteks perangkat atau proses untuk objek sumber (mesin tempat objek sumber berada). Misalnya, jika pengguna U menyalin file A di mesin X ke file B di mesin Y, file A dan mesin X akan ditentukan di bagian src peristiwa UDM.
- intermediary: Menampilkan detail tentang satu atau beberapa perangkat perantara yang memproses aktivitas yang dijelaskan dalam peristiwa. Hal ini mencakup detail perangkat tentang server proxy, server relai SMTP, dll.
- observer: Merepresentasikan perangkat pengamat (misalnya, packet sniffer atau pemindai kerentanan berbasis jaringan), yang bukan perantara langsung, tetapi yang mengamati dan melaporkan peristiwa yang dimaksud.
- about: Digunakan untuk menyimpan detail tentang semua objek yang dirujuk oleh peristiwa yang tidak dijelaskan dalam participant, src, target, intermediary, atau observer. Misalnya, ID ini dapat digunakan untuk melacak hal berikut:
- Lampiran file email
- Domain/URL/IP yang disematkan dalam isi email
- DLL yang dimuat selama peristiwa PROCESS_LAUNCH
Bagian entitas peristiwa UDM mencakup informasi tentang berbagai peserta (perangkat, pengguna, objek seperti URL, file, dll.) yang dijelaskan dalam peristiwa. UDM Google Security Operations memiliki persyaratan wajib saat mengisi kolom Kata Benda. Persyaratan ini dijelaskan dalam Kolom Wajib dan Opsional untuk Setiap Jenis Peristiwa UDM. Kumpulan kolom entitas yang harus diisi berbeda-beda berdasarkan jenis peristiwa.
Menentukan hasil keamanan
Anda dapat secara opsional menentukan hasil keamanan dengan mengisi kolom SecurityResult, termasuk detail tentang risiko dan ancaman keamanan yang ditemukan oleh sistem keamanan serta tindakan yang diambil untuk memitigasi risiko dan ancaman tersebut. Berikut adalah contoh beberapa jenis peristiwa keamanan yang memerlukan pengisian kolom SecurityResult:
- Proxy keamanan email mendeteksi upaya phishing (MAIL_PHISHING) dan memblokir (BLOCK) email tersebut.
- Firewall proxy keamanan email mendeteksi dua lampiran yang terinfeksi (SOFTWARE_MALICIOUS) dan mengarantina serta membersihkan (QUARANTINE, ALLOW_WITH_MODIFICATION) lampiran ini, lalu meneruskan email yang telah dibersihkan.
- Sistem SSO memfasilitasi login (AUTH_VIOLATION) yang diblokir (BLOCK).
- Sandbox malware mendeteksi spyware (SOFTWARE_MALICIOUS) dalam lampiran file lima menit setelah file dikirim (ALLOW) ke kotak masuk pengguna.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.